- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab关于用FFT作谱分析
Matlab关于用FFT作谱分析
中文摘要:
matlab是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。本文利用matlab的强大计算功能和信号数据处理功能,用FFT对连续信号和时域离散信号进行谱分析。
英文摘要:
matlab is used in algorithm development, data visualization, data analysis and numerical calculation of high-level technical computing language and interactive environment.。In this paper, matlab powerful computing capabilities and signal data processing functions, using FFT of a continuous signal and the time-domain discrete signal spectrum analysis.
关键词:FFT、连续信号、时域离散信号、matlab
一、引言
本文研究在matelab中用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因。除了数字信号变换和滤波的功能外,matlab还具有很强大的图像处理功能,数学计算功能等。而且不光是在物理学方面,在数学,化学,生物学,经济学,甚至是社会学也有很多应用。
傅立叶变换
1、离散傅立叶变换(DFT)
离散傅立叶级数变换是周期序列,有N个独立的数值,所以他的许多特性可以通过有限长序列沿拓来得到。对于一个长度为N的有限长序列x(n),也即小(n)只在0~(N-1)各点上有非零值,即
把序列x(n)以N为周期进行周期沿拓得到周期序列,则有
所以,有限长序列x(n)的离散傅立叶变换(DFT)为
逆变换为
编制信号产生子程序,产生以下典型信号供谱分析:
,
,
, 其它n
,
,
, 其它n
应当注意,如果给出的是连续信号,则首先要根据其最高频率确定采样速率以及由频率分辨率选择采样点数N,然后对其进行软件采样(即计算,),产生对应序列。对信号,频率分辨率的选择要以能分辨开其中的三个频率对应的谱线为准则。对周期序列,最好截取周期的整数倍进行谱分析,否则有可能产生较大的分析误差
编写主程序
下图给出了主程序框图,供参考。本实验提供FFT子程序和通用绘图子程序。
主程序框图
%x6(n)=cos(8пt)+cos(16пt)+cos(20пt) fs=64kHz,
N=16,32,64
m=input(FFT点数=);
n=0:(m-1);
subplot(2,2,1);
x6=cos(pi*n/8)+cos(pi*n/4)+cos(pi*n*5/16);
stem(n,x6,.); % stem:二维火柴棍图
xlabel(n);
ylabel(x6(n));
title(x6(n)=cos(8пt)+cos(16пt)+cos(20пt)的函数);
subplot(2,2,2);
xa=fft(x6,16);
i=0:15;
stem(i,abs(xa),.); % abs:求模,绝对值
xlabel(k);
ylabel(x6(n));
title(x6(n)的16点FFT);
subplot(2,2,3); % m行n列个图像,第p个区域
xb=fft(x6,32);
i=0:31;
stem(i,abs(xb),.);
xlabel(k);
ylabel(x6(n));
title(x6(n)的32点FFT);
subplot(2,2,4);
xc=fft(x6,64);
i=0:63;
stem(i,abs(xc),.);
xlabel(k);
ylabel(x6(n));
title(x6(n)的64点FFT
文档评论(0)