matlab 实验四 信号的谱分析.doc
实验四信号的谱分析一、实验目的:1、掌握DTFT原理及其程序实现,学习用DTFT对信号进行谱分析。2、掌握DFT原理及其程序实现,学习用DFT对信号进行谱分析。3、熟悉FFT算法原理和掌握fft子程序的应用。4、掌握DFT的性质。二、实验内容:1、对于序列x(n)=[3,1,7,2,4],在-π~π内取64个频点,利用矩阵操作求其DTFT,画出它的幅频特性和相频特性。并把x(n)的位置零点右移一位,再求DTFT,画出其幅频特性和相频特性,讨论移位对于DTFT的影响。2、利用矩阵操作求1题中序列的DFT,并画图。3、利用Matlab自带的fft函数求1题中序列的DFT,并与1题中求出的DTFT相比较。4、已知序列x(n)=[2,3,4,5]位于主值区间,求其循环左移一位的结果,画出循环移位的中间过程。提示:左右各拓展一个周期,nx=[-4:7];采用stem函数画图。5、已知序列x(n)=[1,2,3,4,5,6]位于主值区间,循环长度为8,确定并画出循环折叠y(n)=x((-n)8);如果循环长度为6,确定并画出循环折叠y(n)=x((-n)6)。6、已知序列x(n)=[2,1,5,3]位于主值区间,h(n)=nR4(n),计算循环卷积,和线性卷积,画出1(()cynhxn⑥2()()cyhnx⑩(*()ynhx、和的波形图,观察循环卷积和线性卷积的关系。)2c3、实验报告要求:1.实验原理:序列x(n)的频谱定义为:;也njnexFjX)()()(称为它的离散时间傅立叶变换。可以认为,序列中的每一个样本x(n)对频谱产生的贡献为,把整个序列中所有样本的频谱分量按向量(即复数)叠加起来,就nje)(得到序列的频谱X(jω)。按定义:32jjjnjeexjXω的基频在[-π,π]范围内,可任意地连续取值,代入上式,即可求出一系列的X(jω),因为X(jω)是复数,可以分解为幅度和相位,并画出幅度和相位随频率变化的曲线。频点的设定:在左闭右开奈奎斯特频率区间中设定K个等间隔频点的通用公式:(K可奇可偶)2/)1(:/)(Kkkd2程序:x=[3,1,7,2,4];nx1=-1:3;nx=0:4K=64;dw=2*pi/K;k=floor((-K/2+0.5):(K/2-0.5));X=x*exp(-j*dw*nx *k);Y=x*exp(-j*dw*nx1 *k);subplot(2,2,1)plot(k*dw,abs(X))title( 原始 );xlabel( 频率 );ylabel( 幅频特性 );subplot(2,2,3)plot(k*dw,angle(X))xlabel( 频率 );ylabel( 相频特性 );subplot(2,2,2)plot(k*dw,abs(Y))title( 右移一位 );xlabel( 频率 );ylabel( 幅频特性 );subplot(2,2,4)plot(k*dw,angle(Y))xlabel( 频率 );ylabel( 相频特性 );结果:1)-4-3-2-10123405101520一一一一一一-4-3-2-101234-4-2024一一一一一一2)-4-202405101520一一一一一一一一-4-2024-4-2024一一一一一一-4-202405101520一一一一一一一一一一-4-2024-4-2024一一一一一一由图可以看出:1)序列的DTFT是连续函数;2)序列的DTFT是周期函数;3)实序列的DTFT具有对称性;4)信号在时间轴上的平移不影响其DTFT的幅频特性,只影响它的相频特性;5)时域对称的序列,它具有相位随频率线性变化的特点,对称中心所处的位置决定了相频特性的斜率的大小。2.实验原理:有限长序列x(n)(0≤n≤N-1)有N个样本值。把频率区间(0≤ω=0)RN1=(ny1>=0)subplot(4,1,1),stem(nx1,RN.*x1);%画x1的主值部分title( x1主值 )subplot(4,1,2),stem(nx1,x1);%画x1title( x1 )subplot(4,1,3),stem(ny1,y1);%画y1title( y1 )subplot(4,1,4),stem(ny1,RN1.*y1);%画出y1的主值部分title( y1主值 )结果:-4-20246805X1一一一-4-20246805X1-6-4-2024605Y1-6-4-2024605Y1一一一5、实验原理:把N点序列x(n)进行折叠,那么x的下标(-n)将不再在0≤n≤N-1区域内。要使它的下标仍在主值区,须利用其隐含周期性对变量(-n)进行N求余运算,称为循环折叠,定义x(n)循环折叠序列y(n)为:在MATLAB中,可表示为y=x(mod(-nx,N)+1)注意MATLAB中的变量下标由1开始,而mod函数的结果却从零开始,因此上述语句中右端下标要加1。对DFT,同样有Y=X(mod(-kX,N)+1)经循环折叠后,序列的DFT由下式给出:就是说,在时域循环折叠后的函数,其对应的DFT在频域也作循环折叠,并取X(k)的共轭。1)程序:x=[1,2,3,4,5,6]N=8nx=0:N-1;%原始数据x=[x,zeros(1,N-length(x))];%将x补零扩展到长Ny=x(mod(-nx,N)+1);%把x循环折叠,求得ysubplot(211),stem(nx,x)title( x )subplot(212),stem(nx,y)title( y为循环长度为10的循环折叠 )结果:012345670246x012345670246y一一一一一一10一一一一一2)程序:x=[1,2,3,4,5,6]N=length(x);nx=0:N-1;%原始数据x=[x,zeros(1,N-length(x))];%将x补零扩展到长Ny=x(mod(-nx,N)+1);%把x循环折叠,求得ysubplot(211),stem(nx,x)title( x )subplot(212),stem(nx,y)title( y为循环长度为6的循环折叠 )结果:00.511.522.533.544.550246x00.511.522.533.544.550246y一一一一一一6一一一一一6.实验原理:离散傅里叶变换的循环卷积特性也称为圆周卷积,分为时域卷积和频域卷积两类。1)时域循环卷积假定x(n)、h(n)都是N点序列,则时域循环卷积的结果y(n)也是N点序列:若x(n)、h(n)和y(n)的DFT分别为X(k)、H(k)和Y(k),则Y(k)=X(k)H(k)2)频域循环卷积利用时域和频域的对称性,可以得到频域卷积特性。若y(n)=x(n)h(n)则下面重点讨论时域循环卷积。时域循环卷积的方法有多种:方法1:直接使用时域循环卷积。由于有限长序列可以看成是周期序列的主值,因此,时域圆周卷积的结果可以由对应的周期序列卷积和取主值部分获得,请参考例11-4。方法2:用频域DFT相乘再求逆变换。即先分别求x1(n)、x2