用数据采集卡采集两组数据A和B,各7500个离散数据,当时的数据采样频率是2500Hz,那么根据乃奎斯特定律,信号的最高频率为1250Hz。进行频谱分析:
可以看出,信号的截至频率就是1250Hz
现在设计一个滤波器,采用加窗的办法,此时用Hamming窗,要求的截至频率为400Hz
设计成一个低通滤波器:
那么该窗的指标为:ws=(400/2500)*2pi=0.32*pi;假设过渡带为0.02*pi,那么我们可以假设
Wp=0.31*pi;Ws=0.33*pi;
MATLAB程序如下:
>> ws=0.33*pi;wp=0.31*pi;
>> tr_width=ws-wp;
>> M=ceil(6.6*pi/tr_width)+1
M =
331
>> n=[0:1:M-1];
>> wc=(ws+wp)/2;
>> hd=ideal_lp(wc,M);
>> w_ham=(hamming(M))';
>> h=hd.*w_ham;
>> [A,B]=textread('EEE.txt','%f %f',7500);
>> y=filter(h,1,A);
>> y2=filter(h,1,B);
通过计算,给出滤波前和滤波后的对比图(仅给出了A组数据):
滤波以后的频谱图:
可以从下图中看出,400Hz的地方有很陡峭的截至,证明我们的滤波器设计的是满足要求的。
自己平时琢磨的东西,欢迎大家讨论,数据放在附件中,欢迎大家验证。下载本文