Forum: Digitale Signalverarbeitung / DSP / Machine Learning Lowpass Filter nahe FS/2


von Stefan (Gast)


Lesenswert?

Hallo,

ich stehe hier gerade auf dem Schlauch. Wenn ich ein Biquad Filter 
(low-pass) in der Nähe von FS/2 einsetzen will, muß ich da irgendetwas 
beachten? Also z.B. FS=44.1kHz und fc=18kHz.
Bei niedrigen Frequenzen (bezogen auf FS) bekomme ich ja irgendwann 
Probleme mit der endlichen Auflösung der Filter. Am oberen Ende sollte 
das aber gehen. Nur kommt mir das etwas zu einfach vor.

Da muß es doch einen Haken geben ;).

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Die Aliasfrequenzen rücken näher. Das war schon der Trick bei den 
CD-Spielern mit "oversampling". Je weiter die Samplingfrequenz weg ist, 
desto weiter weg auch die Probleme.

von Ralf (Gast)


Lesenswert?

Stefan schrieb:
> Bei niedrigen Frequenzen (bezogen auf FS) bekomme ich ja irgendwann
> Probleme mit der endlichen Auflösung der Filter.
Darf ich fragen, wie das gemeint ist?

von Stefan (Gast)


Lesenswert?

> Die Aliasfrequenzen rücken näher.

Danke für den Hinweis. Das leuchtet mir zwar nicht ein (ich filtere noch 
vor dem DAC) aber ich weiß zumindest nach welchen Effekten ich suchen 
muß sobald ich hier messen kann.

>> Bei niedrigen Frequenzen (bezogen auf FS) bekomme ich ja irgendwann
>> Probleme mit der endlichen Auflösung der Filter.
> Darf ich fragen, wie das gemeint ist?

Bei tiefen Frequenzen wird w0 immer kleiner (w0=2pi*f/fs). Wenn da also 
z.B. 0.001 rauskommt und der DSP mit Festkomma rechnet, kann es je nach 
Zahlenformat (z.B. 1.19) schon schwierig werden. Ein hoher Wert für Q 
verschärft das Problem zusätzlich.

von Ralf (Gast)


Lesenswert?

Stefan schrieb:
> Bei tiefen Frequenzen wird w0 immer kleiner (w0=2pi*f/fs). Wenn da also
> z.B. 0.001 rauskommt und der DSP mit Festkomma rechnet, kann es je nach
> Zahlenformat (z.B. 1.19) schon schwierig werden.
Ach so, das ist natürlich klar. Ich dachte es gäbe einen grundsätzliches 
Problem mit geringen Frequenzen und der digitalen SV.

von Detlef _. (detlef_a)


Lesenswert?

>>>>>>
Das leuchtet mir zwar nicht ein (ich filtere noch
vor dem DAC) aber ich weiß zumindest nach welchen Effekten ich suchen
muß sobald ich hier messen kann.
<<<<<<<<

Bei ner samplefrequenz von 44.1 kHz und einer interessierenden Frequenz 
von 18kHz benutzt Du einen Tiefpaß mit einer Knickfrequenz von 
beispielsweise 20kHz. Dieser Tiefpaß ist bei beispielsweise 25kHz noch 
nicht weit 'im Keller', sodass Du Dir eine Aliasfrequenz von 
25kHz-44.1/2kHz einfängst.

Je weiter die Knickfrequenz Deines Tiefpaß von FS/2 ist, umso einfacher 
wird das.

HTH
Cheers
Detlef

von Stefan (Gast)


Lesenswert?

> Dieser Tiefpaß ist bei beispielsweise 25kHz noch
> nicht weit 'im Keller', sodass Du Dir eine Aliasfrequenz von
> 25kHz-44.1/2kHz einfängst.

Da liegt glaube ich mein (Verständniss-) Problem. Wenn ich mit 44k1 
sample, wieso sollte da etwas mit 25Khz in den Samples vorkommen? Klar, 
wenn der ADC Frequenzanteile >FS/2 bekommt passieren die wildesten 
Dinge. Aber mir geht es um einen digitalen LP Filter. Vor dem DAC, 
hinter dem ADC.

von alex (Gast)


Lesenswert?

Stefan schrieb:
> Wenn ich mit 44k1
> sample, wieso sollte da etwas mit 25Khz in den Samples vorkommen?

Weil digitale Signal ein periodisches Spektrum besitzen.

von Ralle (Gast)


Angehängte Dateien:

Lesenswert?

alex schrieb:
> Weil digitale Signal ein periodisches Spektrum besitzen.
Analoge nicht?
Aliasing ist doch dort dasselbe(?)
Nimm einen Filter, der bei FS/2 ziemlich dicht ist und verzichte auf die 
hohen Frequenzen ab 15kHz. Die hört eh keiner!

von alex (Gast)


Lesenswert?

Ralle schrieb:
> Analoge nicht?
Richtig, zeitkontinuierliche Signale haben kein periodisches Spektrum

Zeitdiskrete schon, und genau das ist der Grund für Aliasing.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das Optimum für die Digitalfilter-Grenzfrequenz liegt in der Nähe des 
"halben Bandes", also bei einem Viertel der Samplingfrequenz. Daher gibt 
es den Begriff half-band-filter. 
http://en.wikipedia.org/wiki/Half-band_filter

: Bearbeitet durch User
von Ralle (Gast)


Lesenswert?

alex schrieb:
> Ralle schrieb:
>> Analoge nicht?
> Richtig, zeitkontinuierliche Signale haben kein periodisches Spektrum
>
> Zeitdiskrete schon, und genau das ist der Grund für Aliasing.
ok, Du beziehst dich darauf, dass bei der Abtastung Aliasing entsteht. 
Stimmt.

