INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Resampling eines Signalverlaufes



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

24.10.2011, 08:40 (Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2011 08:42 von beginner85.)
Beitrag #1

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



Resampling eines Signalverlaufes
Hallo zusammen,

ich erzeuge 2 Signalverläufe (jeweils ein Sinus) mit unterschiedlichen Frequenze und unterschiedliche Signallänge. Diese möchte ich analog und zeitgleich auf meiner DAQ-USB-6363 ausgeben.
Da dies leider nicht möglich ist, weil mein Gerät nur eine Clock hat, muss die Samplerate und Anzahl der Samples identisch sein.

Um beide Signalverläufe auf eine identische Länge zu bekommen, messe ich die Dauer beider Signale und bilde die Differenz und erzeuge und hänge eine Signalform (bestehend nur aus Nullen) an das Signal der kürzeren Dauer.

Im Anschluss taste ich beide Signale erneut ab. Ich nehme kleinere das Abtastintervall der Signalverläufe.

Um die Signal auszugeben, verwende ich die Standard DAQmx Visa's. Beim Timing muss ich verschiedene Parameter angeben, wie Samples/Kanal und Sample-rate.
Die Anzahl der Samples berechne ich mir wie folgt. Dauer des Signals/Abtastintervall.
Die Samplerate berechne ich Sollfrequenz mal Anzahl der Samples.

Leider ist die Ausgabefrequenz um ein vielfaches zu Hoch. Ich vermute das es an der Samplesrate liegt, bzw. das ich sie falsch berechne.

Ich hab die Ausgabe erst mal zur Vereinfachung nur auf 1 Signal beschränkt.

Hilfe von euch wäre super.

Gruß

PS: VI ist im Anhang


Angehängte Datei(en)
10.0 .vi  Resampling.vi (Größe: 75,93 KB / Downloads: 145)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.10.2011, 09:26
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Resampling eines Signalverlaufes
Könntest Du der Einfachheit halber, damit das VI läuft, mal die von Dir verwendeten Parameter-Werte für Wave1 und Wave2 posten? Noch besser wäre natürlich, wenn Du das VI editierst und diese Parameter als Standardwerte im VI selbst drin hättest.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.10.2011, 10:47
Beitrag #3

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



RE: Resampling eines Signalverlaufes
Parameter für Wave 1:
Frequenz:50
Amplitude: 1
Phase: 0
#samples: 10

Parameter für Wave 2:
Frequenz:10
Amplitude: 1
Phase: 0
#samples: 10
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.10.2011, 12:13
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Resampling eines Signalverlaufes
Habe mirs kurz angesehen.
Bei den Waveforms ist dt=0.002; die Rate 1/dt wäre dann 500. Du gibst aber aus unerfindlichen Gründen auf das DAQmx Timing ein Rate von 2000. Nimm doch für das Timing-VI einfach den Typ "Signalverlauf verwenden" und schließe dort die Waveform an.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.10.2011, 14:08
Beitrag #5

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



RE: Resampling eines Signalverlaufes
Hi,
hab das Problem jetzt mehr oder weniger gelöst. Eine Sache ist mir noch aufgefallen.

Es gibt die Funktion "Signalverlaufsdauer". Diese scheint allerdings nicht richtig zu rechnen. Habe ich 5 Perioden einer Sinusschwingung mit einer Frequenz von 50 Herz, so ist die gesamte Signaldauer t=0,1 Sekunden. Nutze ich diese Funktion, so wird mir allerdings ein Wert von 0,098 angezeigt.
Gibt es eine Einstellung die mir den korrekten Wert ausgibt?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.10.2011, 14:47
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.432
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Resampling eines Signalverlaufes
Hallo beginner,

Zitat:so ist die gesamte Signaldauer t=0,1 Sekunden. Nutze ich diese Funktion, so wird mir allerdings ein Wert von 0,098 angezeigt.
Um auf eine Zeitdauer von 0,1s zu kommen, müsstest du schon den ersten Wert der 6. Schwingung mit ausgeben...

Erläuterung:
Eine volle Schwingung dauert (bei 50Hz) 20ms. Durch die Quantisierung sowohl in Zeit als auch Amplitude hat dein Signalverlauf für eine volle Schwingung seinen ersten Wert bei t=0 ms und den letzten bei t=19,x ms! Der Wert bei 20ms gehört dann schon zur nächsten Schwingung...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.10.2011, 15:22 (Dieser Beitrag wurde zuletzt bearbeitet: 25.10.2011 15:31 von beginner85.)
Beitrag #7

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



RE: Resampling eines Signalverlaufes
Hi,

mittlerweile habe ich mein Programm erweitert. Ich gebe auf 3 verschiedenen Kanälen unterschiedliche Signalverläufe aus.
Je nachdem welche Parameter ich verwende entsteht ein Fehler.

Hier meine verwendeten Parameter:

Wave1:
Frequenz: 125kHz
Amplitude: 1
Phase: 0
#samples: 8
Anzahl Schwingungen: 70

Wave2:
Frequenz: 125kHz
Amplitude: 1
Phase: 0
#samples: 8
Anzahl Schwingungen: 20

Wave3:
Frequenz: 125kHz
Amplitude: 1
Phase: 0
#samples: 8
Anzahl Schwingungen: 30

Schaue ich mir die Anzahl der Elemente die in dem Signalverläufe enthalten sind, so fehlt exakt ein Element in dem Signalverlauf, dem nix angehangen wird.
Ändere ich die Anzahl der Schwingungen von 70 auf 65 bei Wave 1 so funktioniert wieder alles und die Anzahl der Element stimmen überein. Ich hab schon überlegt, ob es an der Anzahl der For-Schleifendurchläufe liegt ob ich da auf und ab Runden muss. Komischerweise stimmen die Anzahl der Elemente nicht überein und es hängt von der Anzahl der Perioden ab, mal geht es und mal nicht. Bin bisher leider noch auf keine Lösung gekommen.

Gruß


Angehängte Datei(en)
10.0 .vi  Resampling_V_1_1.vi (Größe: 71,69 KB / Downloads: 163)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2011, 09:30
Beitrag #8

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



RE: Resampling eines Signalverlaufes
Der Fehler scheint bei einer erneuten Abtastung zu liegen. Taste ich das selbe Signal erneut mit gleichem dt ab, so erhalte ich einen Stützpunkt mehr und damit ist die ausgabe nicht mehr möglich.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: