用FFT做谱分析.doc

上传人:xin****828 文档编号:6595088 上传时间:2020-02-29 格式:DOC 页数:16 大小:245KB
返回 下载 相关 举报
用FFT做谱分析.doc_第1页
第1页 / 共16页
用FFT做谱分析.doc_第2页
第2页 / 共16页
用FFT做谱分析.doc_第3页
第3页 / 共16页
点击查看更多>>
资源描述
实验二 用FFT做谱分析一、 实验目的1、进一步加深DFT 算法原理和基本性质的理解(因为FFT只是DF的一种快速算法,所以FFT的运算结果必然满足DFT 的基本性质)。2、 熟悉FFT算法原理和FFT子程序的应用。 3、学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。 二、 实验原理用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行谱分析的信号是模拟信号和时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D和分析误差。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2/ND。可以根据此时选择FFT的变换区间N。误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。对模拟信号的频谱时,首先要按照采样定理将其变成时域离散信号。如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。三、 实验内容和步骤1、对以下典型信号进行谱分析: 2、对于以上信号,x1(n)x5(n) 选择FFT的变换区间N为8和16 两种情况进行频谱分析。分别打印其幅频特性曲线。 并进行对比、分析和讨论;;x6(t)为模拟周期信号,选择 采样频率,变换区间N=16,32,64 三种情况进行谱分析。分别打印其幅频特性,并进行分析和讨论。3、令x7(n)=x4(n)+x5(n),用FFT计算8点和16点离散傅里叶变换X(k)=DFTx(n),并根据DFT的对称性,由X(k)求出X4(k)=DFTx4(n)和X5(k)=DFTx5(n)。4、令x8(n)=x4+jx5(n),重复(3)。四、实验结果及数据分析1、实验程序:%实验二,用FFT做谱分析b=menu(请选择信号x1(n)-x8(n),x1(n),x2(n),x3(n),x4(n),x5(n),x6(n),x7=x4+x5,x8=x4+jx5,Exit);if b=9 b=0;endi=0;close all;while(b)if b=6temp=menu(请选择FFT变换区间长度N,N=16,N=32,N=64);if temp=1 N=16; elseif temp=2 N=32; else N=64; endfs=64;n=0:N-1;x=cos(8*pi*n/fs)+cos(16*pi*n/fs)+cos(20*pi*n/fs);elsetemp=menu(请选择FFT变换区间长度N,N=8,N=16,N=32); if temp=1 N=8; elseif temp=2 N=16; else N=32; endif b=1x=1 1 1 1 0 0 0 0;else if b=2 x=1 2 3 4 4 3 2 1; else if b=3x=4 3 2 1 1 2 3 4;else if b=4 n=0:N-1; x=cos(0.25*pi*n); else if b=5 n=0:N-1;x=sin(pi*n)/8);else if b=7 n=0:N-1; x=cos(n*pi/4)+sin(n*pi/8); else if b=8n=0:N-1;x=cos(n*pi/4)+j*sin(n*pi/8);end endend end end end end end%TO Calculate FFTf=fft(x,N);i=i+1;figure(i);printf(x,abs(f),abs(N),abs(b);if N=16 if b=7 k=conj(f); x4=(f+k)/2;%ReX7(k)=x4(k) figure(i+2); subplot(2,2,1); stem(abs(x4),.); xlabel(k); ylabel(|X4(k)|); title(恢复后的X4(k); x5=(f-k)/2;%jImX7(k)=X5(k) subplot(2,2,3); Stem(abs(x5),.); xlabel(k); ylabel(|X5(k)|); title(恢复后的X5(k); end if b=8 k(1)=conj(f(1); for m=2:N k(m)=conj(f(N-m+2); end fe=(x+k)/2;%求X8(k)的共轭对称分量 fo=(x-k)/2;%求X8(k)的共轭反对称分量 xr=ifft(fe,N);%xr=x4(n) b=4; figure(i+1) printf(xr,abs(fe),abs(N),abs(b); xi=ifft(fo,N)/j;%xi=x5(n) b=5; figure(i+2) printf(xi,abs(f),abs(N),abs(b); endendb=menu(请选择信号x1(n)-x8(n),x1(n),x2(n),x3(n),x4(n),x5(n),x6(n),x7=x4+x5,x8=x4+jx5,Exit);if b=9 b=0;endclose all;end2、实验结果图 图1 x1(n)的8点DFT 图2 x1(n)的16点DFT图 3 x2(n)的8点DFT图 4 x2(n)的16点DFT图 5 x3(n)的8点DFT图 6 x3(n)的16点DFT图 7 x4(n)的8点DFT图 8 x4(n)的16点DFT图 9 x5(n)的8点DFT图 10 x5(n)的16点DFT图 11 x6(n)的16点DFT图 12 x6(n)的32点DFT图 13 x6(n)的64点DFT图 14 x7(n)的8点DFT图 15 x7(n)的16点DFT图 16 |X4(k)|和|X5(k)|图 17 x8(n)的8点DFT图 18 x8(n)的16点DFT图19 x8e(k)的IDFTX8e(k)3、分析结果:(1)图1和图2说明的8点DFT和16点DFT分别是的频谱函数的8点和16点采样;(2)因为,所以,与的8点DFT的模相等,如图3和图5。但是,当N=16时,与不满足循环移位关系,所以图4和图6的模不同。(2)的周期为8,所以N=8和N=16均是其周期的整数倍,得到正确的单一频率正弦波的频谱,仅在0.25处有1根单一谱线。如图7和图8所示。(4)的周期为16,所以N=8不是其周期的整数倍,得到的频谱不正确,如图9所示。N=16是其一个周期,得到正确的频谱,仅在0.25和0.125处有2根单一谱线, 如图10所示。 (5)有3个频率成分,。所以的周期为0.5s。 采样频率。变换区间N=16时,观察时间Tp=16T=0.25s,不是的整数倍周期,所以所得频谱不正确,如图11所示。变换区间N=32,64 时,观察时间Tp=0.5s,1s,是的整数周期,所以所得频谱正确,如图12和13所示。图中3根谱线正好位于处。变换区间N=64 时频谱幅度是变换区间N=32 时2倍,这种结果正好验证了用DFT对中期序列谱分析的理论。注意:(1)用DFT(或FFT)对模拟信号分析频谱时,最好将X(k)的自变量k换算成对应的模拟频率fk,作为横坐标绘图,便于观察频谱。这样,不管变换区间N取信号周期的几倍,画出的频谱图中有效离散谐波谱线所在的频率值不变,如图12和13所示。(2)本程序直接画出采样序列N点DFT的模值,实际上分析频谱时最好画出归一化幅度谱,这样就避免了幅度值随变换区间N变化的缺点。本实验程序这样绘图只要是为了验证了用DFT对中期序列谱分析的理论。五、思考题1、当N=8时,x2n和x3n的幅频特性会相同吗?为什么?N=16呢? 答:当n=8时,幅频特性相同。因为它们函数表达的相同。当N=16时,模值不相同。2、对于周期序列,如果周期不知道,如何用FFT进行谱分析? 答:设一个定长的值m与2m分析后误差大 则取4n,4m的谱分析与2m比较,直到与 谱分析相差不多时便认为次谱分析近似原来的谱分析。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!