Forum: Digitale Signalverarbeitung / DSP / Machine Learning Preemphase-Filter mit Matlab


von Paul (Gast)


Lesenswert?

Hallo!
Ich möchte einen Preemphase-Filter für das NICAM-System entwerfen.
Als Empfehlung ist dazu gegeben:
H(s)^2 = (1 + (s/3000)^2) / (75 + (s/3000)^2)
s = 2*Pi*f
Da das Gebiet neu für mich ist, komme ich damit nicht so gut zurecht.
Um die Filterkoeffizienten zu bestimmen, müsste man ja irgendwie H(f) 
berechnen und diese in Normalform bringen, aber ich weiß nicht, wie ich 
die auftauchende Wurzel auflösen kann. Deswegen habe ich eine 
Approximation mit Matlab versucht:
1
fs = 32000;
2
fstart = 1;
3
fstop = fs/2;
4
f=logspace(log10(fstart),log10(fstop),1024);
5
H=sqrt(  (1 + (2*pi*f/3000).^2 ) ./ (75 + (2*pi*f/3000).^2 ) );
6
n = 10; % Ordnung
7
m = 10; % Ordnung
8
[b a] = invfreqs(H,f,n,m);
Wenn ich die Funktion mit diesen Koeffizienten dann zeichne, sieht sie H 
aber nicht ähnlich. Hat jemanden einen Tipp für mich?

von joep (Gast)


Lesenswert?

Hi,
also ich hab das mal mit Matlab genauso wie du durchgerechnet. Wie 
kommst du darauf, dass das Ergebnis nicht stimmt? Wenn ich aus den 
ermittelten Koeffizienten wieder die Übertragungsfunktion erstelle und 
diese dann plotte, komme ich genau auf den vorgegebenen Verlauf.

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.