Ich hatte die Frage:

> Wenn ich mit 44k1
> sample, wieso sollte da etwas mit 25Khz in den Samples vorkommen?
 aber so verstanden, warum überhaupt Anteile mit 25kHz vorkommen sollen. 
Dies ist ja nicht daran gekoppelt, womit ich sample, sondern zuvor 
filtere. Schlauerweise sind die Frequenzen oberhalb FS/2 genügend gut 
beseitigt bevor gesampelt wurde, daher dürfte das digitale Signal keine 
25kHz mehr enthalten, bis auf die abstrakte Betrachtung der 
Periodizität.


Christoph Kessler (db1uq) schrieb:
> Das Optimum für die Digitalfilter-Grenzfrequenz liegt in der Nähe des
> "halben Bandes", also bei einem Viertel der Samplingfrequenz. Daher gibt
> es den Begriff half-band-filter.
> http://en.wikipedia.org/wiki/Half-band_filter

Ich zitiere mal :

"can be centered at frequency where is the input sample-rate"

Das wären dann 11,050 kHz und dies zentriert. Der filter schneidet also 
schon bei 7 kHz nennenswert ab.

von alex (Gast)


Lesenswert?

Ralle schrieb:
> bis auf die abstrakte Betrachtung der
> Periodizität.

Dessen Anteil bei der Rekonstruktion spürbar werden kann, in 
Abhängigkeit der Filterflanke.

Wenn ich ein Signal mit einer Frquenz f1, welche gerado so unter Fs/2 
liegt auf einen DAC gebe, werde ich am Ausgang eine Art Schwebung 
erkennen, da dieses Signal eben auch bei Fs-f1 enthalten ist und wegen 
der nicht unendlich steilen Filterflanke nicht vollständig unterdrückt 
wird.

von Detlef _. (detlef_a)


Lesenswert?

Nochmal zu Aliasing, habe oben Halbrichtiges gepostet:

fs ist die Abtastfrequenz, Du sampelst damit fs/2. Dann erwischt Du jede 
Welle mit zwei samples, also z.B. immer das Maximum und das Minimum, das 
gesampelte Signal ist immer +/-1, schnller kann es sich nicht ändern. 
Wenn du mit fs ein Signal der Frequenz fs sampelst (Nyquist verletzt) 
erwischt Du immer dengleichen Wert, für Dich sieht das Signal aus wie 
Gleichspannung. Jede andere Frequnz zwischen fs/2 und fs macht 'alias': 
eine Frequenz f mit f>fs/2 erscheint als falias=fs/2-(f-fs/2)=fs-f, also 
für Deinen Fall falias=44.1kHz-25kHz=19.1kHz.
'Alias' kann auch gewollt sein, z.B. kannst Du durch Unterabtastung ein 
moduliertes Signal schon durch den ADC runtermischen: DDC digital down 
converter.

HTH
Cheers
Detlef

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Bei einem "Lowpass Filter nahe FS/2" kommt man um die Alias- und 
Schwebungsproblematik nicht herum, weder mit einem digitalen noch 
analogen Filter, wobei ich auch fragen würde, was ein digitales Filter 
an der Stelle bringen soll.

Beim Audio benutzt man deshalb analoge Filter, die die höheren 
Frequenzen schon vor dem Sampeln dämpfen, z.B. eines, das ab 10kz 
einsetzt und ab 20kHz weitestgehend abschnürt. Die Welligkeiten und 
Aliaseffekte nimmt man dann in Kauf. Bei Audio funktioniert das deshalb, 
weil die höheren Frequenzen ab 5kHz nicht sonderlich stark vertreten 
sind, insbesondere nicht bei Tonaufnahmen aus der Distanz 
(Luftdämpfung). Ausserdem sind hohe Frequenzen eh nicht richtungsgenau 
aufzunehmen, weil deren Wellenlänge an die Membrangrössen heranreicht.

Geht es aber um Messtechnik und werden die höheren Frequenzen gebraucht, 
reicht das nicht. Zu lösen ist das Problem nur durch ausreichende 
Überabtastung. Wie die Filter da eingestellt werden können, zeigt diese 
Seite:
http://96khz.org/oldpages/comparison48khzto384khz.htm

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das gleiche Problem haben auch DDS in der Nähe der Maximalfrequenz. 
Exakt auf der halben Taktfrequenz springt der DDS-Zähler nur zwischen 
zwei Tabellenwerten seiner Sinustabelle hin und her. Das kann zufällig 
Maximum und Minimum der Sinuskurve sein, aber genauso die beiden 
Nullduchgänge pro Periode.
Stellt man den DDS z.B. um 0,1Hz daneben ein, dann ändert sich die 
Amplitude des Sinus in 10 Sekunden vom Maximalwert auf Null, eine 
hundertprozentige Amplitudenmodulation mit 0,1 Hz (oder zweimal/10sec? 
weiss jetzt nicht genau).
Bei einem Drittel der Taktfrequenz ist die Schwebung nicht mehr ganz so 
stark, aber erst ein bis zwei Oktaven drunter kann man sie einigermaßen 
vernachlässigen.
Die AM kann man spektral als eine Trägerfrequenz mit zwei Seitenlinien 
sehen, damit bestünde das DDS-Ausgangssignal sogar aus drei 
Sinusschwingungen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Richtig, daher sind DDSen ebenfalls überabzutasten. Bei der Geschichte 
spielt allerdings der Filter eine starke Rolle sowie die Länge der 
Tabelle. Mit einer geschickten Wahl der Länge und einer komplexen 
Synthese kann man bei bekannter Filtercharakteristik auch bis ca 30% fs 
sehr gut bauen und gegen die Schwebungen anregeln.

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
Noch kein Account? Hier anmelden.