1、数字信号实验实验一:离散时间信号与系统一实验目的:%计算一全通系统(z-1-0.5)/(1-0.5z-1)的单位采样响应h(n),矩形序列R5(n)的响应;比较该响应与R5(n)*h(n)的结果二实验代码:n=0:19;x1=1,zeros(1,19);x2=ones(1,5),zeros(1,15);subplot(3,2,1);stem(n,x1);xlabel(n);ylabel(单位采样序列);subplot(3,2,2);stem(n,x2);xlabel(n);ylabel(矩形序列);a=-0.5,1;b=1,-0.5;y1=filter(a,b,x1);y2=filter(a,
2、b,x2);subplot(3,2,3);stem(n,y1);xlabel(n );ylabel(单位采样响应h(n) );subplot(3,2,4);stem(n,y2);xlabel(n );ylabel(矩形序列R5(n)响应);y=conv(x2,y1);for i=1:20y3(i)=y(i);endsubplot(3,2,5);stem(n,y3);xlabel(n );ylabel(R5(n)*h(n) );三实验绘图:实验二:z变换和系统频域特性一实验目的:%已知离散系统函数H(z)有一个零点在z=-2,两个极点在z=0.5e(j*pi/3)及其共轭位置。若其支流增益为1,
3、求(1)H(z)的系数,单位冲激响应,并画出系统零极点图和频率响应曲线。(2)将零点移至镜像位置,重复(1)并与之比较,看看有哪些区别.二实验代码:b=poly(-2);a=poly(0.5*exp(j*pi/3) 0.5*exp(-j*pi/3); b=0 b;b=b/4;%直流增益为1subplot(2,2,1);zplane(b,a);xlabel(Real part);ylabel(Imaginary part);grid on;%根据系统函数返回零极点图N=20;x=1 zeros(1,N-1);n=0:N-1;subplot(2,2,2);stem(n,filter(b,a,x);
4、xlabel(n);ylabel(h(n);grid on;%根据系统函数返回单位冲激响应(离散的)H,w=freqz(b,a,N);%根据系统函数返回02pi间等间隔的N个频率w相应的频率响应Hsubplot(2,2,3);plot(w,abs(H);xlabel(w);ylabel(|H(exp(jw)|);grid on;subplot(2,2,4);plot(w,angle(H);xlabel(w);ylabel(arg(H(exp(jw);grid on;figure;b=poly(-0.5);a=poly(0.5*exp(j*pi/3) 0.5*exp(-j*pi/3); b=0
5、b;b=b/2;%直流增益为1subplot(2,2,1);zplane(b,a);xlabel(Real part);ylabel(Imaginary part);grid on;%根据系统函数返回零极点图N=20;x=1 zeros(1,N-1);n=0:N-1;subplot(2,2,2);stem(n,filter(b,a,x);xlabel(n);ylabel(h(n);grid on;%根据系统函数返回单位冲激响应(离散的)H,w=freqz(b,a,N);%根据系统函数返回02pi间等间隔的N个频率w相应的频率响应Hsubplot(2,2,3);plot(w,abs(H);xla
6、bel(w);ylabel(|H(exp(jw)|);grid on;subplot(2,2,4);plot(w,angle(H);xlabel(w);ylabel(arg(H(exp(jw);grid on;三实验绘图:(1)figure(2)figure实验三:DFT与FFT一实验目的:%1有一调幅信号 xa(t)=1+cos(2pi*100t)cos(2pi*600t),用DFT做频谱分析,画出幅频特性。%(1)抽样频率fs=3kHz,抽样数据为512点;%(2)抽样频率fs=2kHz,抽样数据为512点;%(3)抽样频率fs=1kHz,抽样数据为512点;%(4)抽样频率fs=3kHz
7、,抽样数据为60点。%讨论fs与N满足什么条件才能使抽样信号能分辨所有的频率分量。%2已知序列x(n)=1,2,2,y(n)=1,2,3,4,求x(n)与y(n)的4点圆周卷积。二实验原理:对于有限长离散数字信号xn,0nN-1,其离散谱xk可以由离散付氏变换(DFT)求得。DFT 的定义为 ,k=0,1,2,3N-1FFT算法将长序列的DFT 分解为短序列的DFT。N 点的DFT 先分解为两个N/2 点的DFT,每个N/2 点的DFT 又分解为两个N/4 点的DFT 等等,最小变换的点数即基数,基数为2 的FFT 算法的最小变换是2 点DFT。一般而言,FFT 算法分为时间抽选(DIT)FF
8、T 和频率抽选(DIF)FFT 两大类。时间抽取FFT 算法的特点是每一级处理都是在时域里把输入序列依次按奇/偶一分为二分解成较短的序列;频率抽取FFT 算法的特点是在频域里把序列依次按奇/偶一分为二分解成较短的序列来计算。三实验代码:代码1:N1=512;n1=0:N1-1;fs1=3000;x1=1+cos(2*pi*100*n1/fs1).*cos(2*pi*600*n1/fs1);X1=fft(x1);subplot(4,1,1);stem(n1,abs(X1);N2=512;n2=0:N2-1;fs2=2000;x2=1+cos(2*pi*100*n2/fs2).*cos(2*pi*
9、600*n2/fs2);X2=fft(x2);subplot(4,1,2);stem(n2,abs(X2);N3=512;n3=0:N3-1;fs3=1000;x3=1+cos(2*pi*100*n3/fs3).*cos(2*pi*600*n3/fs3);X3=fft(x3);subplot(4,1,3);stem(n3,abs(X3);N4=60;n4=0:N4-1;fs4=3000;x4=1+cos(2*pi*100*n4/fs1).*cos(2*pi*600*n4/fs1);X4=fft(x4);subplot(4,1,4);stem(n4,abs(X4);代码2:%方法一x=1 2 2
10、;y=1,2,3,4;N=4;zl=conv(x,y);z=zeros(1,N);for i=1:Nfor k=i:N:length(zl)z(i)=z(i)+zl(k);endendz%方法二x=1 2 2;y=1,2,3,4;X=fft(x 0);Y=fft(y);z=ifft(X.*Y)z = 15 12 9 14四实验绘图:实验五:IIR滤波器的设计一实验目的:%设计一IIR数字带通滤波器,给定指标为(1)200Hzf400Hz,衰减2dB,(2)f600Hz,衰减20dB,(3)抽样频率fs=2kHz。%(1)用巴特沃斯滤波器,冲击响应不变法;%(2)用巴特沃斯滤波器,双线性变换法;
11、%(3)用切比雪夫滤波器,冲击响应不变法;%(4)用切比雪夫滤波器,双线性变换法。二实验原理: 在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord和cheb1ord可以确定低通原型巴特沃斯和切比雪夫滤波器的阶数和截止频率;2)num,den=butter(N,Wn)(巴特沃斯)和num,den=cheby1(N,Wn),num,den=cheby2(N,Wn)(切比雪夫1型和2型)可以进行滤波器的设计;3)lp2hp,lp2bp,lp2bs可以完成低通滤波器到高通、带通、带阻滤波器的转换;4)使用bilinear可以对模拟滤波器进行双线性变换,求得数字滤波器的传输
12、函数系数;5)利用impinvar可以完成脉冲响应不变法的模拟滤波器到数字滤波器的转换。三实验代码:fs=2000;Wc=2*pi*200 2*pi*400;Wst=2*pi*100,2*pi*600;Rp=2;Rst=20;wc=Wc/fs;wst=Wst/fs;N,Wn=buttord(Wc,Wst,Rp,Rst,s);B,A=butter(N,Wn,s);b,a=impinvar(B,A,fs);h1,w1=freqz(b,a,256);N,Wn=buttord(wc/pi,wst/pi,Rp,Rst);B,A=butter(N,Wn);h2,w2=freqz(B,A,256);N,Wn
13、=cheb1ord(Wc,Wst,Rp,Rst,s);B,A=cheby1(N,Rp,Wn,s);b,a=impinvar(B,A,fs);h3,w3=freqz(b,a,256);N,Wn=cheb1ord(wc/pi,wst/pi,Rp,Rst);B,A=cheby1(N,Rp,Wn);h4,w4=freqz(B,A,256);x=wc/pi,wst/pi;y=-Rp,-Rp,-Rst,-Rst;plot(w1/pi,20*log10(abs(h1),+,w2/pi,20*log10(abs(h2),-,w3/pi,20*log10(abs(h3),-.,w4/pi,20*log10(ab
14、s(h4),.,x,y,*);grid;xlabel(f in pi);ylabel(gain in db);axis(0,1,-50,10);legend(巴特沃斯,冲击响应不变法,巴特沃斯,双线性变换法,切比雪夫,冲击响应不变法,切比雪夫,双线性变换法);四实验绘图:实验四:FIR滤波器的设计一实验目的:%1利用窗函数法设计一个线性相位低通FIR数字滤波器,wp=0.4pi,wst=0.6pi,阻带最小衰减-50dB。%根据阻带最小衰减-50dB选择海明窗。%2利用频率抽样法,设计一个低通FIR数字滤波器,wc=0.5pi,抽样点数为N=33,要求滤波器具有线性相位。%(1)增加一点过渡带
15、进行优化,过渡带抽样点值为0.5;%(2)增加抽样点数至N=65,加两点过渡带优化,过渡带抽样点值为0.5886,0.1065;二实验原理: FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列。FIR滤波器的设计问题在于寻求一系统函数,使其频率响应逼近滤波器要求的理想频率响应,其对应的单位脉冲响应。三实验代码:代码1:wp=0.4*pi;wst=0.6*pi;wc=(wp+wst)/2;N=ceil(6.6*pi/(wst-wp);b=fir1(N-1,wc/pi,hamming(
16、N);h,w=freqz(b,1,500);plot(w/pi,20*log10(abs(h),-);ylabel(20log(|H|);xlabel(w/pi);grid;axis(0 1 -100 10);代码2:N=33;absH=ones(1,9),zeros(1,16),ones(1,8);%理想低通滤波器的频率抽样点的幅度。n=;for i=1:Nn(i)=i-1;endangH=-2*pi/N*n*(N-1)/2;%理想低通滤波器的频率抽样点的相角。H=absH.*exp(j*angH);%理想低通滤波器的频率抽样点。b=ifft(H,N);%所设计滤波器的单位抽样响应。H1,w
17、=freqz(b,1,500);%加一点过渡带优化|H(9)|=0.5N=33;absH=ones(1,9),zeros(1,16),ones(1,8);%理想低通滤波器的频率抽样点的幅度。absH(10)=0.5;absH(25)=0.5;n=;for i=1:Nn(i)=i-1;endangH=-2*pi/N*n*(N-1)/2;%理想低通滤波器的频率抽样点的相角。H=absH.*exp(j*angH);%理想低通滤波器的频率抽样点。b=ifft(H,N);%所设计滤波器的单位抽样响应。H2,w=freqz(b,1,500);%增加抽样点数至N=65,加两点过渡带优化N=65;absH=o
18、nes(1,17),zeros(1,32),ones(1,16);%理想低通滤波器的频率抽样点的幅度。absH(18)=0.5886;absH(19)=0.1065;absH(48)=0.1065;absH(49)=0.5886;n=;for i=1:Nn(i)=i-1;endangH=-2*pi/N*n*(N-1)/2;%理想低通滤波器的频率抽样点的相角。H=absH.*exp(j*angH);%理想低通滤波器的频率抽样点。b=ifft(H,N);%所设计滤波器的单位抽样响应。H3,w=freqz(b,1,500);plot(w/pi,20*log10(abs(H1),-,w/pi,20*log10(abs(H2),+,w/pi,20*log10(abs(H3),-.);ylabel(20log|H|);xlabel(w/pi);grid;legend(N=33,N=33优化,N=65优化);axis(0 1 -100 10);四实验绘图:图形1:图形2:
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2