实验二预作结果 序列的DFT及谱分析

更新时间:2023-09-28 23:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二 离散傅立叶变换及谱分析预做实验

一、 实验目的

1.掌握离散傅里叶变换的计算机实现方法。 2.检验实序列傅里叶变换的性质。 3.掌握计算序列的圆周卷积的方法。

4.熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。 5.学习用DFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差,以便在实际中正确应用DFT。 二、 实验内容

1.实现离散傅里叶变换。 2.计算序列圆周卷积。

3.计算实序列傅里叶变换并检验DFT性质。

4.实现连续信号傅里叶变换以及由不同采样频率采样得到的离散信号的傅里叶变换。 5.实现补零序列的傅里叶变换。

6.实现高密度谱和高分辨率谱,并比较二者的不同。 三、实验结果

例1.计算离散傅里叶变换

设序列为 x(n)={ 1 2 3 4 5 6 7 8},对Circular -even component其进行DFT 10n=0:10;

5x=10*(0.8).^n;

[xec,xoc]=circevod(x);

0subplot(2,1,1);stem(n,xec); 012345678910ntitle('Circular -even component') Circular -odd component4xlabel('n');ylabel('xec(n)');

2axis([-0.5,10.5,-1,11])

0subplot(2,1,2);stem(n,xoc);

-2title ('Circular -odd component')

-4012345678910xlabel('n');ylabel('xoc(n)');

naxis([-0.5,10.5,-4,4])

figure(2) 该图中上图为序列的共轭对称分量;下图为共轭反对量。 X=dft(x,11); Xec=dft(xec,11); Xoc=dft(xoc,11);

subplot(2,2,1);stem(n,real(X));axis([-0.5,10.5,-5,50]) title ('Real{DFT[x(n)]}');xlabel('k');

subplot(2,2,2);stem(n,imag(X));axis([-0.5,10.5,-20,20]) title ('Imag{DFT[x(n)]}');xlabel('k');

subplot(2,2,3);stem(n,Xec);axis([-0.5,10.5,-5,50]) title ('DFT[xec(n)]');xlabel('k');

subplot(2,2,4);stem(n,imag(Xoc));axis([-0.5,10.5,-20,20]) title('DFT[xoc(n)]');xlabel('k');

xoc(n)xec(n) 1

例2.计算实序列x(n)=10*(0.8).^n 0<=n<=10 的DFT并检验DFT的性质 DFT[xec(n)]=Re[X(k)] DFT[xoc(n)]=Im[X(k)] 程序: n=0:10;

x=10*(0.8).^n; RealDFT[x(n)]50[xec,xoc]=circevod(x);

40subplot(2,1,1);stem(n,xec); 3020title('Circular -even component')

10xlabel('n');ylabel('xec(n)');axis([-0.5,10.5,-1,1100510]) kDFT[xec(n)]subplot(2,1,2);stem(n,xoc); 5040title('Circular -odd component')

30xlabel('n');ylabel('xoc(n)');axis([-0.5,10.5,-4,4]2010)

0figure(2) 0510kX=dft(x,11); 可以看出 DFT[xec(n)]=Re[X(k)] DFT[xoc(n)]=Im[X(k) Xec=dft(xec,11); Xoc=dft(xoc,11);

subplot(2,2,1);stem(n,real(X));axis([-0.5,10.5,-5,50]) title('Real{DFT[x(n)]}');xlabel('k');

subplot(2,2,2);stem(n,imag(X));axis([-0.5,10.5,-20,20]) title('Imag{DFT[x(n)]}');xlabel('k');

subplot(2,2,3);stem(n,Xec);axis([-0.5,10.5,-5,50]) title('DFT[xec(n)]');xlabel('k');

subplot(2,2,4);stem(n,imag(Xoc));axis([-0.5,10.5,-20,20]) title('DFT[xoc(n)]');xlabel('k'); 例3.计算序列的循环卷积 程序:

if length(x1)>N

error('N must be >= the length of x1') end

if length(x2)>N

error('N must be >= the length of x2') end

x1=[x1 zeros(1,N-length(x1))]; x2=[x2 zeros(1,N-length(x2))]; m=[0:1:N-1];

x2=x2(mod(-m,N)+1); H=zeros(N,N);

for n=1:1:N

ImagDFT[x(n)]20100-10-200510kDFT[xoc(n)]20100-10-200510k2

H(n,:)=cirshftt(x2,n-1,N); end

y=x1*H'

>> x1=[3 5 2 7 6 8 ];x2=[1 4 6 3 7];N=6; y =

106 132 106 110 82 115 若改变循环卷积长度:N=10 则运行结果为: y =

3 17 40 54 82 115 103 115 66 56

计算两个序列的线性卷积,即 z=conv(x1,x2) 则运行结果为: z =

3 17 40 54 82 115 103 115 66 56

通过以上结果可以看出:当循环卷积的长度大于等于线性卷积的长度时,二者结果相等;当循环卷积的长度小于线性卷积的长度时,二者是不等的。

例5.补零序列的离散傅立叶变换 设序列x(n)?R5(n)

n=0:4;

x=[ones(1,5)]; k=0:999;w=(pi/500)*k;

X=x*(exp(-j*pi/500)).^(n'*k); Xe=abs(X);

subplot(2,2,1);stem(n,x);ylabel('x(n)'); 1subplot(2,2,2);plot(w/pi,Xe);ylabel('|X(ejw)|');

0.5N=10;x=[ones(1,5),zeros(1,N-5)];

0n=0:1:N-1; 01X=dft(x,N);

magX=abs(X); 0.5k=(0:length(magX)'-1)*N/length(magX);

00subplot(2,2,3);stem(n,x);ylabel('x(n)');

subplot(2,2,4);stem(k,magX);

axis([0,10,0,5]);ylabel('|X(k)|'); N=20;x=[ones(1,5),zeros(1,N-5)]; n=0:1:N-1; X=dft(x,N); magX=abs(X);

k=(0:length(magX)'-1)*N/length(magX);

subplot(1,2,1);stem(n,x);ylabel('x(n)'); subplot(1,2,2);stem(k,magX);

x(n)x(n)6|X(ejw)|123442000.511.524|X(k)|510200510 3

axis([0,10,0,5]);ylabel('|X(k)|');

例6.高密度谱和高分辨率谱

设序列为x(n)?2cos(0.35?n)?cos(0.5?n) (该序列周期计算可得40)

%(2)请写出将第一问中的10长序列补零到40长,计算其DFT %(3)采样n=0:39,计算有40个有效采样点的序列的DFT

%实验报告要求: (1)请编写将有10个有效采样点的序列补零到40长后计算DFT的程序

(2) 请编写计算有40个有效采样点的序列的DFT的程序

(3) 将实验结果画出并分析实验结果说明什么 %有10个有效采样点序列的DFT程序 M=10; n=0:M-1;

x=2*cos(0.35*pi*n)+cos(0.5*pi*n);

subplot(2,1,1);stem(n,x);title('没有足够采样点的信号'); Y=dft(x,M);

k1=0:M-1;w1=2*pi/M*k1;

subplot(2,1,2);stem(w1/pi,abs(Y));title('信号的频谱');

没有足够采样点的信号420-2-40123456789信号的频谱105000.20.40.60.811.21.41.61.8

上图为10个采样点的序列;下图为其DFT

%将上述10长序列补零到40长计算DFT的程序 M=10;m=0:M-1;

x=2*cos(0.35*pi*m)+cos(0.5*pi*m); N=40;n=0:N-1;

x=[x,zeros(1,N-M)];

subplot(2,1,1);stem(n,x);title('补零后的序列'); Y=dft(x,N);

k1=0:N-1;w1=2*pi/N*k1;

subplot(2,1,2);stem(w1/pi,abs(Y));title('补零序列的频谱');

4

上图为10个采样点的序列补零到40长;下图为其DFT

%有40个有效采样点序列的DFT程序 M=40; n=0:M-1;

x=2*cos(0.35*pi*n)+cos(0.5*pi*n);

subplot(2,1,1);stem(n,x);title('没有足够采样点的信号'); Y=dft(x,M);

k1=0:M-1;w1=2*pi/M*k1;

subplot(2,1,2);stem(w1/pi,abs(Y));title('信号的频谱'); 没有足够采样点的信号此图为40个采样点的序列(即取一

4个周期);下图为其DFT

2

0从实验结果可以看出:高密度谱是

-2信号补零后得到的,虽然谱线相当-40510152025303540密,但是因为信号有效长度不变,信号的频谱所以其分辨率也不变,因此还是很

60难看出信号的频谱成分。高分辨率

40谱是将信号有效长度加长,因此分20辨率提高,可以看出信号的成分。

000.20.40.60.811.21.41.61.82 5

本文来源:https://www.bwwdw.com/article/o6jd.html

Top