Forum: Digitale Signalverarbeitung / DSP / Machine Learning Phase eines digitalen Tiefpass berechnen


von Squizzel (Gast)


Lesenswert?

Hallo zusammen,

ich möchte die Phase eines Signales bei einer bestimmten Frequenz im 
Bereich -30 bis -60 verschieben und dies mit einem Tiefpass erster 
Ordnung lösen.

Im zeitkontinuierlichen Bereich ist das mit der Gleichung:

-tan(phi) = Die zu verschiebene Frequenz / Filterfrequenz

Beispiel: ich möchte 2500Hz um -60 verschieben, dann hat der Filter die 
Grenzfrequenz
-tan(-60) = sqrt(3) = 2500Hz / Filterfrequenz
-> Filterfrequenz = 2500Hz / sqrt(3) = 1443Hz
Ein Filter erster Ordnung, abgestimmt auf 1443Hz hat also bei 2500Hz 
eine Phasenverschiebung von -60°.

Nun habe ich das ganze mit einem digitalen Tiefpass versucht. Bei der 
Grenzfrequenz hält der Filter auch prima seine -45° ein. Darüber oder da 
drunter passt es jedoch vorne und hinten nicht, wenn die 
Abstimmfrequenz, der Abtastfrequenz nähert.

Den digitalen Filter berechnet ich mit:

phi = omega*Ts;
K = tan(phi/2);
alpha = 1+K;
a0 = 1;
a1 = -(1-K)/alpha;
b0 = K/alpha;
b1 = K/alpha;

Was ich nun suche ist eine Gleichung, mit der ich die Phase eines 
digitalen Filter berechnen kann. Entweder anhand fertiger 
Filterkoeffizienten oder besser noch ähnlich wie oben für 
zeitkontinuierliche Signale.

Viele Grüße
Squizzel

von Detlef _a (Gast)


Lesenswert?

Die Filterkoeffizienten eines digitalen Tiepass bestimmen seine 
z-Übertragungsfunktion.
https://de.wikipedia.org/wiki/%C3%9Cbertragungsfunktion
Aus der kannst Du den Frequenzgang nach Betrag und Phase berechnen, 
indem Du z=e^(j*w) einsetzt, Dich also auf dem Einheitskreis von 
bewegst. Die Funktion 'freqz' in Matlab kann das auch.

Cheers
Detlef

clear

%phi = omega*Ts;
phi=1
K = tan(phi/2);
alpha = 1+K;
a0 = 1;
a1 = -(1-K)/alpha;
b0 = K/alpha;
b1 = K/alpha;

H=freqz([b0 b1],[a0 a1],1024);
plot((180/pi)*angle(H))

return

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.