您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数字信号处理实验指导书(学生版)
“数字信号处理”实验指导书(一)一、实验课程编码:105003二、实验课程名称:数字信号处理三、实验项目名称:应用MATLAB分析离散信号频谱四、实验目的掌握应用MATLAB分析离散信号频谱的方法,即熟悉应用MATLAB分析离散信号的函数。五、主要设备安装有MATLAB软件的电脑六、实验内容编写MATLAB程序,实现下面题目:1.用快速卷积法计算下面两个序列的线性卷积。)()4.0(s)(15nRninnx,)(9.0)(20nRnhn2.已知序列cos0120nnNNxn其它(1)计算该序列DTFT的表达式jXe,并画出N=10时的jXe曲线;(2)编写MATLAB程序,利用FFT函数,计算N=10时,序列x[k]的DTFT在2mmN=的抽样值。利用hold函数,将抽样点画在jXe的曲线上。3.理解高密度频谱和高分辨率频谱的概念。设)52.0cos()48.0(co)(nnsnx(1)取0≤n≤9,求)(1kX(2)将(1)中的)(xn补零加长到0≤n≤99,求)(2kX(3)增加取样值的个数,取0≤n≤99,求)(3kX4.用DFT对连续信号做谱分析。设)50cos()100sin()200cos()(ttttxa,用DFT分析)(txa的频谱结构,选择不同的截取长度Tp,观察截断效应,试用加窗的方法减少谱间干扰。选取的参数:(1)频率ssfTHzf/1,400(2)采样信号序列)()()(nwnTxnxa,)(nw是窗函数。选取两种窗函数:矩形窗函数)()(nRnwN和Hamming窗,后者在程序中调用函数Hamming产生宽度为N的Hamming窗函数向量。(3)对)(nx做2048点DFT,作为)(txa的近似连续频谱)(jfXa。其中N为采样点数,psTfN,pT为截取时间长度,取三种长度0.04s、2×0.04s、4×0.04s、8×0.04s。5.已知一连续信号为xtt-3t=e,试利用DFT近似分析其频谱。要求频率分辨率为1Hz,确定抽样频率sf、抽样点数N以及持续时间Tp。说明:连续信号x(t)的频谱X(jΩ)可以由其离散信号x(n)的DFT近似求得:X(jΩ)≈T.FFT[x(n)],其中T为采样周期。计算连续信号x(t)的频谱,要考虑几个问题:1)频率混叠:如果x(t)不是有限带宽的,则采样频率fs选择的依据是,使由时域采样所造成的频率混叠小到可以忽略;2)频率分辨率:频率分辨率和信号在时域的持续时间成反比。3)截断效应:如果x(t)是无限长的,就必须进行截断,截断会引起吉布斯效应(波动),也会把窗函数的频谱引入信号频谱,造成混叠。分析连续信号频谱的一般步骤为:1)先初步选择时间记录长度T0,使得其包括了大部分非零的数据,然后用逐次增大采样频率fs的方法来选择采样频率。最终使得时域采样造成的频率混叠可以近似的忽略不计。2)在确定了采样频率后,进一步选择时间记录长度T0,即逐次将T0加倍,因为此时采样频率相同,两个频谱之间的差别是由截断效应不同引起的,如果两个频谱的误差不大,则这个记录长度T0可以接受。(本题直接给出了频率分辨率的要求,也就是记录长度T0可以直接确定(不必进行步骤2),只需进行步骤1逐次选择采样频率。)6.验证频域采样定理。(1)产生一个三角波序列x(n),长度为M=40;(2)计算N=64时的X(k)=DFT[x(n)],并图示x(n)和X(k)(3)对X(k)在]2,0[上进行32点抽样,得到X1(k)=X(2k),k=0,1,…,31。(4)求X1(k)的32点IDFT,即x1(n)=IDFT[X1(k)]。(5)绘制x1((n))32的波形图,观察x1((n))32和x(n)的关系,并加以说明。七、实验步骤1、熟悉与离散信号频谱分析相关的MATLAB函数(参考附录1);2、通过运行附录2中提供的例题,熟悉用MATLAB分析离散信号频谱的基本方法;3、根据“六、实验内容”中各个题目的要求,编写MATLAB程序代码,调试程序,分析并保存结果。八、实验结果对实验练习题编写MATLAB程序并运行,在计算机上输出仿真结果。附录1主要的相关MATLAB函数1.fft.m和ifft.m调用格式:〔X〕=fft(x)〔x〕=ifft(X)〔X〕=fft(x,N)〔x〕=ifft(X,N)2.czt.m调用格式:〔y〕=czt(x,m,w,s)3.fftshift.m调用格式:〔y〕=fftshift(x)附录2例题例1利用DFT的性质,编写MATLAB程序,计算下列序列的6点圆周卷积。(1)x[n]={1,-3,4,2,0,-2},h[n]={3,0,1,-1,2,1}(2)x[n]=cos(πn/2),h[n]=3n,n=0,1,2,3,4,5[MATLAB程序]:N=6;xn=[1,-3,4,2,0,-2];hn=[3,0,1,-1,2,1];Xk=fft(xn,N);%计算N点的DFT[x(n)]Hk=fft(hn,N);%计算N点的DFT[h(n)]Yk=Xk.*Hk;%DFT[x(n)].*DFT[h(n)]y=ifft(Yk,N)%计算N点的IDFT[Y(k)],即为x(n)和h(n)的圆周卷积[运行结果]:y=6.0000-3.000017.0000-2.00007.0000-13.0000[MATLAB程序]:N=6;n=0:N-1;xn=cos(pi*n/2);hn=3*n;Xk=fft(xn,N);%计算N点的DFT[x(n)]Hk=fft(hn,N);%计算N点的DFT[h(n)]Yk=Xk.*Hk;%DFT[x(n)].*DFT[h(n)]y=ifft(Yk,N)%计算N点的IDFT[Y(k)],即为x(n)和h(n)的圆周卷积[运行结果]:y=-6.0000-3.000018.000021.00006.00009.0000例2、基本序列的离散傅立叶变换计算复正弦序列:)(e)(81nRnxNnj,余弦序列:)()8cos()(2nRnnxN分别对以上序列求当N=16和N=8时的DFT,并绘出幅频特性曲线,对其结果进行分析。[MATLAB程序]:%基本序列的离散傅立叶变换计算N=16;N1=8;n=0:N-1;k=0:N1-1;x1n=exp(j*pi*n/8);%产生x1(n)X1k=fft(x1n,N);%计算N点的DFT[x1(n)]X2k=fft(x1n,N1);%计算N1点的DFT[x1(n)]x2n=cos(pi*n/8);%产生x2(n)X3k=fft(x2n,N);%计算N点的DFT[x2(n)]X4k=fft(x2n,N1);%计算N1点的DFT[x2(n)]subplot(2,2,1);stem(n,abs(X1k),'.');axis([0,20,0,20]);ylabel('|X1(k)|');title('16点的DFT[x1(n)]');subplot(2,2,3);stem(k,abs(X2k),'.');axis([0,20,0,20]);ylabel('|X1(k)|');title('8点的DFT[x1(n)]');subplot(2,2,2);stem(n,abs(X3k),'.');axis([0,20,0,20]);ylabel('|X2(k)|');title('16点的DFT[x2(n)]');subplot(2,2,4);stem(k,abs(X4k),'.');axis([0,20,0,20]);ylabel('|X2(k)|');title('8点的DFT[x2(n)]');[运行结果]:例3、验证N点DFT的物理意义已知)()(4nRnx,jjjeenxeX11)]([DFT)(4,绘制相应的幅频和相频曲线,并计算N=8和N=16时的DFT。[MATLAB程序]:%验证N点DFT的物理意义N1=8;N2=16;n=0:N1-1;k1=0:N1-1;k2=0:N2-1;w=2*pi*(0:2047)/2048;Xw=(1-exp(-j*4*w))./(1-exp(-j*w));%对x(n)的频谱函数采样2048个点可以近似看作是连续的频谱xn=[(n=0&n4)];%产生x(n),即将n中第0到第3个数变为1,其余为零X1k=fft(xn,N1);%计算N1点的DFTX2k=fft(xn,N2);%计算N2点的DFTsubplot(3,2,1);plot(w/pi,abs(Xw));xlabel('w/pi');subplot(3,2,2);plot(w/pi,angle(Xw));axis([0,2,-pi,pi]);line([0,2],[0,0]);xlabel('w/pi');subplot(3,2,3);stem(k1,abs(X1k),'.');xlabel('k(w=2pik/N1)');ylabel('|X1(k)|');holdon;plot(N1/2*w/pi,abs(Xw));%在频谱上叠加连续频谱的幅度曲线subplot(3,2,4);stem(k1,angle(X1k),'.');axis([0,N1,-pi,pi]);line([0,N1],[0,0]);xlabel('k(w=2pik/N1)');ylabel('Arg[X1(k)]');holdon;plot(N1/2*w/pi,angle(Xw));%在频谱上叠加连续频谱的相位曲线subplot(3,2,5);stem(k2,abs(X2k),'.');axis([0,N2,0,4]);xlabel('k(w=2pik/N2)');ylabel('|X2(k)|');holdon;plot(N2/2*w/pi,abs(Xw));subplot(3,2,6);stem(k2,angle(X2k),'.');axis([0,N2,-pi,pi]);line([0,N2],[0,0]);xlabel('k(w=2pik/N2)');ylabel('Arg[X2(k)]');holdon;plot(N2/2*w/pi,angle(Xw));[运行结果]:“数字信号处理”实验指导书(二)一、实验课程编码:103044二、实验课程名称:数字信号处理A三、实验项目名称:应用MATLAB设计IIR数字滤波器四、实验目的掌握应用MATLAB设计IIR数字滤波器的方法,即熟悉应用MATLAB设计IIR滤波器相关的函数。五、主要设备安装有MATLAB软件的电脑六、实验内容编写MATLAB程序,实现下列题目:1.用冲激响应不变法设计巴特沃思数字低通滤波器,采样频率为10kHz,通带截至频率1.5kHz,通带最大衰减3dB,阻带截至频率3kHz,阻带最小衰减为12dB。画出所设计的滤波器的幅度响应。2.用双线性法设计巴特沃思低通数字滤波器,采样频率10kHz,通带截至频率2.5kHz,通带最大衰减2dB,阻带截至频率3.5kHz,阻带最小衰减15dB。画出所设计的滤波器的幅度响应。3.使用双线性变换法设计低通数字滤波器,要求用切比雪夫I型滤波器逼近,设计指标为:ωp=0.4π,Rp=1dB,ωs=0.54π,RS=15dB画出所设计的滤波器的幅度响应。4.利用双线性变换法设计数字高通滤波器,要求用切比雪夫I型滤波器逼近,设计指标为:dB15,46.0dB1,6.0ssppAR画出所设计的滤波器的幅度响应。5.使用双线性变换法设计带通数字滤波器,要求用切比雪夫I型滤波器逼近,设计指标为:dB15,7.0,2.0dB1,5.0,4.02121ssspppAR画出所设计的滤波器的幅度响应。七、实验步骤1、熟悉与设计滤波器相关的MATLAB函数(参考附录1);2、通过运行附录2中提供的例题,熟悉用MATLAB设计IIR数字滤波器的基本方法;3、根据“六、实验内容”中各个题目的要求,编写
本文标题:数字信号处理实验指导书(学生版)
链接地址:https://www.777doc.com/doc-3911005 .html