离散傅里叶变换和快速傅里叶变换.docx

上传人:b****1 文档编号:10561025 上传时间:2023-05-26 格式:DOCX 页数:26 大小:410.55KB
下载 相关 举报
离散傅里叶变换和快速傅里叶变换.docx_第1页
第1页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第2页
第2页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第3页
第3页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第4页
第4页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第5页
第5页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第6页
第6页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第7页
第7页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第8页
第8页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第9页
第9页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第10页
第10页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第11页
第11页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第12页
第12页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第13页
第13页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第14页
第14页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第15页
第15页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第16页
第16页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第17页
第17页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第18页
第18页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第19页
第19页 / 共26页
离散傅里叶变换和快速傅里叶变换.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

离散傅里叶变换和快速傅里叶变换.docx

《离散傅里叶变换和快速傅里叶变换.docx》由会员分享,可在线阅读,更多相关《离散傅里叶变换和快速傅里叶变换.docx(26页珍藏版)》请在冰点文库上搜索。

离散傅里叶变换和快速傅里叶变换.docx

离散傅里叶变换和快速傅里叶变换

戶幵,戈丿、弟实验报告

课程名称:

彳指导老师成绩:

实验名称:

离散傅里叶变换和快速傅里叶变换实验类型:

同组学生姓名:

一、实验目的和要求(必填)二、实验内容和原理(必填)

三、主要仪器设备(必填)四、操作方法和实验步骤

五、实验数据记录和处理六、实验结果与分析(必填)

七、讨论、心得

一、实验目的和要求

1.掌握DFT的原理和实现

2.掌握FFT的原理和实现,掌握用FFT对连续信号和离散信号进行谱分析的方法。

二、实验内容和原理

2.1DTFT和DFT

 

N1

如果x(n)为因果有限长序列,n=0,1,...,N-1,则x(n)的DTFT表示为:

X(ej)x(n)e

n0

 

序列的N点DFT是DTFT在[0,2n上的N点等间隔采样,采样间隔为2dN。

通过DFT,可以完成由一组有限个信号采样值x(n)直接计算得到一组有限个频谱采样值X(k)。

X(k)的幅

度谱为X(k)v'xR(k)X|2(k),XR(k)和Xi(k)分别为X(k)的实部和虚部。

X(k)的相位谱

为(k)列吩

离散傅里叶反变换

IDFT)定义为x(n)丄N\(k)ej_Nnk(n0,1,…,N1)

Nn0

2.2FFT

快速傅里叶变换(FFT)是DFT的快速算法,它减少了DFT的运算量,使数字信号的处理

速度大大提高。

三、主要仪器设备

PC一台,matlab软件

四、实验内容

4.1第一题

求有限长离散时间信号

x(n)的离散时间傅里叶变换(DTFT)X(ejQ)并绘图。

(1)已知x(n)

0其2他n2;

(2)已知x(n)2n0n10。

0其他

4.1.1理论分析

1)

由DTFT计算式,

 

X(Q)是实数,可以直接作出它的图像。

Figure1X(Q)曲线

 

 

2)由DTFT计算式:

 

X(

x(n)ej

io

2nej

n0

1夕1©11」

12ej

z11。

11」

12ej

X(

211

12ej

可以发现

(Q)周期为2n

;而X(Q)

的相位在2n周期内有约十次振荡。

4.1.2编程计算作图

编写一个计算DTFT的函数。

functionDTFT(x,n1,n2)w=-2*pi:

2*pi/1000:

2*pi;%X=zeros(size(w));

fori=n1:

n2%DTFT

表示Q

计算式

X=X+x(i-n1+1)*exp((-1)*j*w*i);

end

angle(X);

subplot(2,1,1);

plot(w,abs(X),'r');

xlabel('\Omega');ylabel(subplot(2,1,2);

plot(w,angle(X),'b');

xlabel('\Omega');ylabel(end

'|X(\Omega)|');holdon;%作幅频图

'\angle(\Omega)');%作相频图

输入序列x,和n的取值范围,即可计算其DTFT。

 

1)输入:

x=[11111];

DTFT(x,-2,2);

(因为X(Q)是实数,所以实际计算过程中对相频曲线取了绝对值)结果:

Figure2X(Q)的频谱

可以看出,X(Q)的相位只有0和n两种取值,X(Q)是实函数,而且其幅度频谱与理论计算得到的相同。

 

2)输入:

