Ich habe einen 14 bit ADC, welcher mit ideal 84dB Dynamikumfang gibt.
Mich interessiert an den Daten in der Regel nur ein Frequenzpunkt also
mache ich im FPGA eine DFT. Kann ich die DFT Ergebnisse mitteln um den
Dynamikumfang zu erhöhen? Ziel ist es die Samples so zu lassen wie sie
sind und dann erst das DFT Ergebnis zu mitteln. Man könnte ja auch vor
der Transformation über z.B. 4 samples mitteln.
Rene G. schrieb:> Kann ich die DFT Ergebnisse mitteln um den Dynamikumfang> zu erhöhen?
Ob DU es kannst, weiss ich nicht... :) SCNR
Aber -- ja, kann man machen, klar. Warum nicht?
> Ziel ist es die Samples so zu lassen wie sie sind und> dann erst das DFT Ergebnis zu mitteln. Man könnte ja> auch vor der Transformation über z.B. 4 samples mitteln.
???
Der übliche Weg ist es, mehrere zeitlich aufeinanderfolgende
Spektren zu mitteln.
In der Regel wird dazu aber konstante Phasenlage des Nutz-
signals notwendig sein, damit das funktioniert.
N. M. schrieb:> Rene G. schrieb:>>> Macht das einen unterschied?>> Na für einen Bin brauchst du halt deutlich weniger Zellen...
Mit einer DFT, die nur einen Punkt auswertet ebenfalls. Die
Koeffiziententabellen sind dann auch kleiner
Rene G. schrieb:> Man könnte ja auch vor> der Transformation über z.B. 4 samples mitteln.
Das ist keine so gute Idee, weil dann ein Rechteckspektrum reinkommt.
Man muss aber mit jedem neuen Datum eine neue Transformation machen und
nicht etwa nur mit dem Bündel, das für die T herangezogen wird.
also eine Berechnung für 0 ... n-1, 1 ... n, 2 ... n+1 u.s.w.
Dann kann man das Ergebnis der DFTs mitteln.
Fpgakuechle K. schrieb:> Nö, Goertzel musste machen:> https://www.elektronikpraxis.vogel.de/einzeltoene-mit-fpgas-erzeugen-und-erkennen-a-1023648/
Goertzel ja, FPGA nicht unbedingt. Das geht mit einem DSP genau so. Habe
mir das Beispiel jetzt nicht vopllständig angesehen, aber die nehmen
wohl einen
"Zynq UltraScale+ FPGA" und dort eine RTU.
Messtechniker schrieb:> Man muss aber mit jedem neuen Datum eine neue Transformation machen und> nicht etwa nur mit dem Bündel, das für die T herangezogen wird.>> also eine Berechnung für 0 ... n-1, 1 ... n, 2 ... n+1 u.s.w.>> Dann kann man das Ergebnis der DFTs mitteln.
Was meinst du damit genau? Das verstehe ich nicht. Was ist mit Datum
gemeint?
Rene G. schrieb:> Was meinst du damit genau? Das verstehe ich nicht. Was ist mit Datum> gemeint?
Singular von Daten ist Datum.
Er meinte also anders ausgedrückt "...mit jedem neuen Messwert...".
Rene G. schrieb:> Ich habe einen 14 bit ADC, welcher mit ideal 84dB Dynamikumfang gibt.> Mich interessiert an den Daten in der Regel nur ein Frequenzpunkt also> mache ich im FPGA eine DFT. Kann ich die DFT Ergebnisse mitteln um den> Dynamikumfang zu erhöhen? Ziel ist es die Samples so zu lassen wie sie> sind und dann erst das DFT Ergebnis zu mitteln. Man könnte ja auch vor> der Transformation über z.B. 4 samples mitteln.
Hallo Rene,
wenn ich richtig informiert bin, kannst du durch Mittelung über mehrere
Fenster nur das Spektrum glätten, aber nicht den Dynamikumfang erhöhen.
Wenn du den Dynamikumfang erhöhen möchtest, musst du dafür sorgen, dass
in deinem gewünschten Bin, im Verhältnis zur Signalenergie, weniger
Rauschenergie akkumuliert wird. Dafür musst du entweder das Signal im
Zeitbereich filtern, um Rauschleistung bei hohen und/oder niedrigen
Frequenzen zu entfernen, oder deine Fenster länger machen. Die Länge zu
erhöhen reduziert die equivalent noise bandwidth deines Bins. Da du aber
auch länger akkumulierst, bleibt die Rauschenergie im Bin trotzdem
gleich. Du sammelst aber auch mehr Energie bei deinem Nutzsignal,
wodurch das SNR pro Bin größer wird.
Danach mittelst du über mehrere Fenster im Frequenzbereich, wenn du auch
ein glattes Spektrum möchtest.
LG Simon
Danke soweit für die Hilfe. Ich möchte insbesondere kurze DFT bins mit
ausreichend dynamik auch auflösen, da es eine zeitkritische Anwendung
ist. Jetzt ist die Frage ob da oversampling hilft und wie viel man
braucht.
Rene G. schrieb:> Danke soweit für die Hilfe. Ich möchte insbesondere kurze DFT bins mit> ausreichend dynamik auch auflösen, da es eine zeitkritische Anwendung> ist. Jetzt ist die Frage ob da oversampling hilft und wie viel man> braucht.
Freut mich, dass wir dir helfen konnten.
Wenn du mit "kurz" meinst, dass deine zeitliche Fensterbreite einen
gewissen Wert (z. B. 1 ms) haben soll, dann ist mein Tipp von oben in
der Tat nicht sinnvoll, weil er eine zeitliche Verlängerung des Bin
bedeuten würde. Du musst eine andere Maßnahme ergreifen, um das Rauschen
in deinem Bin zu reduzieren. In dem Fall ist tatsächlich Überabtastung
ein möglicher Weg. Der ist jedoch nur dann hilfreich, wenn ein
wesentlicher Teil des Rauschens bisher durch Aliasing aus höheren
Frequenzbereichen (das kann der Fall sein, wenn dein Anti-Aliasingfilter
nicht passend ausgelegt ist) oder Quantisierungsrauschen zustande kam.
Wenn der Großteil des Rauschens schon im analogen Signal enthalten ist
oder durch thermisches Rauschen im ADC dazukommt, kannst du mit
Überabtastung nichts erreichen. Mit 14 b kommt man langsam in den
Bereich der Präzisions-ADC, wo das thermische Rauschen des ADC das
Quantisierungsrauschen dominiert. Du müsstest noch ziemlich an der
Grenze sein, wo beide ähnlich bedeutend sind.
Das Prinzip der Überabtastung ist, dass sich bei doppelter Abtastrate
dieselbe Quantisierungsrauschleistung (definiert durch die Amplitude
eines LSB) auf einen doppelt so großen Frequenzbereich verteilt. Dadurch
halbiert sich die spektrale Leistungsdichte des Quantisierungsrauschens
(6 dB weniger). Weil dein DFT-Bin dieselbe Bandbreite hat wie vor der
Erhöhung der Abtastrate, und damit dieselbe ENBW, hast du jetzt nur noch
die halbe Rauschleistung in deinem Bin. Falls du vorher noch Aliasing
von Rauschen oberhalb der Nyquistfrequenz hattest, sinkt die spektrale
Leistungsdichte weiter ab, wodurch du einen höheren Gewinn erhältst.
Speise mal ein stationäres Signal mit einfachem Spektrum (DC oder
monochromatisch) ein und nimm ein paar Messdaten mit verschiedenen
Abtastraten und großzügiger Länge auf. Dann kannst du das gemütlich am
PC verarbeiten und schauen mit welchen Einstellungen du gute Ergebnisse
erreichst. Vielleicht lässt sich ja doch noch etwas an der zeitlichen
Fensterbreite drehen, dann kannst du noch mehr rausholen. Aber bedenke,
dass du so oder so mehr Abtastwerte im Fenster bekommst und sich das
auch auf deine Implementierung auswirken wird.
LG Simon
Rene G. schrieb:> Kann ich die DFT Ergebnisse mitteln um den> Dynamikumfang zu erhöhen? Ziel ist es die Samples so zu lassen wie sie> sind und dann erst das DFT Ergebnis zu mitteln.
Du kannst statt der FFt auch gleich nur die eine Frequenz mit dem
Eingang falten.
Dogbert schrieb:> Rene G. schrieb:>> Kann ich die DFT Ergebnisse mitteln um den>> Dynamikumfang zu erhöhen? Ziel ist es die Samples so zu lassen wie sie>> sind und dann erst das DFT Ergebnis zu mitteln.>> Du kannst statt der FFt auch gleich nur die eine Frequenz mit dem> Eingang falten.
Dazu muss man dieser aber kennen. Liegt man daneben bekommt einfach nur
einen reduzierten Wert und keine Info ob links oder rechts.
Das musst du mal genauer ausführen. Die Idee mit einer Frequenz zu
falten funktioniert so nicht, denn der Trick bei einer FFT ist es ja mit
eben auch mit den Phasenverschiebungen zu multiplizieren.