Bonjour,
J'essaie actuellement de comprendre dans le détail comment fonctionne la création de filtres RIF avec Matlab. Je pensais avoir compris comment matlab calculait les coefficients d'un filtre RIF à partir des spécifications de celui-ci lorsqu'on utilise fir1, mais lorsque j'effectue le calcul de mon côté à partir des formules théoriques, je n'obtiens pas la même chose.
Pour être plus claire, voici ce que je compare sous Matlab :
b=fir1(17,0.9,boxcar(18),'noscale');
et
1 2 3 4
| d=((-9:-1)+0.5)*pi;
h=sin(2*d*0.9)./d;
h=[h h(9:-1:1)];
% provient de la formule théorique pour un filtre RIF d'ordre pair : h(n)=sin(pi*Fc*(2*n-1))/(pi*(2*n-1)/2) |
b et h devraient être égaux, et pourtant ce n'est pas du tout le cas. Comme je n'arrive pas à trouver comment Matlab calcule b, je ne comprends pas d'où vient la différence.
Merci d'avance à tous ceux qui pourront m'aider, car je suis pour l'instant bloquée dans mon travail à cause de ça.
Partager