用FFT对信号作频谱分析.docx

上传人:b****4 文档编号:1412887 上传时间:2022-10-22 格式:DOCX 页数:16 大小:162.57KB
下载 相关 举报
用FFT对信号作频谱分析.docx_第1页
第1页 / 共16页
用FFT对信号作频谱分析.docx_第2页
第2页 / 共16页
用FFT对信号作频谱分析.docx_第3页
第3页 / 共16页
用FFT对信号作频谱分析.docx_第4页
第4页 / 共16页
用FFT对信号作频谱分析.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

用FFT对信号作频谱分析.docx

《用FFT对信号作频谱分析.docx》由会员分享,可在线阅读,更多相关《用FFT对信号作频谱分析.docx(16页珍藏版)》请在冰豆网上搜索。

用FFT对信号作频谱分析.docx

用FFT对信号作频谱分析

实验三:

用FFT对信号作频谱分析

一、实验原理与方法

1、用FFT对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。

对信号进行谱分析的重要问题是频谱分辨率D和分析误差。

频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是,因此要求。

可以根据此式选择FFT的变换区间N。

误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时,离散谱的包络才能逼近连续谱,因此N要适当选择大一些。

2、周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。

如果不知道信号周期,可以尽量选择信号的观察时间长一些。

3、对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。

如果是模拟周期信号,也应该选取整数倍周期长度,经过采样后形成周期序列,按照周期序列的谱分析进行。

2、实验内容 

1、对以下序列进行FFT谱分析:

选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析。

程序见附录3.1、实验结果见图3.1。

2、对以下周期序列进行谱分析:

 

选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。

程序见附录3.2、实验结果见图3.2。

3、对模拟周期信号进行频谱分析:

 

选择采样频率Fs=64Hz,FFT的变换区间N为16、32、64三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。

程序见附录3.3、实验结果见图3.3。

4、已知有序列:

对选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析。

程序见附录3.4、实验结果见图3.4。

5、已知序列。

(1)求出的傅里叶变换,画出幅频特性相频特性曲线(提示:

用1024点FFT近似);

(2)计算的点离散傅里叶变换,画出幅频特性和相频特性曲线;

(3)将和的幅频特性和相频曲线特性分别画在同一幅图中,验证是的等间隔采样,采样间隔为;

(4)计算的N点IDFT,验证DFT和IDFT的唯一性。

程序见附录3.5、实验结果见图3.5、3.6、3.7。

6、选择合适的变换区间长度N,用DFT对下列信号进行谱分析,画出幅频特性和相频特性曲线。

程序见附录3.6、实验结果见图3.8、3.9。

3、实验结果和分析、讨论及结论

1、实验结果

图3.1的幅频特性曲线

实验分析、讨论及结论:

、、是非周期的对称序列。

由实验结果可以看出所得的实验频谱图是正确的,它与理论频谱是一致的。

2、实验结果

图3.2的幅频特性曲线

实验分析、讨论及结论:

的周期为8,所以N=8和N=16均是其周期的整数倍,得到正确的单一频率正弦波的频谱,仅在0.25处有1根单一谱线。

的周期为16,所以N=8不是其周期的整数倍,得到的频谱不正确。

N=16是其一个周期,得到正确的频谱,仅在0.25π和0.125π处有2根单一谱线。

3、实验结果

图3.3采样频率Fs=64Hz的幅频特性曲线

实验分析、讨论及结论:

由实验结果可知,有3个频率成分:

f1=4Hz,f2=8Hz,f3=10Hz。

所以x6(t)的周期为0.5s,采样频率=64Hz=16f1=8f2=6.4f3。

变换区间N=16时,观察时间=16T=0.25s,不是的整数倍周期,所以所得频谱不正确,如图3.3(6a)所示。

变换区间N=32,64时,观察时间=0.5s,1s,是的整数周期,所以所得频谱正确。

4、实验结果

图3.4的幅频特性曲线

实验分析、讨论及结论:

实验结果表明所得的频谱和其理论得出的频谱一致。

它是由和相加所得,可以看出它是一个非周期性的近似对称序列。

5、实验结果

图3.5傅里叶变换的幅频特性相频特性曲线

图3.6点离散傅里叶变换的幅频特性相频特性曲线

图3.7的2点IDFT

实验分析、讨论及结论:

图3-5显示的是x(n)的傅里叶变换的幅频特性和相频特性曲线;图3-6显示的是x(n)在N处分别等于6,18,36点时的DFT及相应的相位特性曲线,并且在图3-5中将和X(k)的幅频特性分别画在同一幅图中,可以看出,X(k)是的等间隔采样,采样间隔为。

图3-7显示的是利用得到的X(k)作IDFT,得到的序列与原序列x(n)完全一致,因此也验证了DFT和IDFT的唯一性。

6、实验结果

图3.8的幅频特性图

图3.9的幅频特性相频特性曲线

实验分析、讨论及结论:

是周期序列,所以截取了一个周期用DFT进行谱分析,而是非因果、非周期序列。