n=0:

10;x=2.An;

DTFT(x,0,10)

结果:

 

2500

2000

1500

1000

-10

-5

0

5

0

Figure3第1题

(2)中X(Q)的频谱

500

-1

 

4.2第二题

已知有限长序列x(n)={色7,9,5,1,7,9,5},试分别采用DFT和FFT求其离散傅里叶变换X(k)的幅度、相位图。

4.2.1理论分析

由FFT蝶形运算得到,X(k)=51,7,-9-j4,7,3,7,-9+j4,7

4.2.2编程计算作图

1.DFT

编写一个计算DTFT的函数。

DFT(序列x,长度N)

functionDFT(x,N)

k=0:

N-1;

X=zeros(size(k));

forn=0:

N-1

X=X+x(n+1)*exp((-1)*j*2*pi/N*n*k);%DFT计算式

end

subplot(2,1,1);

stem(k,abs(X),'.');xlabel('k');ylabel('|X(k)|');holdon;%幅频图

subplot(2,1,2);

stem(k,angle(X),'*');xlabel('k');ylabel('Angle(k)');%相频图

end

输入:

x=[87951795];

DFT(x,8);

结果:

Figure4第2题DFT结果

2.FFT

编写一个利用matlab自带函数计算FFT并绘图的函数FFT1(序列x,长度N)

functionFFT1(x,N)

X=fft(x,8);%用自带的fft函数计算

k=0:

N-1;

subplot(2,1,1);

stem(k,abs(X),'.');xlabel('k');ylabel('|X(k)|');holdon;%幅频图

subplot(2,1,2);

stem(k,angle(X),'*');xlabel('k');ylabel('Angle(k)');%相目频图

end

输入:

x=[87951795];

FFT1(x,8);

结果:

Figure5第2题FFT结果

因为FFT只是DFT的一种快速算法,所以FFT的结果与DFT结果相同。

DFT和FFT的结果,符合理论计算得到的,X(k)=51,7,-9-j4,7,3,7,-9+j4,7

4.3第三题

已知连续时间信号x(t)=3cos8nt,X(3)=3[(8)(8)],该信号从t=0开始

以采样周期Ts=0.1s进行采样得到序列x(n),试选择合适的采样点数,分别采用DFT和FFT求其离散傅里叶变换X(k)的幅度、相位图,并将结果与X(k)的幅度、相位图,并将结果与

X(3)相比较。

4.3.1理论分析

1.原信号的频谱:

X(3)=3[(8)(8)],只在土8n不为0.且在土8n处相

2.采样角频率QS=20n>2X8n,满足采样定理。

3.采样后的信号,为X(3)以20n为周期的延拓。

所以只在(土8+20k)n(k为任意整

数)处不为0.如取区间[0,20n]内,只有8n和16n处不为0。

进行N点DFT后,将

812

20n的区间映射为[0,N]区间。

理想情况下仅在n=N和N两处不为0。

2020

4.x(n)cos(8nTs)cos(0.8n),周期为5,所以取采样点数为5的倍数时,不会发

生泄漏;而采样点数不是5的倍数时,则会发生泄漏。

10

1

3

3111131

9

-

8

7

6

X5

4

3

1

040

1

Figure6原始信号的频谱X(Q)

4.3.2编程计算作图

编写一个获得信号的N点样本的函数sample(点数N)

functionx=sample(N)

t=0:

0.1:

(N-1)*0.1;%0.1s为间隔

