MATLAB实现FIR ,在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,再把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB实现FIR 数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行程序并显示、分析处理后的数据。使用该方法,便于采用汇编语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便程序调试、仿真
1、输入信号的产生
首先利用Matlab产生导入CCS的dat文件,具体实现如下代码所示
sl=500; %有效信号
ns1=3000; %高频噪声
ns2=8000; %高频噪声
fs=20000; %采样频率
N=1000;
T=1/fs;
n=0:N;
signal=sin(2*pi*sl*n*T);
noise1=0.7*sin(2*pi*ns1*n*T);
noise2=0.4*sin(2*pi*ns2*n*T);
x=(signal+noise1+noise2);%待滤波信号
figure(1)
plot(x)
figure(2)
y=abs(fft(x));%待滤波频谱
df=n*(fs/N);
plot(df,y)
figure(3)
plot(signal)
figure(4)
ysignal=abs(fft(signal));%滤波后频谱
df=n*(fs/N);
plot(df,ysignal)
%滤波数据导出