xytlucil

MATLAB fir

0
阅读(1214)

用MATLAB生成滤波器的系数文件,在MATLAB首页新建一个脚本



 B = [ -90 0 148 219 0 -467 -658 0 1220 1626 0 -2875 -3909 0 8719 17911 21851 17911 8719 0 -3909 -2875 0 1626 1220 0 -658 -467 0 219 148 0 -90 ];  

a=1;  

x=[ -1 4 1 8 1 -1 0 8 1 1 2 12 1 2 1 0 21 2 4 8 0 1 32 1 8 1 -35 2 1 65 2 75 0 1];  

y=filter(B,a,x) 


在MATLAB命令框中输入文件名称,不用加后缀,即可执行文件。这样得到了滤波器的输出结果

其中,B数组是滤波器生成的系数文件。c,他和。coe文件是一样的。


其中x文件是输入信号。

输出结果如下,这个结果就是理论上的结果,用VIVADO 或者ISE,得到的滤波器的输出应该和这个一致。

 

>> Untitled


y =


  Columns 1 through 15


          90        -360        -238        -347         934        1960         690       -3748       -5923       -1383        9253       14206        3326      -21802      -35693


  Columns 16 through 30


       -8499       63482      155587      219005      222924      174176      109373       73680      105663      192691      285199      320053      262058      167516      134487


  Columns 31 through 34


      244845      429404      550320      478771