麻烦解释一下这个滤波器matlab程序每一行的意思

问题描述:

麻烦解释一下这个滤波器matlab程序每一行的意思
%%
% Wp=0.2* pi; Ws=pi/2; Rs= 40; B=Ws- Wp;
% beta= 0.5842*(Rs-21)^0.4 + 0.07886 * (Rs- 21);
% N= ceil((Rs-8)/2.285/B);
% Wc= (Wp+ Ws)/2/pi;
% h=fir1(N,Wc,kaiser(N+1,beta));
%
%xt信号的频域信号
x2F=fft(x2,length(x2));
%%%%%%%%滤波器设计
fp=3000;fst=5550;fs=44100;
wp=2*fp/fs;
ws=2*fst/fs;
deltaw=ws-wp;
N0=ceil(6.6/deltaw);
N=N0+mod(N0+1,2);
n=N-1;
wn=(ws+wp)/2;
b=fir1(n,wn);
[H,w]=freqz(b,1,length(x2F),'whole');
mag=abs(H);
n=0:length(mag)-1;
fl=(0:length(x2F)-1)'*44100/length(x2F);
figure(11)
plot(fl,mag,'r-');
title('滤波器幅频响应');
xlabel('f'),ylabel('H');
hold on;
grid on
%%%通过滤波器之后的频域信号
for i=1:length(x2F)
signalF(i)=x2F(i)*H(i);
end
fl=(0:length(x2F)-1)'*44100/length(x2F);
figure(12)
mag2=abs(signalF);
plot(fl,mag2,'r-');
title('信号滤波后幅频响应');
xlabel('f'),ylabel('x1’(f)');
hold on;
grid on
%%%%通过滤波器之后的时域信号
signalT=ifft(signalF,N1);
figure(13)
plot(t,signalT,'r-');
title('信号滤波后时域信号');
xlabel('f'),ylabel(' x1’(t)');
hold on;
grid on
1个回答 分类:综合 2014-10-02

问题解答:

我来补答
程序已经改好 请注意查收!
 
 
展开全文阅读
剩余:2000