Forum: Digitale Signalverarbeitung / DSP / Machine Learning Digital filter mit Matlab programmieren


von Gast2008 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
wie kann ich ein digitales Filter mit matlab programmiren?
Die Koeffizienten der digitalen Übertragungfunktion b(z^-1)/a(z^-1) in 
der absteigenden Potenzen von z,sind:

44,1 KHz
B =[0,02675918611906  -0,04592084787595  0,019212292972391]
A =[1,00000000000000  -0,73845850035973 -0,17951755477430 ]
Fehler +/-0.25dB

Es ist in Form
Out = b0*in[0] + b1*in[-1] + b2*[-2] -a1*out[-1] -a2*out[-2]
wo in [0, -1, -2] sind die aktuellen Eingabe und der vorherigen 2 ;und 
aus [-1,-2] sind in den letzten zwei Ausgänge.

die Lösung könnte mit Simulation oder Mit Editor sein.
Danke.

von Detlef _. (detlef_a)


Lesenswert?

So etwa:

clear
B =[0.02675918611906  -0.04592084787595  0.019212292972391];
A =[1.00000000000000  -0.73845850035973 -0.17951755477430 ];
roots(B)
roots(A)
H=freqz(B,A,256);
plot(abs(H));
x=rand(1,1000);
y=filter(B,A,x);
return

Das ist nen etwas merkwürdiger Hochpaß. Ich bin nicht sicher, ob Du so 
etwas entwerfen wolltest. Erläuterung der benutzten FKts. mit z.B. 'help 
filter'.

Cheers
Detlef

von Gast2008 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo und danke schön für Ihren Antwort,
es Handelt sich um einen RIAA Filfer,seine kurve ist überall auf dem 
Netz, hat einen Frequenz (20-20000 HZ).meine Aufgabe ist,diser Filter 
mit matlab programmieren.
weil meine Kenntnisse von Matlab programmierung nicht gut ist,habe ich 
die Simmulation benutzt.
Ich habe die Schaltung Hochpaas Zweite Grad benutzt(Figure 2"on 
Reference RIAA Network"), Die Koeffizienten der Digitalen 
Übertragungsfunktion eingegeben...
Das Problem jetzt: ich brauche einen Generator wie Z.B SWEEP Generator 
der mir Frequenzen zwichen 20-20000Hz schafen kann.
Danke dass Sie für mich Zeit genommen haben.

http://www.euronet.nl/~mgw/background/riaa/uk_riaa_background_1.html
http://www.musicdsp.org/showArchiveComment.php?ArchiveID=122

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.