Forum: Digitale Signalverarbeitung / DSP / Machine Learning Hilbert-Transformer als HighPass Filter?


von Burkhard K. (buks)


Lesenswert?

Für eine Audio-Anwendung brauche ich - nebem dem normalen Anti-Alias LP 
(mit Passband bis Fs/4 und Stoppband ab Fs/2) - einen HP Filter mit 
Passband ab Fs/50. Als FIR Filter würde eine solch steile Filterflanke 
entsprechend viele Taps/Koeffizienten erfordern.

Wäre es möglich den HighPass sozusagen als Abfallprodukt eines 
Hilbert-Transformers mitzunehmen - und wenn ja - wie kann ich den 
Hilberttransformer entsprechend berechnen? Selbst wenn der 
Hilberttransformer ähnlich aufwendig wie der FIR-Filter ausfiele, ergäbe 
sich durch die Doppel-Funktion bei einer Implentierung in 
(FPGA-)Hardware immer noch eine Ersparnis.

Gruß,
Burkhard

von Detlef _. (detlef_a)


Lesenswert?

Ein Hilbert-Transformer hat den Betragsfrequenzgang eins,wie könnte das 
gehen?

Cheers
Detlef

von Burkhard K. (buks)


Lesenswert?

Detlef _. schrieb:
> Ein Hilbert-Transformer hat den Betragsfrequenzgang eins,wie könnte das
> gehen?

Nur in der Theorie ist der Frequenzgang über alle Frequenzen 
einheitlich, reale Implementationen schaffen es nicht (bei endlicher 
Samplezahl), ein Signal mit der Frequenz 0 oder Fs/2 um 90° zu schieben, 
wirken also an den Enden des betrachteten Frequenzspektrums jeweils als 
HP bzw. LP.

Meine Frage zielt darauf ab, ob sich dieses "eigentliche" Defizit eines 
realen Transformers gezielt ausnutzen lässt.

Gruß,
Burkhard

von derguteweka (Gast)


Lesenswert?

Moin,

Wuerd' ich mit ausprobieren machen; z.b. so:
1
len=11;
2
H=freqz(imag(hilbert([zeros(1,len),1,zeros(1,len)])));20*log10(abs(H(21)))

kriegst du die Daempfung bei ca. fs/50 eines 2*len+1 Taps langen 
Hilberttransformators raus. Dann halt so lange an len rumtuefteln, bis 
die Daempfung genehm ist.

Gruss
WK

von W.S. (Gast)


Lesenswert?

Burkhard K. schrieb:
> Wäre es möglich den HighPass sozusagen als Abfallprodukt eines
> Hilbert-Transformers mitzunehmen - und wenn ja - wie kann ich den
> Hilberttransformer entsprechend berechnen?

Ja - das ist ne Frage, die mich ebenfalls schon seit einiger Zeit 
umtreibt. Bin in dieser Sache eben auch ein Suchender. Aber ich hab 
schon mal einiges zusammengetragen:

Stell dir also mal nen gewöhnlichen FIR-Bandpaß vor. Sowas zu berechnen 
ist leicht, denn in der bekannten DSP-Guide gibt's dafür ein gutes 
Rezept, die sin(x)/x Filter betreffend.

Wenn du dir die Filterkoeffizienten anschaust und vllt. mal als Kurve 
aufmalst, dann siehst du, daß es ne Art Glockenkurve (dank Blackman) 
ergibt. Also spiegelsymmetrisch zur Mitte der Taps.

Wenn das Filter dann noch die Phase konstant drehen soll, also Typ 
Hilbert, dann sieht die Kurve der Filterkoeffizienten anders aus, 
nämlich nicht spiegelsymmetrisch zur Mitte, sondern punktsymmetrisch zur 
Mitte. Und dazu sehen die zwei Hälften aus, als wären sie aus einer 
symmetrischen Kurve hergenommen und eine Seite etwas außerhalb der Mitte 
abgeschnitten.

Also: ein Bandpaß + Hilbert in einem Ruck ist möglich. Die IOWA-HILLS 
haben das vorgemacht, aber ihren Algorithmus (mal wieder) nicht 
veröffentlicht. deshalb müßtest du dich durch den mathematischen 
Hintergrund selbst durchbeißen oder jemand, der ein gutes Rezept hat, 
postet diese hier.

W.S.

von Burkhard K. (buks)


Lesenswert?

W.S. schrieb:

> Also: ein Bandpaß + Hilbert in einem Ruck ist möglich. Die IOWA-HILLS
> haben das vorgemacht, aber ihren Algorithmus (mal wieder) nicht
> veröffentlicht.

Iowa-Hills kannte ich bis dahin noch nicht, der Hinweis auf 
http://www.iowahills.com/8DownloadPage.html hat sich für mich gelohnt, 
dafür ein großes "Danke"; der FIR- und Hilbert-Filter-Designer sind bei 
mir bereits im Einsatz. (Dabei hat sich herausgestellt, dass die zu 
erreichende Dämpfung im Stoppband - auch bei > 100 Koeffizienten - eher 
mäßig ausfällt)

Wäre diese Webseite mit dem Angebot an freien Filter-Designern nicht 
allemal einen Link auf der DSP-Übersichtsseite hier wert?

Gruß,
Burkhard

von W.S. (Gast)


Angehängte Dateien:

Lesenswert?

Burkhard K. schrieb:
> Wäre diese Webseite mit dem Angebot an freien Filter-Designern nicht
> allemal einen Link auf der DSP-Übersichtsseite hier wert?

Ich hätte da nen ganz anderen Vorschlag: Hier die tatsächlichen 
Algorithmen mal in leichtverständlicher Form zusammentragen. Dann kann 
sich ein jeder mit einem Programm in der Sprache seiner Wahl das alles 
selbst ausrechnen. Das bloße "AnDenKopfWerfen" von Prinzipformeln reicht 
nicht aus.

Ich hatte mir vor einiger Zeit mal zum Ausprobieren sowas selber 
geschrieben - allerdings per Delphi in Pascal und Hilbert ist noch nicht 
dabei. Aber so, wie ich das hier sehe, ist dieses Forum viel zu C-lastig 
um sowas mal komplett zu posten. Ich hänge mal nen kleinen Auszug hier 
dran, so als Beispiel zum Lesen. Sollte eigentlich selbsterklärend sein.

W.S.

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.