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 

Pause zwischen zwei Sinc Signalen generieren



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!

28.07.2022, 16:06
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Pause zwischen zwei Sinc Signalen generieren
Hallo Lea,

Zitat:Wie ich bereits ja schon erwähnt habe, möchte ich das zweite Sinc Signal 17 mal wiederholen. (Siehe Abbildung) Also 17 Iterationen mit denselben Werten (Sinc Pulsen) mit jeweils einer Pausenzeit von 5,7 ms (= 57 Samples bei 10kS/s). Ich hatte ja oben im Beispiel die For-Schleife dafür verwendet. Leider verstehe ich auch nach durchlesen der Handbücher von LabVIEW nicht, warum die For-Schleife das Signal nicht 17 mal wiederholt, sondern nur 1 mal. Hat das etwas mit dem Array zu tun? Oder muss ich doch eine andere Schleife verwenden?
Die FOR-Loop ist schon perfekt, wenn man einen Code x-mal wiederholen will.
Dein Problem ist, dass du die Tunnel nicht korrekt konfiguriert hast - und das ist Basiswissen Arrayhandling+Schleifen!

Schau mal hier:
   

Zitat:Du meinst bestimmt „auto start“ oder?
Ja.

Zitat:Also delta t ist ja nur ein Sample-Intervall, je größer delta t ist, desto schmaler wird die Main lobe meines Sinc Signals. Und wenn ich das so wie du in dem Beispiel oben mache und eine Kehrwertfunktion für das delta t verwende und 1/Samplerate teile, dann würde ich bei delta t immer den Kehrwert der Sample Rate einstellen. Also bei 10 kS/s sind das dann 0,0001. Sind das dann 0,1 ms?
Für die Sinc-Puls-Funktion ist dt ein einheitenloser Wert, der zwischen 0 und 1 liegen sollte. So steht es in der Hilfe zur Funktion!
Die einfachen Signalgenerier-Funktionen arbeiten üblicherweise ohne Angabe eine Samplerate, man erstellt ja "nur" ein "Array of samples".

Wenn du aber mit Waveforms arbeitest, musst du irgendwann/-wo eben doch eine Samplerate angeben und dann kommt die Kehrwert-Funktion zur Samplerate ins Spiel…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.07.2022, 09:14
Beitrag #12

mriworld Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jun 2022

2021
-
DE



RE: Pause zwischen zwei Sinc Signalen generieren
Hallo Gerd,

stimmt! Das mit dem Tunnel hatte ich leider vergessen.
Vielen Dank.

Jetzt läuft soweit alles.

Ich würde nun gerne meine Sinc Signale so einstellen, dass das der erste Sinc genau 2,2 ms und der andere 0,8 ms dauert. Dafür müsste ich bei dem ersten Sinc ja die Samples auf 22 und bei dem in der For Loop die Samples auf 8 setzen. Leider kommt dann bei der Waveform nur ein ganz komischer Graph heraus. (VI ist angehangen)
Oder habe ich die Samples doch falsch eingestellt und man muss die Zeiten anders einstellen?

Zitat:Für die Sinc-Puls-Funktion ist dt ein einheitenloser Wert, der zwischen 0 und 1 liegen sollte. So steht es in der Hilfe zur Funktion!
Die einfachen Signalgenerier-Funktionen arbeiten üblicherweise ohne Angabe eine Samplerate, man erstellt ja "nur" ein "Array of samples".

Wenn du aber mit Waveforms arbeitest, musst du irgendwann/-wo eben doch eine Samplerate angeben und dann kommt die Kehrwert-Funktion zur Samplerate ins Spiel…
Okay so ganz verstehe ich es leider immer noch nicht. Die Hilfe gibt mir leider auch nicht mehr Aufschluss. Hast du vielleicht eine Quelle, wie ich mich da mehr einlesen kann?

Danke.


Angehängte Datei(en)
20.0 .vi  RFpulse_pre9.vi (Größe: 31,79 KB / Downloads: 80)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2022, 14:17
Beitrag #13

mriworld Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jun 2022

2021
-
DE



Signalerzeugung Trapez Signal überlagert
Hallo,

ich bin gerade dabei ein Trapez Signal aus mehreren Ramp pattern zu erstellen. Dabei muss ich nun zwei Trapeze (die letzten beiden) ein Stück übereinander lagern (Siehe Bild). Zwischen dem zweiten und dritten Trapez habe ich leider auch eine Pause von 2 Samples. Weiß einer warum die dort auftritt? Gibt es eine Möglichkeit das ich das Signal so darstellen kann, wie im angehangenem Bild?

