实验名称 学生姓名 一、实验内容 1. 产生三频率(100Hz,500Hz,1000Hz)叠加的信号。 2. 显示其频谱分布。 3. 设计一低通IIR滤波器,滤除最高频率1000Hz信号。 4. 设计一带通滤波器,滤除100Hz及1000Hz信号。 FIR数字滤波器的设计 系 别 通信工程通信 实验地点 实验日期 所有设计滤波器均为FIR滤波器 二、实验目的 本实验重在使学生结合具体应用,通过MATLAB的编程仿真及绘图,对信号的频谱进行分析,并设计相应的FIR滤波器实现滤波处理。具体可利用对应的函数设计FIR低通,高通,带通,带阻滤波器,并要求有相应的图形表示和结果,观察完成滤波之后的时域波形。使学生能够利用计算机完成对信号的上述处理与滤波功能,并分析现象。 。 三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况) 计算机一台(安装MATLAB6.5版本或以上版本) 四、实验试做记录(含程序、数据记录及分析) function st=mstg %产生信号序列向量st,并显示st的时域波形和频谱 %st=mstg 返回三路调幅信号相加形成的混合信号,长度N=1600 N=1600 %N为信号st的长度。 Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时间 t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; fc1=Fs/10; %第1路调幅信号的载波频率fc1=1000Hz, fm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hz fc2=Fs/20; %第2路调幅信号的载波频率fc2=500Hz fm2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hz fc3=Fs/40; %第3路调幅信号的载波频率fc3=250Hz, fm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hz xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号 xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号 xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号 st=xt1+xt2+xt3; %三路调幅信号相加 fxt=fft(st,N); %计算信号st的频谱 %====以下为绘图部分,绘制st的时域波形和幅频特性曲线==================== subplot(3,1,1) plot(t,st);grid;xlabel('t/s');ylabel('s(t)'); axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形') subplot(3,1,2) stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱') axis([0,Fs/5,0,1.2]); xlabel('f/Hz');ylabel('幅度') 再运行自定义的程序,产生如下三幅图:由上至下依次为高通、带通、低通 巴特沃斯滤波器 wp=2*pi*5000;ws=2*pi*12000;Rp=2;As=30; [N,wc]=buttord(wp,ws,Rp,As,'s'); [B,A]=butter(N,wc,'s'); k=0:511;fk=0:140000/512:14000;wk=2*pi*fk; Hk=freqs(B,A,wk); subplot(2,2,1); plot(fk/1000,20*log10(abs(Hk)));grid on; xlabel('ƵÂÊ(KHz)');ylabel('·ù¶È(dB)'); axis([0,14,-40,5]) 五、实验总结 通过本次上机实验,熟悉了matlab的使用并且使我我更进一步地了解了FIR数字滤波器的设计方法及其步骤,加深了我对FIR数字滤波器的认识。
因篇幅问题不能全部显示,请点此查看更多更全内容