我在MATLAB上设计了一FIR滤波器 n = 50; window = kaiser; beta = 3.3953; fs = 44100; fc = 10000; 使用simulink仿真,输入11K的正旋波信号都可以滤除掉.
我将MATLAB中的浮点系数导出成有符号的16位数据.在CCS5000中的仿真时只能滤除30K以上频率的信号.(DSP为vc5402),对于15K的信号都滤不掉. 请高手指点指点...
源程序如下:
void FirLowPassPrg(short *Input, short *Coefs, short *Output) { ushort i; short *dbprt = &buffer[0]; for ( i = 0; i < 51; i++) { buffer = 0x00; } for (i = 0; i < 1024; i++) { Output = 0x00; }
fir(Input, Coefs, Output, &dbprt, 51, 1024); }
|