Danke im Voraus.


Angehängte Datei(en) Thumbnail(s)
   

20.0 .vi  Gradient_puls_SubVI.vi (Größe: 25,57 KB / Downloads: 84)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2022, 15:14 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2022 15:16 von GerdW.)
Beitrag #14

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signalerzeugung Trapez Signal überlagert
Hallo Lea,

die Grundzüge haben wir in deinem anderen Thread doch nun schon ausreichend besprochen, oder?

Schau mal hier:
   

Zitat:Zwischen dem zweiten und dritten Trapez habe ich leider auch eine Pause von 2 Samples. Weiß einer warum die dort auftritt?
Wer soll sich denn bei diesem Mix aus "normaler" Rampe, Rechteck-Funktion und dann nach diesen ganzen "increasing/decreasing ramps" zurechfinden?
Meinst du nicht auch, ein einfacher Programm-Code ist im Nachgang auch einfacher zu verstehen und zu debuggen???

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2022, 15:19 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2022 16:01 von GerdW.)
Beitrag #15

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Pause zwischen zwei Sinc Signalen generieren
Hallo Lea,

Zitat:Dafür müsste ich bei dem ersten Sinc ja die Samples auf 22 und bei dem in der For Loop die Samples auf 8 setzen. Leider kommt dann bei der Waveform nur ein ganz komischer Graph heraus. (VI ist angehangen) Oder habe ich die Samples doch falsch eingestellt und man muss die Zeiten anders einstellen?
Wie ich dir oben schon versucht habe zu erklären, bedeutet der Input dt beim Sinc-Puls eben nicht die Samplerate, sondern das, was in der Hilfe dazu beschrieben steht…

Versuche doch erstmal, in einem kleinen VI genau den Puls zu erzeugen, den du da haben willst: ein Sinc-Pattern mit genau 22 Samples… Und überlege dir auch, wieviele Schwingungen du sinnvoll mit diesen 22 Samples darstellen kannst: Nyquist lässt grüßen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.07.2022, 11:19
Beitrag #16

mriworld Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jun 2022

2021
-
DE



RE: Pause zwischen zwei Sinc Signalen generieren
Hallo Gerd,

super danke! Leider habe ich nicht so viel Erfahrung mit Arrays, aber dein Beispiel ist deutlich übersichtlicher. Big Grin
Ich habe jetzt noch eine kleine Frage. Leider löschen sich die letzten eingestellten Numeric Controls Werte bei mir immer nachdem ich das VI schließe, obwohl ich es immer vorher speichere.
Da ich nicht jedes mal die Werte wieder neu eingeben will, wäre es vorteilhaft, wenn meine letzten eingestellten Werte im Array gespeichert werden. Da gibt es doch bestimmt ein ganz leichten Trick oder?

Danke und ein schönes Wochenende!

Und mit dem Sinc werde ich es mal versuchen so zu testen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.07.2022, 20:10
Beitrag #17

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Pause zwischen zwei Sinc Signalen generieren
Hallo Lea,

hast du schon mal von den Defaultwerten bei controls gehört? Die kann man pro control einzeln setzen (Rechtsklick) oder für alle (Edit Menü)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.08.2022, 13:43
Beitrag #18

mriworld Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jun 2022

2021
-
DE



RE: Pause zwischen zwei Sinc Signalen generieren
Hallo Gerd,

danke jetzt ist es auch viel einfacher mit den Default Values!

Ich habe die drei Trapezfunktionen nun als SubVIs in das Top Level VI eingefügt. Bei Ausführung des VIs ist der „Fehlercode 50103 occured at DAQmx Start Task.vi: 7220001“ aufgetaucht. Hat das vielleicht mit den verschiedenen SubVIs zu tun? Genug Ausgänge hat mein Device (ich benutze eine NI USB-6363 Messwerterfassungskarte). Später soll auch noch die Sinc Funktion in mein VI.

Außerdem meintest du ja ich sollte die Samplearrays als Waveform umändern, damit ich auch mit realen Frequenzen arbeiten kann. Ist das so richtig, wie ich es gemacht habe? Bei den Sinc Pulsen hatte ich ja für dt=0,0001 für das delta t. Brauche ich die Einstellung für die Trapezfunktionen dann überhaupt?

Ich hatte eigentlich auch vor, dass die Cluster Array’s für die Trapez Funktionen nicht mit im Top-Level VI stehen, damit es etwas übersichtlicher im Frontpanel ist, nur leider brauche ich diese ja als Eingang für mein SubVI. Oder geht das doch, dass ich die Array’s durch irgendeinen Trick aus dem Frontpanel herausnehmen kann?

