数字信号处理实验指导书.doc_第1页
数字信号处理实验指导书.doc_第2页
数字信号处理实验指导书.doc_第3页
数字信号处理实验指导书.doc_第4页
数字信号处理实验指导书.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字信号处理实验指导数字信号处理课程组电子与信息工程学院班级: 姓名: 学号: 实验序号1234成绩综合评定:成绩:指导教师签字:实验一 典型离散信号及其MATLAB实现一、实验目的1 掌握MATLAB语言的基本操作,学习基本的编程功能。2 掌握MATLAB产生常用离散时间信号的编程方法。3 掌握MATLAB计算卷积的方法。二、实验原理(一)MATLAB常用离散时间信号1 单位抽样序列: 在MATLAB中可以利用zeros()函数实现。如果在时间轴上延迟了k个单位,得到即: 2单位阶跃序列: 在MATLAB中可以利用ones()函数实现。 3正弦序列:在MATLAB中:4复正弦序列:在MATLAB中:5指数序列:在MATLAB中:6.y=fliplr(x)信号的翻转;y=square(x)产生方波信号 y=sawtooth(x)产生锯齿波信号; y=sinc(x)产生sinc函数信号。(二)离散时间信号的卷积由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。离散时间信号的卷积定义为 可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。MATLAB求离散时间信号卷积和的命令为conv,其语句格式为y=conv(x,h)其中,x与h表示离散时间信号值的向量;y为卷积结果。用MATLAB进行卷积和运算时,无法实现无限的累加,只能计算时限信号的卷积。三、实验内容(一) 离散信号的产生离散信号的图形显示使用stem指令。编写MATLAB程序,产生下列典型脉冲序列。(1) 单位脉冲序列:起点n0,终点nf,在ns处有一单位脉冲。(2) 单位阶跃序列:起点n0,终点nf,在ns前为0,在ns处及以后均为1(n0=ns=0; %单位阶跃序列(3) 实指数序列:(4) 复指数序列:程序:n0=0;nf=10;ns=3;n1=n0:nf;x1=(n1-ns)=0; %单位脉冲序列n2=n0:nf;x2=(n2-ns)=0; %单位阶跃序列n3=n0:nf;x3=(0.75).n3; %实指数序列n4=n0:nf;x4=exp(-0.2+0.7j)*n4); %复指数冲序列subplot(2,2,1),stem(n1,x1);subplot(2,2,2),stem(n2,x2);subplot(2,2,3),stem(n3,x3);figuresubplot(2,2,1),stem(n4,real(x4); %注意subplot的变化subplot(2,2,2),stem(n4,imag(x4);subplot(2,2,3),stem(n4,abs(x4);subplot(2,2,4),stem(n4,angle(x4);(二)离散时间信号的卷积用MATLAB编写卷积运算函数。function y,ny=conv_improve(x,nx,h,nh)%x,nx为第一个信号%h,nh为第二个信号%conv(x,h)可以实现两个有限长度序列的卷积ny1=nx(1)+nh(1);ny2=nx(length(x)+nh(length(h);ny=ny1:ny2;y=conv(x,h);在命令窗口调用卷积函数。x=3 4 0 -2 2 3 5; nx=-3:3; h=1 4 5 6 0 1; nh=N:N+5;N是你的学号最后两位,带入后求结果。结果为:y = 3 16 31 36 18 4 19 47 41 32 3 5ny = 61 62 63 64 65 66 67 68 69 70 71 72四、实验分析观察实验结果,掌握、分析典型的离散时间信号,分析卷积运算。五、实验总结总结实验认识、过程、效果、问题、收获、体会、意见和建议。实验二 离散时间信号和离散时间系统一、实验目的1.掌握计算线性时不变系统的冲激响应的方法。2.理解时域采样的概念及方法。3.掌握离散时间信号的z变换和z逆变换分析4.了解离散时间傅里叶变换(DTFT)二、实验原理(一)信号采样采样就是利用周期性抽样脉冲序列pT(t),从连续信号xa(t)中抽取一系列的离散值,得到抽样信号(或称抽样数据信号)即离散时间信号。(二)线性时不变离散时间系统线性系统:满足线性叠加原理的系统。若y1(n)和y2(n)分别是输入序列x1(n)和x2(n)的响应,则输入x(n)=ax1(n)+bx2(n)的输出响应为y(n)=ay1(n)+by2(n)。时不变系统:即系统参数不随时间变化的系统,亦即系统对于输入信号的响应与信号加于系统的时间无关。即满足 :若y(n)是x(n)的响应,则y(n-m)是输入x(n-m)的响应,其中m是任意整数。数字滤波器对单位样本序列的响应称为冲激响应,用h(n)表示。线性时不变离散系统对输入信号x(n)的响应y(n)可用h(n)来表示:。(三)z变换和逆z变换序列的z变换定义为: 其中,z是复变量。相应地,单边z变换定义为: MATLAB提供了计算离散时间信号单边z变换的函数ztrans和z反变换函数iztrans: Z=ztrans(x),x=iztrans(z)。上式中的x和Z分别为时域表达式和z域表达式的符号表示,可通过sym函数来定义。如果信号的z域表示式是有理函数,进行z反变换的另一个方法是对进行部分分式展开,然后求各简单分式的z反变换。设的有理分式表示为 (4-3)MATLAB信号处理工具箱提供了一个对进行部分分式展开的函数residuez,其语句格式为R,P,K=residuez(B,A)其中,B,A分别表示X(z)的分子与分母多项式的系数向量;R为部分分式的系数向量;P为极点向量;K为多项式的系数。若X(z)为有理真分式,则K为零。三、实验内容(一)线性时不变系统的冲激响应的计算设系统为y(n)-0.5y(n-1)+0.75y(n-2)=2.5x(n)+2.5x(n-1)+2x(n-2),计算上述系统的冲激响应。N=40;num=2.5 2.5 2;den=1 -0.5 0.75;y=impz(num,den,N);%画出冲激响应stem(y);xlabel(时间序号n); ylabel(振幅);title(冲激响应); grid;(二)时域采样对连续正弦时间信号x(t)=cos(2ft)进行采样,其中f=13。t=0:0.0005:1; f=13; xa=cos(2*pi*f*t); subplot(2,1,1) plot(t,xa);grid xlabel(时间,msec); ylabel(振幅); title(连续时间信号); axis(0 1 -1.2 1.2) subplot(2,1,2); T=0.1; n=0:T:1; xs=cos(2*pi*f*n); k=0:length(n)-1; stem(k,xs);grid xlabel(时间序号n); ylabel(振幅); title(离散时间信号); axis(0 length(n)-1 -1.2 1.2)(三)z变换和z反变换1.用ztrans函数求函数的z变换。 x=sym(an*cos(pi*n);Z1=ztrans(x);Z=simplify(Z1);Z =z/(z+a)2.用iztrans函数求函数的z反变换。Z=sym(z*(2*z2-11*z+12)/(z-1)/(z-2)3);x=iztrans(Z);simplify(x)ans =3*2n-1/4*2n*n-1/4*2n*n2-3四、实验分析1.观察实验结果,分析系统的线性、时不变性,求出系统的冲激响应。2.对正弦信号进行采样。3.求出程序(三)中的(三)z变换和z反变换表达式。4.观察程序(四)离散时间信号的傅里叶变换的结果并分析。五、实验总结总结实验认识、过程、效果、问题、收获、体会、意见和建议。实验三 离散傅里叶变换(DFT)及其快速算法(FFT)一、实验目的1理解DFT算法,并能用MATLAB实现DFT。2. 加深对FFT的理解,体会DFT和FFT之间的关系。3熟悉应用FFT实现两个序列的线性卷积的方法。二、实验原理N点序列x(n) 的DFT和IDFT定义:若将DFT变换的定义写成矩阵形式,则得到X=Ax,其中DFT变换矩阵A为可以用函数U=fft(u,N)和u=ifft(U,N)计算N点序列的DFT正、反变换。三、实验内容(一)离散傅里叶变换(DFT)1.用MATLAB求N=16的有限序列的DFT结果,并画出结果图。参考程序如下:N=16;n=0:1:N-1; %时域采样xn=sin(n*pi/8)+sin(n*pi/4);k=0:1:N-1; %频域采样WN=exp(-j*2*pi/N);nk=n*k;WNnk=WN.nk;Xk=xn*WNnk;subplot(2,1,1)stem(n,xn);subplot(2,1,2)stem(k,abs(Xk);2. 矩形序列x(n)=R5(n),求N分别取8,32时的DFT,最后绘出结果图形。n=0:4;L=length(n);x=ones(L,1);N=8;n1=0:N-1;xk=fft(x,N);subplot(211);n2=(2*pi/N)*0:(N-1);stem(n2,abs(xk);xlabel(k),ylabel(幅度);subplot(212);stem(n2,angle(xk);xlabel(k),ylabel(相位);n=0:4;L=length(n);x=ones(L,1);N=32;n1=0:N-1;xk=fft(x,N);subplot(211);n2=(2*pi/N)*0:(N-1);stem(n2,abs(xk);xlabel(k),ylabel(幅度);subplot(212);stem(n2,angle(xk);xlabel(k),ylabel(相位);(二)快速傅里叶变换(FFT)1.已知一个8点的时域非周期离散阶跃信号,n1=0,n2=7,在n0=4前为0,n0以后为1。用N=32点进行FFT变换,作其时域信号图及信号频谱图。参考程序如下:n1=0;n0=4;n2=7;N=32;n=n1:n2;w=(n-n0)=0; %建立时间信号subplot(2,1,1);stem(n,w);i=0:N-1; %频率采样点从0开始y=fft(w,N); %用快速算法计算DFTaw=abs(y); %求幅度值subplot(2,1,2);stem(i,aw);2.利用FFT计算线性卷积。设x(n)=2 3 1 4 5;h(n)=2 1 7 4 5 7 2 3。计算二者的线性卷积。参考程序如下:x=2 3 1 4 5;h=2 1 7 4 5 7 2 3;Lenx=length(x); %求序列x的长度Lenh=length(h); %求序列h的长度N=Lenx+Lenh-1;Xk=fft(x,N); %计算x序列的DFTHk=fft(h,N); %计算h序列的DFTYk=Xk.*Hk;y=ifft(Yk) %求IDFTstem(y);xlabel(n);ylabel(y(n);title(x(n)*h(n);gridy = 4 8 19 38 43 66 81 59 64 46 22 15四.实验分析认真观察实验结果,记录结果,并画出结果图形,分析实验产生的现象的原因。五.实验总结总结实验认识、过程、效果及体会、意见建议。实验四 IIR数字滤波器的设计一、实验目的1. 熟悉Butterworth滤波器、Chebyshev滤波器的频率特性。 2. 掌握双线性变换法及冲激响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及冲激响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。 3. 观察双线性变换及冲激响应不变法设计的滤波器的频域特性,了解双线性变换法及冲激响应不变法的特点。 二、实验原理(1) 冲激响应不变法用数字滤波器的单位冲激响应序列h(n)模仿模拟滤波器的冲激响应ha(t),让h(n)正好等于ha(t)的采样值,即h(n)= ha(nT)其中T为采样间隔,如果以Ha(S)及H(z)分别表示ha(t)的拉式变换及h(n)的Z变换,则(2) 双线性变换法S平面与z平面之间满足以下映射关系:s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。双线性变换不存在混叠问题。双线性变换时一种非线性变换 ,这种非线性引起的幅频特性畸变可通过预畸而得到校正。三、实验内容 1. 设采样频率fs =4000+sn*100Hz,sn为学号后两位。用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3dB边界频率为fc =1kHz。用MATLAB程序实现如下:sn=20; %学号后两位 B,A=butter(3,2*pi*1000,s); %巴特沃思滤波器%b,a = butter(n,Wn,s),n为滤波器的阶数,Wn%为边界频率,按s的降幂排列fs =4000+sn*100;num1,den1=impinvar(B,A,fs);%脉冲响应不变法, 4000为采样频率h1,w=freqz(num1,den1); %计算系统频率特性B,A=butter(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论