Je Matlab pour concevoir un filtre et obtenir à coder alors les coefficients de la fonction de transfert a
et b
pour le filtre en C.Matlab IIR fonction de transfert de filtre
Cependant je constate que la fonction sos2tf
crée différents valeurs que prévu. En fait, lorsque vous utilisez fvtool
pour afficher le filtre en utilisant les coefficients b
et a
, le filtre est différent de celui de la représentation graphique en utilisant la matrice sos
ou le filtre réel f
.
Si vous essayez le code ci-dessous, vous pouvez mieux comprendre ce que je dis. Est-ce un problème de fonction venant de MATLAB? Puis-je utiliser des substituts à sos2tf
ce qui me donne les coefficients de filtre requis? Ou puis-je les récupérer directement sans utiliser d'abord sos
?
Notez que j'ai déjà essayé d'utiliser designfilt
puis en utilisant la fonction tf
et que les coefficients résultants sont exactement égaux à ceux obtenus avec le code ci-dessous. Merci pour votre aide
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);
Pourriez-vous me donner les spécifications du filtre et la fréquence d'échantillonnage que vous utilisez? – VMMF