x=3*cos(8*pi*t);%x即采样结果

End

输入:

X=sample(N);

FFT1(X,N);

即可获得采样N点的频谱图。

因为DFT结果与FFT是完全一样的,所以这里只使用FFT

作图。

取采样点数N=51620104获得以下频谱图:

•••

-

-

.o51J

\2.51

33.5

Figure7N=5

Figure8N=16

Figure9N=20

 

80

Figure10N=104

可以看出,N=5和20时,由于是周期的整数倍,频谱只有两条谱线,且满足前面

812

理论计算得出的公式n=—N和宜N,没有发生泄漏,且这两条谱线对应

2020

的相位是0.所以频谱与原信号频谱在形式上时相同的。

而N=16和N=54时,则都

发生了频谱泄漏,频谱与原信号频谱就很不同了。

但相比之下N=54时谱线更加

接近原谱线。

验证了“为减小泄漏误差,如果待分析的信号实现不知道确切周期,

则截取较长时间长度的样点进行分析”这个说法。

同时也可以发现,虽然幅频图中显示幅值为0,但相频图中相应的位置仍有谱线。

这可能是matlab浮点运算造成的误差,即本来为0处其实是一个非常小的复数,所以仍有一定相位。

4.4第四题

4.4.1理论分析

若噪声信号较小,则采样后的频谱仍能较准确地反映原信号的特征。

4.4.2编程计算

对原采样程序稍加改编,加入一个噪声信号p*randn(1,N)。

p表示噪声信号的强度。

functionx=samplenoise(N,p)

t=0:

0.1:

(N-1)*0.1;

x=3*cos(8*pi*t)+p*randn(1,N);

end

取采样点数N=20进行分析。

输入:

X=samplenoise(20,p);%取P=1和10两种情况。

FFT1(X,20);

Figure11N=20噪声较小(p=1)

Figure12N=20噪声较大(p=10)

 

难准确获得原信号的频谱。

4.5第五题

3.5已知序列x(n)4(n)3(n1)2(n2)

(n3),X(k)是x(n)的6点DFT,设

 

(1)若有限长序列y(n)的6点DFT是Y(k)W64kX(k),求y(n)。

(2)若有限长序列w(n)的6点DFTW(k)是X(k)的实部,求w(n)。

(3)若有限长序列q(n)的3点DFT是Q(k)X(2k),k=0,1,2,求q(n)。

由题意得到:

x(n)=4,3,2,1,0,0n=(0,1,2,3,4,5)

4.5.1理论分析

1)由DFT的性质可以得到,如果y(n)的DFT为Y(k)W64kX(k),那么y(n)就是x(n)

圆周左移4位得到的。

所以y(n)=0,0,4,3,2,1

由题意,X(k)=103.5-j4.33012.5-8.66j22.5+j0.866

取实部,则W(k)=103.52.52.523.5

按照IDFT计算式x(n)

-N1X(k)ej^nk(n0,1,...,N1)计算得到

Nn0

w(n)=41.5111.5

由DFT的性质,因为W(k)是实数,所以对应的w(n)也是实数。

3)

由题意,Q(k)=102.5-8.66j2.5+j0.866

q(n)=532

4.5.2编程计算

1)

x=[432100];

X=fft(x,6);%求DFT

k=0:

5;

ifft(exp(j*4*pi/3*k).*X)%求IFFT

结果:

arts=

Calumns1Throueh5

D.QOOO呻O.ODOOiChOODQ+OcQOOOi4.C0Q0-0.OOOOi3.(WOO-0.OOQOi2.QD0D-GQQMH

Colunn0

LOOOO+0.00001

y(n)=0,0,4,3,2,1即x(n)圆周左移4位,与理论值相同。

2)

%接第

(1)题的程序

W=real(X);%取实部

ifft(W)

结果:

ans=

4.0000l-oOOO1.0000L00001,00001-5000

