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 

"Ein- und Ausfaden" eines kontinuierlich erzeugten, analogen Signals



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!

04.01.2010, 15:12 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2010 15:12 von chrissyPu.)
Beitrag #1

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
"Ein- und Ausfaden" eines kontinuierlich erzeugten, analogen Signals
Hi,

ich hab folgende Aufgabe: Auf einer 7833R generiere ich über eine LUT ein analoges Signal. Durch programmierbares, mehrfaches Aneinanderhängen der LUT-Daten kann ich die Länge meiner Ausgabe relativ frei einstellen. Das analoge Ausgangssignal wird also durch das aneinandereihen einzelner Werte in einer For-Schleife generiert und Punkt-für-Punkt ausgegeben.
Was ich nun gerne hätte, wäre ein Ein- und Ausfaden des analogen Signals, also eigentlich eine überlagerte Amplitudenänderung, die z.B. in den ersten 10% der Zeit das Signal von 0 auf 100% der Amplitude fährt und in den letzten 10% der Zeit entsprechend von 100% auf 0%.

Mein aktueller Favorit ist ein rekonfigurierbarer Rampengenerator, dessen Parameter ich an den FPGA übergebe und der dann nur noch rechnet, allerdings bin ich mir im Moment nicht so wirklich sicher, ob das ganze dann so schnell wird, wie ich das gerne hätte. Hat von Euch jemand sowas in der Richtung schonmal gemacht und hat da vielleicht eine fundiertere Meinung als ich dazu?

Grüße,

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.01.2010, 11:07
Beitrag #2

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
"Ein- und Ausfaden" eines kontinuierlich erzeugten, analogen Signals
Guten Morgen...

Hab mal einen ersten Wurf gemacht. Basis ist eine analoge Ausgabe mit variabler Sampleanzahl (N), die ich je nach Index n mit einer variablen Amplitude A multipliziere. Jetzt definier ich mir zwei Indexwerte n_low und n_high, wobei für alle Indexe n < n_low eine linear ansteigende Kennlinie zwischen 0 und A und für alle Indexe n > n_high eine linear fallende Kennlinie vorgegeben wird. Alle n dazwischen bekommen als Amplitude A mitgegeben.

Realisierung:
Die Steigung ist für jeden Index gleich, wenn die Indexwerte n_low und n_high sowie die gesamt-Sample-Anzahl bekannt ist. Daher wird das ganze in einem Sub-VI (FPGA-Sub-FaderValue.vi) vor meiner eigentlichen Ausgabe berechnet. Zahlenformat ist FXP, weil mir sonst Auflösung verloren geht (genauer gesagt, wenn n_low > A)
Dann wird in zwei Schritten (ist eh ein Pipelining-Schritt im Durchlauf) weitergerechnet. Der erste Schritt testet, ob der Index zwischen n_high und n_low liegt. Parallel dazu wird getestet, ob der Index im unteren oder oberen Steigungsbereich liegt und ebenso parallel dazu die Amplituden für beide Fälle berechnet. Damit hab ich versucht, den zeitkritischen Pfad zu verkürzen, da das genau das Problem im Moment ist...
Im zweiten Schritt wird aus den beiden Testergebnissen der richtige Fall ausgewählt und entsprechend im Steigungsbereich eine Mulitplikation des Übertragungsfaktors vorgenommen.

Anmerkungen:
Die etwas merkwürdig anmutende Konstruktion aus Mulitplikation und anschließenem Bit-Schieben dient der höchstmöglichen Genauigkeit.

Problem:
Der Compiler meldet mir eine Timing-Violation, allerdings nur, wenn ich das ganze komplett compiliere. Lasse ich FaderSub1 oder FaderSub2 raus, funktioniert das ganze. Compilieren der Sub-VIs alleine funktioniert allerdings auch, sonst wäre die Fehlersuche sicherlich einfacher...

VIs:Lv86_img

Sonstige .zip  FPGA_Sub_Fader.zip (Größe: 20,99 KB / Downloads: 220)


Erzeugung Steigung:
   

Fader Schritt 1:
   

Fader Schritt 2:
   

Ausgabeschleife:
   

Ich freu mich über Eure Anregungen...

ch


Angehängte Datei(en) Thumbnail(s)
   
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2010, 16:21
Beitrag #3

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
"Ein- und Ausfaden" eines kontinuierlich erzeugten, analogen Signals
Problem gelöst: Die FXP-Operationen brauchen doch relativ lang, da die Standard-Einstellung von 64bit Breite ausgeht. Hab ich jetzt auf zu erwartende Werte angepasst (dann kommt man auf die doch etwas schmaleren 16 bit) und das läuft dann auch problemlos durch den Compiler. Wenn jemand den Kram haben will, bitte melden...
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: