Hallo, ich habe da eine Verständnissfrage: Ich muss die Frequenz eines Signals herausfinden. Dazu habe ich einen DAC der direkt am DSP hängt. Die Frequenz des Inputsignals muss ich hochgenau ermitteln. Das mache ich natürlich mit einer FFT. Wenn ich nun einen analogen Filter vor dem DAC schalte, dann erhöht sich schonmal die Genauigkeit meines Endergebnisses. Angenommen ich habe keinen Filter vor dem DAC sondern jage die aufgenommenen Samples vom DAC ungefiltert in der DSP durch z.b. eine FIR funktion und anschließend durch die FFT. Kann sich dadurch die Genauigkeit meines Ergebnisses genauso erhöhen wie mit einem analogen Filter? Gruss Kai
Wie soll das klappen? Wenn Du keinen Anti-Aliasing FILTER davor machst bekommst Du ja die ganzen Spiegelfrequenzen durch die Unterabtastung mit rein! Es gilt ja f_in<=2*f_s !
Seit wann hat dein DAC (Digital-Analog-Converter) einen analogen Eingang?
>>Die Frequenz des Inputsignals muss ich hochgenau ermitteln. Das mache ich >>natürlich mit einer FFT. Frequenzbestimmung mit einer FFT ist nicht hochgenau sondern hängt von der Länge der FFT ab. Das geht viel besser und genauer siehe Beitrag "Genaue Frequenzbestimmung nach FFT" Cheers Detlef
Helmut -dc3yc schrieb: > Seit wann hat dein DAC (Digital-Analog-Converter) einen analogen > Eingang? Sorry Tippfehler, ich meine natuerlich ADC! Detlef _a schrieb: > Frequenzbestimmung mit einer FFT ist nicht hochgenau sondern hängt von > der Länge der FFT ab. Das geht viel besser und genauer siehe > Beitrag "Genaue Frequenzbestimmung nach FFT" Genau so mache ich es auch. Es geht hier aber nicht dadrum :) sondern immer noch um den Unterschied zwischen software und analogen filtern.
Kai Zung schrieb: > Ich muss die Frequenz eines Signals herausfinden. > Die Frequenz des Inputsignals muss ich hochgenau ermitteln. > Das mache ich natürlich mit einer FFT. Wie kann man denn mit einer FFT Frequenzen genau messen? Das geht m.E. nur mit DFT (diskreter Frequentransformation) BTDT Gruss Harald
Ccc schrieb: > Wie soll das klappen? > Wenn Du keinen Anti-Aliasing FILTER davor machst bekommst Du ja die > ganzen Spiegelfrequenzen durch die Unterabtastung mit rein! > Es gilt ja f_in<=2*f_s ! Anti-Aliasing filter ist ne andere Sache! Der Anti Alaising Filter ist im ADC bereits integriert. Ich erklaere es nochmal. Angenommen ich habe ein Eingangssignal mit einer Grundfrequenz von 3 kHz. Ich Taste das Signal mit einem ADC ab (Anti-Alaising filter drinne). Die Samples haue ich in eine FFT rein ( bzw. in 2 FFTs ) und errechne dann die genaue Frequez des Eingangssignals. Wenn ich aber vorher schon ungefaehr weiss, wo die Frequenz des Eingangssignal liegt kann ich ja einen Analogen Bandpass vor der ADC schalten. Dadurch werden Stoerfrequenzen schonmal entfernt und ich bekomme am schluss ein genaueres Ergebniss. Die frage ist nun: Wenn ich keinen analogen filter benutze, sondern das Signal ungefiltert in den ADC schiebe und dann erst anschliessend in der DSP eine z.B. FIR durchfuehre, kann ich dann auch die Genauigkeit meiner Ergebnisses erhoehen?
Harald Wilhelms schrieb: > Wie kann man denn mit einer FFT Frequenzen genau messen? > Das geht m.E. nur mit DFT (diskreter Frequentransformation) > BTDT Mann kann durch 2 FFTs und vergleich deren die Frequenz sehr genau bestimmen! Wie Detlef_a schon sagte, schau dir den Beitrag: "Genaue Frequenzbestimmung nach FFT" an. Ich dachte DFT heisst Diskrete Fourier Transformation? Meiner Meinung nach macht es nichts anderes wie eine FFT.
>Wenn ich keinen analogen filter benutze, sondern das Signal ungefiltert >in den ADC schiebe und dann erst anschliessend in der DSP eine z.B. FIR >durchfuehre, kann ich dann auch die Genauigkeit meiner Ergebnisses >erhoehen? Die folgenden Aussagen sind immer im Bezug auf eine maximal erreichbare Genauigkeit zu verstehen: 1. Vor der ADC-Wandlung müssen alle hohen Frequenzen mittels eines Anti-Alliasing Filters entfernt werden. Es gibt keine Filter mit unendlich steiler Charakteristik. Deshalb ist eine Grenzfrequenz des Antialiasing Filters nützlich, die weit unter der Abtastrate liegt ( Oder einfacher ausgedrückt: eine hohe Abtastrate hilft ) 2. Ist im Signal tatsächlich nur eine Frequenz enthalten, kann diese sehr genau mit Nulldurchgangsbestimmungen berechnet werden. 3. Der Nulldurchgänge werden mittels Interpolation berechnet. Sehr gute Ergebnisse erreicht man, wenn die Abtastrate vorher "virtuell" erhöht wird ( Praxis: ~Faktor 4 ) , d.h. einfügen von Nullen und dann Filterung mit einem FIR-Filter mit SINC-Koeffizienten ( idealer Tiefpass )
> Anti-Aliasing filter ist ne andere Sache! Der Anti Alaising Filter ist > im ADC bereits integriert. > Tut mir leid, aber die Aussage, der Anti-Aliasing Filter sei im ADC intergriert ist einfach Quatsch.
Mr. Qb schrieb: > Tut mir leid, aber die Aussage, der Anti-Aliasing Filter sei im ADC > intergriert ist einfach Quatsch. AD7606 nur um mal EINEN zu nennen
Tatsachen, sry. Aber ist ja auch nix anderes als ein oder mehrere vorgeschaltete Tiefpässe und hat im prinzip nichts mit der eigentlichen Frage zu tuen....
Ich denke nicht dass sich dadurch die Genauigkeit erhöht! Wenn du die FFT korrekt parametriert hast (Anzahl Samples, Abtastfrequenz) holt die meiner Meinnung nach das Maximum an Infos aus deinem abgetasteten Signal heraus. Wenn du vorher noch ein FIR drüber lässt, hast du nur kleinere Amplituden der ungewünschten Frequenzen, was aber nicht automatisch heisst, dass deine Frequenzauflösung höher wird.. Aber so aus dem Bauch raus ist das schwierig abzuschätzen! Ich würde dir empfehlen das ganze in Matlab zu testen. Generier dir irgend ein Signal, dann führe beide Methoden durch und schau ob sich was verbessert... @Kai Zung: DFT heisst Diskrete Fourier Transformation. FFT ist nichts anderes als ein schneller Algorithmus um eine DFT zu berechnen.
Kai Zung schrieb: > Anti-Aliasing filter ist ne andere Sache! Der Anti Alaising Filter ist > im ADC bereits integriert. Nö, in der Regel nicht´und das aus gutem Grund. MB schrieb: > Wenn du vorher noch ein FIR drüber > lässt, hast du nur kleinere Amplituden der ungewünschten Frequenzen, was > aber nicht automatisch heisst, dass deine Frequenzauflösung höher wird.. Es wird sich in einer Redutierung der hohen Frequenzen niederschlagen und u.U. weniger leakage Effekte ergeben. Aber dem Prinzip nach erledigt die FFT ja bereits die Filterung.
Kai Zung schrieb: > Dadurch werden Stoerfrequenzen schonmal entfernt > und ich bekomme am schluss ein genaueres Ergebniss nein, ich denke nicht, weil dein filter nicht ideal ist und oberwellen in die anderen reinmatscht. die fft isoliert die frequenzen ja, so gut wie es geht, spiegelfrequenzen und frequenzen > nyquist sind dann oben mit drin
Ein FIR-Filter kann durchaus etwas verbessern, wenn es deutlich hochauflösender ist, als das Analogfilter an Artefakten liefert. In der Regel ist man mit einer FFT mit etwas mehr Aufwand aber besser bedingt. Das Problem ist aber, dass die FFt mit festen Frequenzen arbeitet, die nicht genau das Original treffen. Dann musst Du noch etwas rechnen / interpolieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.