LabVIEWForum.de
Hüllkurve ausgeben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Hüllkurve ausgeben (/Thread-Huellkurve-ausgeben)



Hüllkurve ausgeben - beginner85 - 16.11.2011 13:25

Hallo zusammen,

ich erzeuge ein amplituden Moduliertes Signal und gebe es auf einem analogen Kanal aus (DAQ USB X-Series 6363).
Nun möchte ich mir die dazugehörige Hüllkurve auf einem digitalen Port ausgeben.
Das zu modulierende Signal liegt in Form eines Arrays vor.

Anzahl der Schwinungen Amplitude
5 1
10 0
5 1

Für die Umsetzung hab ich mir folgendes überlegt:
Liegen z.B. 5 Perioden mit eine Amplitude von 1 vor, so schaltet Ich den digitalen Output für die Anzahl von x Schwinungen auf high.
Liegen z.B. 10 Perioden mit einer Amplitude von 0 vor, so schaltet Ich den digitalen Output für die Anzahl von x Schwinungen auf low.

Ist es möglich einen Rechteckgenerator zu verwenden bei dem man das Tastverhältnis einstellen kann und damit eine Digitale Waveform erzeugt. Andere Möglichkeiten fallen mir leider nicht ein.
Für weitere Anregungen wäre ich sehr dankbar.


RE: Hüllkurve ausgeben - beginner85 - 16.11.2011 17:05

Hallo zusammen,

hab mittlerweile eine kleine Zwischenlösung die noch nicht 100%tig funktioniert.

1.Frage:
Wenn ich bei der Wandlung von digital nach Analog die Anzahl der Leitungen auf 1 setze, wird mein komplettes Signal auf high-Level gesetzt.

2. Frage:
Warum klappt die Ausgabe nicht. Hab ein ähnliches Programm schon mal für die analoge Ausgabe geschrieben, muss ich noch irgendwelche Parameter anpassen?

Ich hab das Programm mal in den Anhang gepackt.

In das Array habe ich die Beispielfolge 10101010 geschrieben.
Frequenz: 125000 Hz
Supporting Points: 10


RE: Hüllkurve ausgeben - M@rRy - 17.11.2011 08:04

Moin,

hängs doch bitte nochmal als Bild an, bin auch neugierig. Zu deiner Frage eins, Supporting Points: 10 und eine Leitung? Sicher das das passt? Spiel mal rum, am besten änderst du deine Mäandafolge mal so das sie mir null beginnt, wenn du dann ein komplettes Low-Signal bekommst weißte doch bescheid.

Ich muss auch gestehen das ich nicht wirklich verstehe warum du einen digitalen Ausgang nutzten möchtest um deine NF darzustellen. Ich meine du hast deine HF ja scheinbar schon ausgegeben, da könnte man einen (nebenbei total billigen) Hüllkurvendemodulator aus maximal drei Bauteilen hintersetzen oder aber einen weiteren analogen Ausgang nutzen, so nimmst du ja dein eigentlich zu übertragendes Signal, was du einmal moduliert und unmoduliert hast und gibst das unmodulierte über eine zuweisung aus, das heißt du musst extern ja wieder wandeln um das eigentliche Signal zu bekommen oder wie stellst du dir das ganze vor? Also ein Bild und vielleicht eine kleine Aufklärung, wenns die anderen verstehen wenigstens für mich, wäre ganz schön.

Gruß
Daniel

PS: Du sprichst von einer Art Waveform mit einstellbarem Tastverhältnis, warum überhaupt ein digitaler Ausgang? Was ist mit einem Counter? Feste Freqeunz bei sich ändernem Duty Cycle und einfacher kannst du es gar nicht mehr haben.


RE: Hüllkurve ausgeben - beginner85 - 17.11.2011 15:40

Hallo,

ich hab mal 2 Bilder vom Frontpanel und dem Blockdiagramm hochgeladen.

Zur Antwort auf deine Frage warum ich 10 Supportingpoints nehme. Dieser Wert gilt nur für die Erstellung des analogen Signalverlaufes. Ich weiss leider nicht wie ein digitales Signal erstelle. Vielleicht könnte mir ja da einer einen Tip geben.

Zur Antwort auf Frage Nummer zwei: Ich möchte das "digitale Hüllkurvensignal" aufjeden Fall mit meiner NI-Messkarte ausgeben. Eine analoge Schaltung hinter der Messkarte ist nicht realisierbar.
Desweitere möchte ich die digitale Hüllkurve auf einen Signalgenerator geben.

Die Realisierung muss nicht unbedingt mit einer Waveform realisiert werden, wenn es einen einfacheren Weg (Counter) gibt, würde ich diesen natürlich benutzen.
Vielleicht hab ich mich mit Tastverhältnis falsch ausgedrückt, Duty cycle trifft es besser.


RE: Hüllkurve ausgeben - beginner85 - 17.11.2011 16:01

Wenn ich das ganz mit einem Counterrealisieren würde, müsste ich ja die Frequenz ständig anpassen, weil wenn ich z.B. 10 Schwingungen mit einer high Amplitude und im Anschluss 3 Schwingungen mit einer low Amplitude habe, ist die Zeit in der das Signal ausgegeben wird unterschiedlich.
Die Frequenz wird ja beim erstellen des Tasks eingestellt. Gibt es die Möglich dies über Eigenschaftsknoten nachzuregeln?


RE: Hüllkurve ausgeben - M@rRy - 17.11.2011 20:05

(17.11.2011 16:01 )beginner85 schrieb:  Wenn ich das ganz mit einem Counterrealisieren würde, müsste ich ja die Frequenz ständig anpassen, weil wenn ich z.B. 10 Schwingungen mit einer high Amplitude und im Anschluss 3 Schwingungen mit einer low Amplitude habe, ist die Zeit in der das Signal ausgegeben wird unterschiedlich.
Die Frequenz wird ja beim erstellen des Tasks eingestellt. Gibt es die Möglich dies über Eigenschaftsknoten nachzuregeln?

Kurz um: JA, entweder über einen Property Node oder aber über einen normalen NI-DAQmx Write - Counter Freq, dort kannst du den Duty Cycle und die Frequenz einstellen. Das ganze läuft genau wie bei einem analogen Ausgang du musst nur die NI-DAQmx-Elemente entsprechend anpassen und gut ist.

Ich verstehe leider trotzdem nicht so wirklich wie ein Signalgenerator aus "10mal Low und 3mal High" später wieder eine NF machen soll ... Also ich denke das was für dich so am besten passen würde wäre doch einfach ein analoger Ausgang und direkt die NF ausgeben, fertig ...