实验五:FIR数字滤波器的设计与软件实现
1、信号产生函数xtg程序清单
function xt=xtg
N=1000;Fs=1000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T;
fc=Fs/10;f0=fc/10; mt=cos(2*pi*f0*t); ct=cos(2*pi*fc*t); xt=mt.*ct;
nt=2*rand(1,N)-1;
fp=150;fs=200;Rp=0.1;As=70; fb=[fp,fs];m=[0,1];
dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(As/20)-1)]; [n,fo,mo,W]=remezord(fb,m,dev,Fs); hn=remez(n,fo,mo,W); yt=filter(hn,1,10*nt); figure(2)
subplot(311),plot(t,yt);grid on;xlabel('t/s');ylabel('y(t)')
title('噪声yt的时域波形')
xt=xt+yt;
fst=fft(xt,N);k=0:N-1;f=k/Tp;
subplot(312),plot(t,xt);grid on;xlabel('t/s');ylabel('x(t)');
axis([0,Tp/4,min(xt),max(xt)]);title('信号xt加噪声波形') subplot(313),plot(f,abs(fst)/max(abs(fst)));grid on;xlabel('f/Hz');ylabel('幅度');
axis([0,Fs,0,1.2]);title('信号加噪声的频谱波形')
2、噪声波形、加噪信号波形以及信号频谱波形图
3、数字滤波器设计以及滤波程序
clear clc
Fs=1000;T=1/Fs; fp=120;fs=150; N=1000;Fs=1000;
t=0:T:(N-1)*T;Tp=N*T; k=0:N-1;f=k/Tp;
wp=2*pi*fp/Fs;ws=2*pi*fs/Fs; rp=0.1;rs=50; Bt=abs(wp-ws); %N1=8*pi/Bt; N1=419;
wc=(wp+ws)/2/pi;
hn=fir1(N1-1,wc,hamming(N1)); %wn=hamming(N1); [H,w]=freqz(hn,1); xt=xtg; figure(1)
yt=fftfilt(hn,xt);
subplot(4,1,1);stem(hn);xlabel('LP滤波器的h(n)'); subplot(4,1,2);plot(w/pi,abs(H));xlabel('LP
的
幅
频
谱
|H(jw)|');
subplot(4,1,3),plot(t,yt);grid on;xlabel('t/s');ylabel('yt的时域波形图');
ypt=fft(yt,N);
subplot(4,1,4),stem(f,abs(ypt)/max(abs(ypt)));grid on; xlabel('t/s');ylabel('yt的频域波形图');
4、数字滤波器波形以及频谱图,信号滤波后波形以及频谱图
因篇幅问题不能全部显示,请点此查看更多更全内容