w(n)=41.5111.5与理论计算值相同。

3)%接第

(1)题的程序

Q=[X

(1)X(3)X(5)];%Q是X(2k),由于matlab的矩阵是从X

(1)开始,ifft(Q)%所以对应的应该是第1、3、5个元素

结果:

305=

□32

q(n)=532,与理论值相同。

4.6第六题

已知信号x(t)

sin(2f1t)sin(2f2t)sin(2f3t),其中f1=4Hz、f2=4.02Hz、f3=5Hz,采

用采样频率为20Hz进行采样,求:

(1)当采样长度N分别为512和2048情况下x(t)的幅度频谱;

(2)当采样长度N为32,且增补N个零点、4N个零点、8N个零点、16N个零点情况下

x(t)的幅度频谱。

461理论分析

1.首先20Hz的采样频率是满足采样定理的。

2.频率分辨率是DFT中谱线间的最小间隔,单位是Hz。

对于长度为N的序列,频率分辨

率为fs/N,为采样频率。

3.因为采样点数N不是周期的整数倍,所以一定会存在频谱泄露情况。

4.fs=20Hz时,N=512,则分辨率20/512疋0.039Hz>0.02Hz所以不能区分开信号中频率为4Hz禾口4.02Hz的两个分量。

5.N=2048,则分辨率20/2048~0.01Hz<0.02Hz可以区分开4Hz和4.02Hz的这两个分量。

4.6.2编程作图

编写一个取N个点并补充t*N个0的函数sample2(取样点数N,补零t)

functionx=sample2(N,t)

n=0:

0.02:

0.02*(N-1);%N个点

x=sin(2*pi*4*n)+sin(2*pi*4.02*n)+sin(2*pi*5*n);%取样过程

x(N+1:

N*(t+1))=0;%补零

end

1)输入:

x=sample2(N,0);%N=512,4096

FFT1(x,N);

结果:

300

250

200

150

100

50

0

Figure13N=512幅频图

N=512时,可以看到对4Hz和5Hz的分量是明显区分开来的。

对峰值附近放大来看:

300

Figure14N=512幅频图放大

看到k=103和104处有峰值。

4402

理论计算中,512102.4512102.9

2020

由于频谱泄露,在k=103和104处出现峰值,实际上并没有将4Hz和4.02Hz的两个分量区

分开来。

k

Figure15N=2048幅频图

N=2048时,显然区分开了4Hz和5Hz的分量。

峰值附近放大看:

在k=409、410和k=412有峰值。

4402

理论上2048409.62048411.6

2020

由于频谱泄露,在409.6附近的409和410处同时出现峰值,在411.6附近的412出现峰值。

所以采样点数N=2048时一定程度上区分开了4Hz和4.02Hz的分量。

2)输入

x=sample2(32,t);%t=取1,4,8,16

FFT1(x,N);%N=32*(t+1)

结果:

Figure16补32个0

Figure17补128个0

 

Figure18补256个0

Figure19补512个0

可以发现,采样点数相同,都是32。

20/32=0.6<1Hz,频谱图可以区分4Hz和5Hz分量,但

不可以区分4Hz和4.02Hz的分量。

2

补不同个数的0,幅频图的总体形状基本上是不变的。

只是谱线间隔0Ts越来越小,

N

谱线更加接近于N=32时的离散时间傅里叶变换DTFT的结果。

但是有效的数据点数只有32,

所以这些补0以后的幅频图都是不能区别开4Hz和4.02Hz的分量的,因为含有信息的点数

始终是32没有增加。

五、心得体会

1.通过本次虚拟实验,我对DFT、DTFT、FFT的公式更加熟悉了。

也从解题目中对采样定理、频谱泄露、频率分辨率等有了更加深的理解。

2.通过编写、调试程序,学习了一些matlab编程和绘图的方法。

3.matlab中元素下标是从1开始的,而信号描述中一般是从0开始的,编程时要要注意这

一点。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2