它也是一个实偶对称序列,所以其相位应该是零。

4、思考题

1、对于周期序列,如果周期不知道,如何用FFT进行谱分析?

答:

可先截取M点进行DFT,再将截取长度扩大1倍,比较两次的结果。

如果二者的主谱差别满足分析误差要求,则以两者中的一个近似表示周期序列的频谱,否则,继续把截取长度加倍,重复上述步骤。

2、如何选择FFT的变换区间?

(包括非周期信号和周期信号)

答:

(1)对于非周期信号:

有频谱分辨率F,而频谱分辨率直接和FFT的变换区间有关,因为FFT能够实现的频率分辨率是2π/N...因此有最小的N>2π/F。

就可以根据此式选择FFT的变换区间。

(2)对于周期信号,周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。

3、当N=8时,和的幅频特性会相同吗?

为什么?

N=16呢?

答:

不同,因为这样会影响是不是周期的整数倍的问题,即影响了频谱的正确性。

5、总结与心得体会

实验总结如下:

通过实验,我知道了用FFT对信号作频谱分析是学习数字信号处理的重要内容。

经常需要进行谱分析的信号是模拟信号和时域离散信号。

对信号进行谱分析的重要问题是频谱分辨率D和分析误差。

频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是。

可以根据此式选择FFT的变换区间N。

误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时,离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。

周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。

如果不知道信号周期,可以尽量选择信号的观察时间长一些。

对模拟信号进行频谱分析时,首先要按照采样定理将其变成时域离散信号。

如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。

此次实验所遇到的问题主要出现在编程方面,由于对FFT的了解不够深刻,编程时经常出现大大小小的问题,也出现过漏加符号的情况,但通过认真的学习了解,成功的解决了问题。

另外,在解决书里面的题时,因为对傅里叶变换的理解有误,导致进行傅里叶变换时出现了错误,但通过同学的讲解,解决了对傅里叶变换的困惑,成功的完成了实验。

实验的心得体会见下:

在此次试验中,通过实验加深了对MATLAB软件的了解,体会到了MATLAB具有完备的图形处理功能,实现计算结果和编程的可视化等功能。

通过做实验的过程以及实验分析的结果,知道了用FFT对信号作频谱分析是学习数字信号处理的重要内容。

通过这次的实验。

极大地提升了自己对于程序编辑的熟练度,增加了对于书本里面知识点的应用,更深一层的加深了对MATLAB软件的使用。

这对自己以后的实验积累了丰富的经验。

6、附件:

MATLAB原程序清单

3.1对作FFT变换区间N为8和16时的频谱分析

x1n=[ones(1,4)];%产生序列向量x1(n)=R4(n)

M=8;xa=1:

(M/2);

xb=(M/2):

-1:

1;x2n=[xa,xb];%产生长度为8的三角波序列x2(n)

x3n=[xb,xa];

X1k8=fft(x1n,8);%计算x1n的8点DFT

X1k16=fft(x1n,16);%计算x1n的16点DFT

X2k8=fft(x2n,8);%计算x1n的8点DFT

X2k16=fft(x2n,16);%计算x1n的16点DFT

X3k8=fft(x3n,8);%计算x1n的8点DFT

X3k16=fft(x3n,16);%计算x1n的16点DFT

%以下绘制幅频特性曲线

subplot(3,2,1);

mstem(X1k8);%绘制8点DFT的幅频特性图

title('(1a)8点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X1k8))])

subplot(3,2,2);mstem(X1k16);%绘制16点DFT的幅频特性图

title('(1b)16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X1k16))])

subplot(3,2,3);mstem(X2k8);%绘制8点DFT的幅频特性图

title('(2a)8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X2k8))])

subplot(3,2,4);mstem(X2k16);%绘制16点DFT的幅频特性图

title('(2b)16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X2k16))])

subplot(3,2,5);mstem(X3k8);%绘制8点DFT的幅频特性图

title('(3a)8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X3k8))])

subplot(3,2,6);mstem(X3k16);%绘制16点DFT的幅频特性图

title('(3b)16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X3k16))])

3.2对作FFT变换区间N为8和16时的频谱分析

N=8;n=0:

N-1;%FFT的变换区间N=8

x4n=cos(pi*n/4);

x5n=cos(pi*n/4)+cos(pi*n/8);

X4k8=fft(x4n);%计算x4n的8点DFT

X5k8=fft(x5n);%计算x5n的8点DFT

N=16;n=0:

N-1;%FFT的变换区间N=16

x4n=cos(pi*n/4);

x5n=cos(pi*n/4)+cos(pi*n/8);

X4k16=fft(x4n);%计算x4n的16点DFT

X5k16=fft(x5n);%计算x5n的16点DFT

subplot(2,2,1);mstem(X4k8);%绘制8点DFT的幅频特性图

title('(a)8点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X4k8))])

subplot(2,2,3);mstem(X4k16);%绘制16点DFT的幅频特性图

title('(b)16点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X4k16))])

subplot(2,2

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1