资源描述:
《dsp实验1:有限长序列、频谱、dft的性质》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、课程名称:数字信号处理实验名称:有限长序列、频谱、DFT的性质一、实验目的和要求设计通过演示实验,建立对典型信号及其频谱的直观认识,理解DFT的物理意义、主要性质。二、实验内容和步骤2-1用MATLAB,计算得到五种共9个序列:2-1-1实指数序列例如,a=0.5,length=10a=0.9,length=10a=0.9,length=202-1-2复指数序列例如,a=0.5,b=0.8,length=102-1-3从正弦信号x(t)=sin(2pft+delta)抽样得到的正弦序列x(n)=sin(2pfnT+delta)。如,信号频率f=1Hz,初始相位delta=0,抽样间隔T=
2、0.1秒,序列长length=10。2-1-4从余弦信号x(t)=cos(2pft+delta)抽样得到的余弦序列x(n)=cos(2pfnT+delta)。如,信号频率f=1Hz,初相位delta=0,抽样间隔T=0.1秒,序列长length=10。2-1-5含两个频率分量的复合函数序列x(n)=sin(2pf1nT)+delta×sin(2pf2nT+phi)。如,频率f1(Hz)频率f2(Hz)相对振幅delta初相位phi(度)抽样间隔T(秒)序列长length130.500.110130.5900.110130.51800.1102-2用MATLAB,对上述各个序列,重复下列过
3、程。2-2-1画出一个序列的实部、虚部、模、相角;观察并记录实部、虚部、模、相角的特征。2-2-2计算该序列的幅度谱、频谱实部、频谱虚部;观察和并记录它们的特征,给予解释。2-2-3观察同种序列取不同参数时的频谱,发现它们的差异,给予解释。三、主要仪器设备MATLAB编程。四、操作方法和实验步骤(参见“二、实验内容和步骤”)五、实验数据记录和处理1.实指数序列1-1.a=0.5,length=10clc;clf;clear;%清除n=0:9;%设置自变量区间xn=0.5.^n;%计算相应的x(n)k=0:9;%设置DFT采样长度xw=dftmtx(10)*xn';%DFT变换figure
4、(1);%画出原序列的实部、虚部、模、相角subplot(2,2,1);stem(n,real(xn),'filled');xlabel('x');ylabel('real(xn)');title('xn实部');subplot(2,2,2);stem(n,imag(xn),'filled');xlabel('x');ylabel('imag(xn)');title('xn虚部');subplot(2,2,3);stem(n,abs(xn),'filled');xlabel('x');ylabel('abs(xn)');title('xn模');subplot(2,2,4);stem(n
5、,angle(xn),'filled');xlabel('x');ylabel('angle(xn)');title('xn相角');figure(2);%画出频谱的幅度谱、频谱实部、频谱虚部subplot(3,1,1);stem(k,abs(xw),'filled');xlabel('k');ylabel('abs(xw)');title('幅度谱');subplot(3,1,2);stem(k,real(xw),'filled');xlabel('k');ylabel('real(xw)');title('频谱实部');subplot(3,1,3);stem(k,imag(xw),'
6、filled');xlabel('k');ylabel('imag(xw)');title('频谱虚部');1-2.a=0.9,length=10clc;clf;clear;%清除n=0:9;%设置自变量区间xn=(0.9).^n;%计算相应的x(n)k=0:9;%设置DFT采样长度xw=dftmtx(10)*xn';%DFT变换figure(1);%画出原序列的实部、虚部、模、相角subplot(2,2,1);stem(n,real(xn),'filled');xlabel('n');ylabel('real(xn)');title('xn实部');subplot(2,2,2);ste
7、m(n,imag(xn),'filled');xlabel('n');ylabel('imag(xn)');title('xn虚部');subplot(2,2,3);stem(n,abs(xn),'filled');xlabel('n');ylabel('abs(xn)');title('xn模');subplot(2,2,4);stem(n,angle(xn),'filled');xlabel('n');ylabel('angle