Vielen Dank im Voraus.

Gruß
Lea


Angehängte Datei(en)
20.0 .vi  Gradienten_pulse_TopLevelVI.vi (Größe: 58,43 KB / Downloads: 84)

20.0 .vi  Gradienten_Echo17_M (SubVI).vi (Größe: 24 KB / Downloads: 85)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.08.2022, 20:19
Beitrag #19

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Pause zwischen zwei Sinc Signalen generieren
Hallo Lea,

Zitat:Bei Ausführung des VIs ist der „Fehlercode 50103 occured at DAQmx Start Task.vi: 7220001“ aufgetaucht. Hat das vielleicht mit den verschiedenen SubVIs zu tun?
Nein.

Zitat:Genug Ausgänge hat mein Device (ich benutze eine NI USB-6363 Messwerterfassungskarte).
Das bedeutet aber nicht, dass du diese AOs dann einzeln in DAQmxTasks verpacken kannst.
Warum erstellst du nicht nur einen DAQmxTask mit 3 AO-Kanälen?

Zitat:Außerdem meintest du ja ich sollte die Samplearrays als Waveform umändern, damit ich auch mit realen Frequenzen arbeiten kann. Ist das so richtig, wie ich es gemacht habe? Bei den Sinc Pulsen hatte ich ja für dt=0,0001 für das delta t. Brauche ich die Einstellung für die Trapezfunktionen dann überhaupt?
Wie ich jetzt schon mehr als einmal geschrieben habe: bei der Sinc-Funktion hat der deltaT-Eingang eine andere Bedeutung…
Das dt definiert die Samplerate in den Waveforms, von daher benötigst du es auch bei den Trapez-/Rampen-Funktionen, wenn du eine Waveform erstellst!

Zitat:Ich hatte eigentlich auch vor, dass die Cluster Array’s für die Trapez Funktionen nicht mit im Top-Level VI stehen, damit es etwas übersichtlicher im Frontpanel ist, nur leider brauche ich diese ja als Eingang für mein SubVI. Oder geht das doch, dass ich die Array’s durch irgendeinen Trick aus dem Frontpanel herausnehmen kann?
Was für einen "Trick" stellst du dir denn vor?
- Du könntest die Controls alle in Konstanten umwandeln, dann siehst du sie nur noch im Blockdiagramm - und kannst sie auch nur dort editieren…
- Du könntest mit Konfigurationsdateien arbeiten (CSV-Dateien?), die der User bearbeiten könnte. Dann liest dein Programm die Waveform-Einstellungen aus diesen Dateien ein und generiert die Waveforms…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.08.2022, 11:53
Beitrag #20

mriworld Offline
LVF-Grünschnabel
*


Beiträge: 26
Registriert seit: Jun 2022

2021
-
DE



RE: Pause zwischen zwei Sinc Signalen generieren
Hallo Gerd,

das mit den DAQmxTask mit 3 AO-Kanälen habe ich direkt versucht umzusetzen.
Leider kann ich die Ausgänge meiner SubVIs nun nicht mehr mit dem Daten Eingang des DAQmx Write verbinden (siehe Bild). Die Verbindungen haben nun verschiedene Datentypen. Muss ich zum Zusammenfassen der 3 Signale noch etwas dazwischen schalten?

Zitat:- Du könntest die Controls alle in Konstanten umwandeln, dann siehst du sie nur noch im Blockdiagramm - und kannst sie auch nur dort editieren…
Das habe ich mir schon gedacht. Werde ich dann am Ende machen wenn alles steht.

Danke.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  variable Mittelwertbildung von verschiedenen Signalen hrathke 6 4.468 30.03.2020 09:28
Letzter Beitrag: hrathke
  Zeitstempel aus Signalverlauf generieren PeteFlosse 4 4.088 13.06.2017 12:47
Letzter Beitrag: PeteFlosse
Wink darstellen von Signalen in 4 Quadranten hop 1 4.643 03.01.2017 11:23
Letzter Beitrag: GerdW
  Wie ein Signal generieren? agroell 12 7.054 13.02.2015 08:33
Letzter Beitrag: GerdW
  XY Diagramm aus zwei Signalen Gast 2 4.042 02.06.2014 12:37
Letzter Beitrag: Lucki
  Werte zur Systemanregung generieren s0n1c 1 2.897 17.12.2012 20:13
Letzter Beitrag: GerdW

Gehe zu: