I MATLAB bin mit einem Filter zu entwerfen und die Übertragungsfunktion Koeffizienten a
und b
zu erhalten, um dann in den Filtercode C.Matlab IIR Filterübertragungsfunktion
I habe jedoch festgestellt, dass die Funktion sos2tf
verschiedene schafft Werte als erwartet. In der Tat, wenn fvtool
zu verwenden, um den Filter mit den b
und a
Koeffizienten zu sehen, sieht der Filter anders aus als ich ihn mit der sos
Matrix oder dem eigentlichen Filter f
plotten.
Wenn Sie den folgenden Code versuchen, können Sie besser verstehen, was ich sage. Ist das ein Funktionsproblem, das von MATLAB kommt? Kann ich Ersatzstoffe für sos2tf
verwenden, die mir die erforderlichen Filterkoeffizienten gibt? Oder kann ich sie direkt abrufen, ohne vorher sos
zu verwenden?
Beachten Sie, dass ich bereits versucht habe, designfilt
zu verwenden und dann die tf
-Funktion zu verwenden und die resultierenden Koeffizienten genau denen entsprechen, die mit dem folgenden Code erzielt werden. Danke für Ihre Hilfe
H = fdesign.lowpass('Fp,Fst,Ap,Ast',60,75,1,60,10000);
f = design(H,'butter','MatchExactly','passband'); % Design an FIR BW filt
info(f) % View information about filter
fvtool(f);
[b,a] = sos2tf(f.sosMatrix);
fvtool(b,a);
Könnten Sie bitte geben Sie mir die Filterspezifikationen und die Abtastfrequenz, die Sie verwenden? – VMMF