实验一 Matlab软件的使用1、实验目的和要求㈠掌握Matlab软件的使用方法;㈡常用离散时间信号的产生、显示和运算。
2、实验内容㈠Matlab软件常用命令和工具箱的使用,学会简单的编程;㈡编程实现常用离散时间信号;㈢离散时间信号的叠加、移位、线性卷积等基本运算。
3、实验原理利用软件生成数字信号处理系统中所涉及的信号及信号的加、移位、卷积等运算。
4、主要仪器设备计算机,Matlab软件。
实验步骤:程序1:n=-5:30;x=[zeros(1,5),1,zeros(1,30)];stem(n,x,'fill');grid on程序2:n=-5:30;x=[zeros(1,5),ones(1,8),zeros(1,23)];stem(n,x,'fill');grid on;程序3:n=-15:20;x=[zeros(1,15),1,2,3,4,5,zeros(1,16)];stem(n,x,'fill');grid on;程序4:N=10;M=10;L=N+M-1;x=[1,2,3,4,5,zeros(1,5)];h=[1,2,1,2,zeros(1,6)];y=conv(x,h);n=0:L-1;stem(n,y,'*k');grid on ;实验结果:1、2、3、4、实验二 DTFT和Z变换的Matlab实现1、实验目的和要求㈠掌握DTFT和Z变换的Matlab实现的方法;㈡进一步了解离散时域系统的时频特性。
2、实验内容㈠ DTFT和z变换的计算和基本性质;㈡离散时域系统的仿真;㈢利用函数实现离散时域系统的频率响应,分析零、极点的分布,进一步了解离散时域系统的时域特性。
3、实验原理利用Matlab软件计算出系统函数的零极点分布、单位脉冲响应和系统频率响应等的图像并于笔算结果进行比较,找出异同。
编译合适程序能计算取值范围不同的离散卷积。
4、主要仪器设备计算机,Matlab软件。
实验步骤:程序1:n=0:30;x=zeros(1,length(n));h=zeros(1,length(n));x([find((n>=0)&(n<=4))])=1;h([find((n>=0)&(n<=8))])=0.5; figure(1)subplot(3,1,1); stem(n,x);axis([0,30,0,2]); title('输入序列'); xlabel('n'); ylabel('x(n)'); subplot(3,1,2); stem(n,h);axis([0,30,0,2]);title('冲激响应序列'); xlabel('n');ylabel('h(n)');y=conv(x,h);subplot(3,1,3);n=0:length(y)-1; stem(n,y);title('输出响应'); xlabel('n');ylabel('y(n)');程序2:b=[0.0181,0.0543,0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];w=pi*freqspace(500); H=freqz(b,a,w);MH=abs(H);AH=angle(H);subplot(2,1,1);plot(w/pi,MH);grid;axis([0,1,0,1]);xlabel('w(pi)');ylabel('|H|');title('幅度、相位响应'); subplot(2,1,2);plot(w/pi,AH);grid;xlabel('w(pi)'); ylabel('angle(H)');实验结果:1、2、实验三 DFS和DFT的Matlab实现1、实验目的和要求㈠加深DFS和DFT的算法原理和基本性质的理解;㈡熟悉利用FFT对典型数字信号进行频谱分析。
2、实验内容㈠使用Matlab实现程序周期序列的DFS;㈡利用FFT和IFFT编程实现两个有限长序列的循环卷积;3、实验原理对有限长序列使用离散Fouier变换(DFT)可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现。
4、主要仪器设备计算机,Matlab软件。
实验步骤:程序1:function shiyan22()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T);subplot(2,1,1);plot(n,x);hold ontitle('x(n)');xlabel('n');X=fft(x);subplot(2,1,2);plot(n,X);gridtitle('FFT|X|');xlabel('f(pi)');程序2:n=0:30;%输入x(n)和冲激响应h(n)x=zeros(1,length(n));h=zeros(1,length(n));x([find((n>=0)&(n<=4))])=1;h([find((n>=0)&(n<=8))]) =0.5;subplot(3,1,1);stem(x);title('x(n)');axis([0,30,0,2]);subplot(3,1,2);stem(h);title('h(n)');axis([0,30,0,2]);X=fft(x);H=fft(h);Y=X.*H;y=ifft(Y);subplot(3,1,3);实验结果:1、2、实验四 IIR数字滤波器的设计和实现1、实验目的和要求㈠掌握冲击响应不变法和双线形变换法设计IIR数字滤波器的原理和方法;㈡通过观察对实际信号的滤波,获得对数字滤波的感性认识。
2、实验内容㈠巴特沃思滤波器设计实现模拟低通滤波器;㈡利用冲击响应不变法和双线形变换法对模拟滤波器进行A/D转换;3、实验原理用数字滤波器的单位脉冲响应序列)(nh模仿模拟滤波器的冲激响应)(tha,让)(nh正好等于)(tha的采样值,即)()(nThnha=。
4、主要仪器设备计算机,Matlab软件。
实验步骤:设计一个巴特沃思数字低通滤波器,设计指标如下:通带内πωω2.0=<p幅度衰减不大于1dB;阻带πωω35.0=>s幅度衰减不小于15dB。
编制实现该数字滤波器程序并且实现数字滤波。
function shiyan3()fp=200*pi;fs=300*pi;wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1;Fs=1000;[N,fc]=buttord(fp,fs,Rp,As,'s'); [b,a]=butter(N,fc,'s');w=[0:1000*2*pi];[hf,w]=freqs(b,a,1000);[d,c]=impinvar(b,a,Fs);wd=[0:512]*pi/512;hw1=freqz(d,c,wd);[f,e]=bilinear(b,a,Fs);hw2=freqz(f,e,wd);OmegaP=(2/T)*tan(wp/2);OmegaS=(2/T)*tan(ws/2);ep=sqrt(10^(Rp/10)-1);Ripple=sqrt(1/(1+ep.^2));Attn=1/10^(As/20);subplot(3,1,1);plot(wd/pi,abs(hw1)/abs(hw1(1)));title('幅度响应(冲击响应不变法)');xlabel('w(pi)');ylabel('H');ylabel('H');axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]); set(gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1]); grid;subplot(3,1,2);plot(wd/pi,20*log10((abs(hw2)+eps)/abs(hw2(1))));title('幅度响应(双线性变换法(dB))');xlabel('w(pi)');ylabel('H');axis([0,1,-40,5]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]); set(gca,'YTickmode','manual','YTick',[-50,-15,-1,0]); grid;subplot(3,1,3);plot(wd/pi,-angle(hw2));title('相位响应');xlabel('w(pi)');ylabel('pi unit');%axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]); set(gca,'YTickmode','manual','YTick',[-1,0,1]);grid;实验结果:实验五 FIR数字滤波器的设计和实现1、实验目的和要求㈠掌握用窗函数法设计FIR数字滤波器的原理和方法;㈡熟悉线性相位FIR滤波器的幅频特性和相频特性;㈢了解不同窗函数对滤波器性能的影响。
2、实验内容㈠用Hanning窗设计线性相位带通滤波器;㈡分别改用矩形窗和Blackman窗设计线性带通滤波器;3、实验原理确定数字滤波器的性能要求,根据性能要求,合理选择单位脉冲响应)(nh的奇偶对称性,从而确定理想频率响应)(ωjdeH的幅频特性和相频特性;求理想单位脉冲响应)(nhd,选择适当的窗函数)(nw,根据)()()(nwnhnhd=求所需设计的FIR滤波器单位脉冲响应;4、主要仪器设备计算机,Matlab软件。