傅立叶逆变换FFT结果 分析
快速傅里叶变换(FFT)详解

⽂中内容均为个⼈理解,如有错误请指出,不胜感激前⾔先解释⼏个⽐较容易混淆的缩写吧FMT 快速莫⽐乌斯变化—>感谢stump提供多项式复数在介绍复数之前,⾸先介绍⼀些可能会⽤到的东西(好像画的不是很标准。
)定义设a ,b 为实数,i 2=−1,形如a +bi 的数叫复数,其中i 被称为虚数单位,复数域是⽬前已知最⼤的域在复平⾯中,x 代表实数,y 轴(除原点外的点)代表虚数,从原点(0,0)到(a ,b )的向量表⽰复数a +bi模长:从原点(0,0)到点(a ,b )的距离,即√a 2+b 2幅⾓:假设以逆时针为正⽅向,从x 轴正半轴到已知向量的转⾓的有向⾓叫做幅⾓运算法则加法:因为在复平⾯中,复数可以被表⽰为向量,因此复数的加法与向量的加法相同,都满⾜平⾏四边形定则(就是上⾯那个)乘法:⼏何定义:复数相乘,模长相乘,幅⾓相加代数定义:(a +bi )∗(c +di )=ac +adi +bci +bdi 2=ac +adi +bci −bd=(ac −bd )+(bc +ad )i单位根下⽂中,默认n 为2的正整数次幂在复平⾯上,以原点为圆⼼,1为半径作圆,所得的圆叫单位圆。
以圆点为起点,圆的n 等分点为终点,做n 个向量,设幅⾓为正且最⼩的向量对应的复数为ωn ,称为n 次单位根。
根据复数乘法的运算法则,其余n −1个复数为ω2n ,ω3n ,…,ωn n 注意ω0n =ωn n =1(对应复平⾯上以x 轴为正⽅向的向量)那么如何计算它们的值呢?这个问题可以由欧拉公式解决ωk n =cos k ∗2πn +i sin k ∗2πn例如图中向量AB 表⽰的复数为8次单位根单位根的幅⾓为周⾓的1n在代数中,若z n =1,我们把z 称为n 次单位根单位根的性质ωk n =cos k2πn +i sin k 2πn (即上⾯的公式)ω2k 2n =ωk n证明:ω2k 2n =cos2k ∗2π2n +i sin2k ∗2π2n =ωk nωk +n2n =−ωk n ωn2n =cos n 2∗2πn +i sin n 2∗2πn =cos π+i sin π=−1ω0n =ωn n =1讲了这么多,貌似跟我们的正题没啥关系啊。
fft结果的解释

FFT 变换结果的解释作者:dhwikFFT 是每个做信号处理都无法回避的问题,大家都在用,在使用的过程中,免不了会产生一些疑惑,变换后横纵坐标的标称值表示的是什么含义,它与原始信号对应频率的幅度是什么关系,为什么在画幅度-频率图时,对变换后的取模结果直流部分要除以采样数据长度L ,交流部分要除以L/2,而频率轴部分要除以FFT 变换点数N ,为啥要做这么奇怪的处理, 要问答这些问题,还得从傅里叶级数说起。
在做解说之前,先交代一下:FFT 是DFT 的快速算法(废话),做DFT 变换的序列x[n]隐含着周期性,是对x[n]做了周期延拓的,其本质与周期信号的傅里叶级数是一样的。
对一L 点实序列x[n],n=1,2,3….L ,做N 点FFT 产生一个N 点复数X[k],k=1,2,3…..N ,这里的讨论都是基于实序列的。
下面先说FFT 结果对应频点幅度与原始信号的相应频点幅度关系。
傅里叶前辈曾告诉我们:任何一个周期信号可以用一系列具有谐波关系的复指数信号之和来表示(详参文献[1]),它的周期就是基波周期,这就是傅里叶级数的数学理论,其数学表达式如下∑∞-∞==k kt T j k e a t x )/2(0)(π (1) 其中0T 是周期信号)(t x 的基波周期,其谐波频率为0/T k ,同时假定它是带限信号,否则没法由采样数据重构原始信号了,我们对这个表达式做个变形,重写如下∑∑∞=--∞=++=1)/2(1)/2(000)(k kt T j k k kt T j ke a e a a t x ππ (2) 由于傅式谱图关于纵轴对称,也即k a =k a -(实际是共轭对称,即k a*=k a -),对上式的后两项利用逆欧拉公式合并,得到∑∞=+=100))/2cos((2)(k k kt T aa t x π (3)对上式中k a 由傅里叶级数积分确定,即⎰-=000)/2(0)(1T kt T j k dt e t x T a π (4)对上式积分用n S T (S T 为采样周期,它应满足采样定理)代替t ,S T 代替dt ,L S T 代替0T (L 为用S F 采样一个周期0T 采样得到的采样点数),积分换成求和,得到上式的一个逼近,其精度与S F 有关∑-=-=10)/2()(1L n S knT LT j S S k T e nT x LT a S S π (5)用采样值x (n )代替采样时刻值)(S nT x ,化简得到∑-=-=10)/2()(1L n kn L j k e n x L a π (6) 对于上式去掉L1是不是感觉很熟悉了呢,它就是我们常说的DFT ,但还不完全是,注意这里k 没有限制。
快速傅里叶逆变换ifft

快速傅里叶逆变换ifft快速傅里叶逆变换(IFFT)是一种在信号处理和图像处理领域中广泛应用的算法。
它可以将频域中的信号转换回时域,从而实现信号的逆变换。
本文将介绍IFFT的原理和应用,并探讨其在实际中的意义。
IFFT是傅里叶变换的逆过程,它可以将频域中的信号还原为时域信号。
傅里叶变换是一种将信号在频域中表示的方法,它将信号分解为一系列不同频率的正弦和余弦波的叠加。
傅里叶变换可以用来分析信号的频谱特性,而IFFT则可以将频谱还原为原始信号。
在实际应用中,IFFT有着广泛的应用。
例如,在音频处理中,我们可以使用IFFT将频域中的音频信号转换回时域,从而实现音频信号的还原。
在图像处理中,我们可以将图像的频谱转换回像素域,从而实现图像的还原。
此外,IFFT还被广泛应用于通信系统中,用于信号的解调和恢复。
IFFT的原理非常简单,它只需要对频域信号进行逆序和傅里叶变换即可。
具体而言,IFFT将频域信号分成两部分,分别进行逆序和傅里叶变换。
然后将得到的结果相加,就可以得到还原后的时域信号。
IFFT的应用可以帮助我们更好地理解信号的特性。
通过将信号从频域转换回时域,我们可以观察信号的波形和幅度变化,进而分析信号的频谱特性。
这对于音频处理、图像处理和通信系统等领域都非常重要。
在音频处理中,IFFT可以帮助我们还原被压缩的音频信号。
当我们将音频信号压缩为频域表示时,可以利用IFFT将其还原回时域,从而恢复原始的音频信号。
这对于保证音质的同时减小文件大小非常有帮助。
在图像处理中,IFFT可以帮助我们还原被修改的图像。
当我们对图像进行滤波或者图像处理时,可以将图像转换为频域表示进行处理,然后再利用IFFT将其还原回像素域。
这样可以保证图像的质量,同时也方便了图像的处理。
在通信系统中,IFFT可以帮助我们解调信号。
当信号经过调制后,可以利用IFFT将其从频域转换回时域,从而恢复原始的信号。
这对于通信系统的正常工作非常重要,可以保证信息的传输质量。
FFT结果的物理意义

FFT结果的物理意义傅里叶变换的结果称为傅里叶谱(Fourier Spectrum)或频谱。
频谱展示了信号在不同频率上的强度分布情况,可以提供有关信号的许多重要信息,如频率成分、周期性、谐波分布等。
傅里叶谱的物理意义可以从以下几个方面来解释。
1.频率成分分析:信号经过傅里叶变换后,可以得到频谱,即信号在不同频率上的能量分布情况。
频谱图展示了信号中存在的基频和谐波成分的强度。
傅里叶变换可以帮助研究者分析信号中存在的频率成分,如声音中的音高、光信号中的颜色成分等。
2.能量分布分析:傅里叶谱可以展示信号在不同频率上的能量分布情况,通过分析信号的能量分布,可以了解信号在不同频率区间上的重要程度。
例如,在音频信号处理中,低频区域通常表示基频,高频区域表示谐波成分。
通过分析傅里叶谱,可以确定信号的能量主要分布在哪些频率上,从而对信号进行分类、滤波或降噪处理。
3.周期性分析:通过傅里叶变换,可以将周期性信号转换为频域上的离散频率线谱图。
线谱图中每个频率分量的强度代表了对应频率的贡献。
通过频谱分析,可以确定信号的频率和周期,并进一步分析信号的周期性特征。
4.滤波和降噪处理:傅里叶变换在滤波和降噪处理中也有重要作用。
通过观察频谱图,可以确定信号中存在的噪声成分,并在频域上删除或削弱这些成分。
滤波器可以根据信号在频谱中的分布选择,如低通滤波器、高通滤波器等。
利用傅里叶变换进行滤波和降噪处理,可以有效去除信号中的干扰和噪声。
5.编码和解码:傅里叶变换也用于信号的编码和解码。
通过将信号转换到频域上,可以用频谱图中的频率和振幅作为编码信息。
在信号传输和存储过程中,对信号进行压缩和解压缩时,常常利用傅里叶变换来进行频率编码和解码,以减小数据量并提高传输效率。
总之,傅里叶变换的物理意义主要体现在分析信号的频率成分、能量分布情况、周期性特征、滤波降噪处理和信号编码解码等方面。
通过傅里叶变换,我们可以更全面地理解信号的性质和特征,为信号处理和通信领域的研究和应用提供有力的数学工具。
fft结果的解释

FFT 变换结果的解释作者:dhwikFFT 是每个做信号处理都无法回避的问题,大家都在用,在使用的过程中,免不了会产生一些疑惑,变换后横纵坐标的标称值表示的是什么含义,它与原始信号对应频率的幅度是什么关系,为什么在画幅度-频率图时,对变换后的取模结果直流部分要除以采样数据长度L ,交流部分要除以L/2,而频率轴部分要除以FFT 变换点数N ,为啥要做这么奇怪的处理, 要问答这些问题,还得从傅里叶级数说起。
在做解说之前,先交代一下:FFT 是DFT 的快速算法(废话),做DFT 变换的序列x[n]隐含着周期性,是对x[n]做了周期延拓的,其本质与周期信号的傅里叶级数是一样的。
对一L 点实序列x[n],n=1,2,3….L ,做N 点FFT 产生一个N 点复数X[k],k=1,2,3…..N ,这里的讨论都是基于实序列的。
下面先说FFT 结果对应频点幅度与原始信号的相应频点幅度关系。
傅里叶前辈曾告诉我们:任何一个周期信号可以用一系列具有谐波关系的复指数信号之和来表示(详参文献[1]),它的周期就是基波周期,这就是傅里叶级数的数学理论,其数学表达式如下∑∞-∞==k kt T j k e a t x )/2(0)(π (1) 其中0T 是周期信号)(t x 的基波周期,其谐波频率为0/T k ,同时假定它是带限信号,否则没法由采样数据重构原始信号了,我们对这个表达式做个变形,重写如下∑∑∞=--∞=++=1)/2(1)/2(000)(k kt T j k k kt T j ke a e a a t x ππ (2) 由于傅式谱图关于纵轴对称,也即k a =k a -(实际是共轭对称,即k a*=k a -),对上式的后两项利用逆欧拉公式合并,得到∑∞=+=100))/2cos((2)(k k kt T aa t x π (3)对上式中k a 由傅里叶级数积分确定,即⎰-=000)/2(0)(1T kt T j k dt e t x T a π (4)对上式积分用n S T (S T 为采样周期,它应满足采样定理)代替t ,S T 代替dt ,L S T 代替0T (L 为用S F 采样一个周期0T 采样得到的采样点数),积分换成求和,得到上式的一个逼近,其精度与S F 有关∑-=-=10)/2()(1L n S knT LT j S S k T e nT x LT a S S π (5)用采样值x (n )代替采样时刻值)(S nT x ,化简得到∑-=-=10)/2()(1L n kn L j k e n x L a π (6) 对于上式去掉L1是不是感觉很熟悉了呢,它就是我们常说的DFT ,但还不完全是,注意这里k 没有限制。
声波通信 傅里叶变换(fft)算法

声波通信傅里叶变换(fft)算法声波通信是一种通过声波传输信息的通信方式。
在这种通信中,声波被用作信息的载体,可以通过声音的频率、振幅等特征来传递信息。
声波通信广泛应用于无线通信、水声通信和生物通信等领域。
为了实现高效、可靠的声波通信,傅里叶变换算法(Fast Fourier Transform,简称FFT)被广泛应用于声波信号的处理和分析。
傅里叶变换是一种将时域信号转换为频域信号的数学工具。
它可以将一个连续信号或离散信号表示为一组正弦和余弦函数的线性组合。
通过对信号进行傅里叶变换,我们可以得到信号的频谱信息,包括频率成分和振幅强度等。
在声波通信中,傅里叶变换通常用于对声音信号进行频谱分析和滤波处理。
FFT算法是一种高效地计算傅里叶变换的方法。
传统的傅里叶变换算法需要O(N^2)的计算复杂度,而FFT算法可以将计算复杂度降低到O(NlogN),大大提高了计算效率。
FFT算法的基本思想是将一个长序列的傅里叶变换分解为若干个较短序列的傅里叶变换,然后再将得到的结果进行组合。
通过迭代的方式,可以逐步将一个复杂的傅里叶变换分解为多个简单的傅里叶变换的组合,从而实现了高效的计算。
在声波通信中,FFT算法可以用于多个方面。
首先,它可以用于声波信号的频谱分析。
通过对声音信号进行傅里叶变换,我们可以将声音信号表示为频率成分和振幅强度的形式。
这样可以帮助我们了解声音信号的频率分布和特征,进而判断信号的来源和内容。
例如,可以用FFT算法对音乐信号进行频谱分析,从而识别出音乐中的各个音调和乐器声音。
另外,FFT算法还可以用于声波信号的滤波处理。
通过对声波信号进行傅里叶变换,我们可以将信号从时域转换为频域。
然后,可以对频谱进行操作,例如提取感兴趣的频率成分、去除噪声成分等。
最后,再将得到的频谱信号进行傅里叶逆变换,将信号重新转换为时域。
通过这样的滤波处理,可以提高声波通信的质量和可靠性。
例如,在语音通信中,可以使用FFT算法对语音信号进行降噪处理,去除背景噪声,提高语音的清晰度。
FFT傅里叶变换与逆变换

C14列为原 始采样数据
Data1、采样数据:假设有一理想的信号源,其表达式S=2+3*cos(2*pi*50*t-pi*30/180)+ 1.5*cos(2*pi*75*t+pi*90/180) ,即由一个幅度为2的直流分量,一个幅度为3、相位 为-30度、频率为50HZ及一个幅度为1.5、相位为90度、频率为75HZ的交流信号组 成,现以256HZ的采样频率进行采样,数据如下。
Data.PS软件
2、傅里叶变换:对上述采样数据进行傅里叶分析,结果如下。
Data.PS软件
3、傅里叶变换幅值相角图:由C1,C5,C6列数据绘图如下。
特征点的频率、幅值和相角分别为:(0,2,0),(50,150,3),(75,1.5,90)
Data.PS软件
4、傅里叶逆变换:对傅里叶变换后的实部和虚部数据进行逆变换,结果如下。
傅立叶逆变换FFT结果分析

傅立叶逆变换FFT结果分析傅立叶逆变换(Inverse Fast Fourier Transform,以下简称IFFT)是傅立叶变换的逆运算,用于将频域上的信号转换回时域。
在信号处理和数字信号处理中,IFFT是一种重要的算法,被广泛应用于频域滤波、系统辨识、信号重构等方面。
IFFT的结果分析涉及到如何理解和解释IFFT的输出结果,以及如何利用IFFT结果进行进一步的信号处理或分析。
下面将从以下几个方面进行IFFT结果的分析。
1.时域波形IFFT的结果是一个时域波形,表示信号在时间上的变化。
通过观察IFFT结果的波形特征,可以对原始信号进行分析。
例如,波形的振幅可以反映信号的能量分布,波形的周期可以反映信号的频率成分。
2.频谱信息IFFT结果中包含原始信号的频谱信息。
通过对IFFT结果进行傅立叶变换,可以得到频谱图。
频谱图可以对信号的频率成分进行分析。
例如,可以通过频谱图检测信号的频率峰值、频率带宽等。
3.频域滤波IFFT结果可以用于频域滤波。
通过对IFFT结果进行频谱操作,可以实现对信号频率成分的调整。
例如,可以通过对频谱进行削弱或增强一些频率分量来实现频率滤波。
IFFT结果可以被看作是滤波后的信号的时域波形。
4.信号重构IFFT结果可以用于信号的重构。
通过对IFFT结果进行插值或插值操作,可以将频域上采样的信号恢复为时域信号。
通过信号重构,可以实现对频率成分的精确恢复。
5.傅立叶变换精度IFFT的结果受傅立叶变换的采样率、数据长度和边界条件的影响。
采样率较低或数据长度较短会导致频谱分辨率不足,频率成分无法被准确表示。
边界条件的选择也会影响IFFT的结果。
因此,在进行IFFT分析时,需要对傅立叶变换的参数进行合理的选择。
总之,通过对IFFT结果进行分析,可以对原始信号的时域波形、频谱信息进行理解和解释,同时可以利用IFFT结果进行频域滤波、信号重构等进一步的信号处理。
同时,对傅立叶变换的参数和边界条件进行合理选择,可以提高IFFT结果的准确性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FFT结果的物理意义
FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。
有些信号在时域上是很难看出什么特征的,但是如
果变换到频域之后,就很容易看出特征了。
这就是很多信号分析采用FFT变换的原因。
另外,FFT可以将一个信号的频谱
提取出来,这在频谱分析方面也是经常用的。
虽然很多人都知道FFT是什么,可以用来做什么,怎么去做,但是却不知道FFT之后的结果是什意思、如何决定要使用
多少点来做FFT。
现在圈圈就根据实际经验来说说FFT结果的具体物理意义。
一个模拟信号,经过ADC采样之后,就变成了数字信号。
采样
定理告诉我们,采样频率要大于信号频率的两倍,这些我就不在此罗嗦了。
采样得到的数字信号,就可以做FFT变换了。
N个采样点,经过FFT之后,就可以得到N个点的FFT 结果。
为了方便进行FFT
运算,通常N取2的整数次方。
假设采样频率为Fs,信号频率F,采样点数为N。
那么FFT之后结果就是一个为N点的复数。
每一个点就对应着一个频率
点。
这个点的模值,就是该频率值下的幅度特性。
具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为A,那么FFT
的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。
而第一个点就是直流分量,它的模值就是直流分量
的N倍。
而每个点的相位呢,就是在该频率下的信号的相位。
第一个点表示直流分量(即0Hz),而最后一个点N的再下一个
点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示
采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。
例如某点n所表示的频率为:Fn=(n-1)*Fs/N。
由上面的公式可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。
1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz,如果采样2秒时
间的信号并做FFT,则结果可以分析到0.5Hz。
如果要提高频率分辨力,则必须增加采样点数,也即采样时间。
频率分辨率和
采样时间是倒数关系。
假设FFT之后某点n用复数a+bi表示,那么这个复数的模就是An=根号a*a+b*b,相位就是Pn=atan2(b,a)。
根据以上的结果,
就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:
An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn)。
对于n=1点的信号,是直流分量,幅度即为A1/N。
由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果。
好了,说了半天,看着公式也晕,下面圈圈以一个实际的信号来做说明。
假设我们有一个信号,它含有2V的直流分量,频率为50Hz、相位为-30度、幅度为3V的交流信号,以及一个频率为75Hz、
相位为90度、幅度为1.5V的交流信号。
用数学表达式就是如下:
S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180) 式中cos参数为弧度,所以-30度和90度要分别换算成弧度。
我们以256Hz的采样率对这个信号进行采样,总共采样256点。
按照我们上面的分析,Fn=(n-1)*Fs/N,我们可以知道,每两个点之间的间距就是1Hz,第n个点的频率就是n-1。
我们的信号
有3个频率:0Hz、50Hz、75Hz,应该分别在第1个点、第51个点、第76个点上出现峰值,其它各点应该接近0。
实际情况如何呢?
我们来看看FFT的结果的模值如图所示。
图1 FFT结果
从图中我们可以看到,在第1点、第51点、和第76点附近有比较大的值。
我们分别将这三个点附近的数据拿上来细看:
1点:512+0i
2点:-2.6195E-14 - 1.4162E-13i
3点:-2.8586E-14 - 1.1898E-13i
50点:-6.2076E-13 - 2.1713E-12i
51点:332.55 - 192i
52点:-1.6707E-12 - 1.5241E-12i
75点:-2.2199E-13 -1.0076E-12i
76点:3.4315E-12 + 192i
77点:-3.0263E-14 +7.5609E-13i
很明显,1点、51点、76点的值都比较大,它附近的点值都很小,可以认为是0,即在那些频率点上的信号幅度为0。
接着,我们来计算各点的幅度值。
分别计算这三个点的模值,结果如下:
1点:512
51点:384
76点:192
按照公式,可以计算出直流分量为:512/N=512/256=2;50Hz信号的幅度为:
384/(N/2)=384/(256/2)=3;75Hz信号的
幅度为192/(N/2)=192/(256/2)=1.5。
可见,从频谱分析出来的幅度是正确的。
然后再来计算相位信息。
直流信号没有相位可言,不用管它。
先计算50Hz信号的相位,atan2(-192, 332.55)=-0.5236,
结果是弧度,换算为角度就是180*(-0.5236)/pi=-30.0001。
再计算75Hz信号的相位,atan2(192, 3.4315E-12)=1.5708弧度,
换算成角度就是180*1.5708/pi=90.0002。
可见,相位也是对的。
根据FFT结果以及上面的分析计算,我们就可以写出信号的表达
式了,它就是我们开始提供的信号。
总结:假设采样频率为Fs,采样点数为N,做FFT之后,某一点n(n从1开始)表示的频率为:Fn=(n-1)*Fs/N;该点的模值
除以N/2就是对应该频率下的信号的幅度(对于直流信号是除以);该点的相位即是对应该频率下的信号的相位。
相位的计算
可用函数atan2(b,a)计算。
atan2(b,a)是求坐标为(a,b)点的角度值,范围从-pi到pi。
要精确到xHz,则需要采样长度为1/x秒
的信号,并做FFT。
要提高频率分辨率,就需要增加采样点数,这在一些实际的应用中是不现实的,需要在较短的时间内完成
分析。
解决这个问题的方法有频率细分法,比较简单的方法是采样比较短时间的信号,然后在后面补充一定数量的0,使其长度
达到需要的点数,再做FFT,这在一定程度上能够提高频率分辨力。
具体的频率细分法可参考相关文献。
[附录:本测试数据使用的matlab程序]
close all; %先关闭所有图片
Adc=2; %直流分量幅度
A1=3; %频率F1信号的幅度
A2=1.5; %频率F2信号的幅度
F1=50; %信号1频率(Hz)
F2=75; %信号2频率(Hz)
Fs=256; %采样频率(Hz)
P1=-30; %信号1相位(度)
P2=90; %信号相位(度)
N=256; %采样点数
t=[0:1/Fs:N/Fs]; %采样时刻
%信号
S=Adc+A1*cos(2*pi*F1*t+pi*P1/180)+A2*cos(2*pi*F2*t+pi*P2/180);
%显示原始信号
plot(S);
title('原始信号');
figure;
Y = fft(S,N); %做FFT变换
Ayy = (abs(Y)); %取模
plot(Ayy(1:N)); %显示原始的FFT模值结果
title('FFT 模值');
figure;
Ayy=Ayy/(N/2); %换算成实际的幅度
Ayy(1)=Ayy(1)/2;
F=([1:N]-1)*Fs/N; %换算成实际的频率值
plot(F(1:N/2),Ayy(1:N/2)); %显示换算后的FFT模值结果
title('幅度-频率曲线图');
figure;
Pyy=[1:N/2];
for i="1:N/2"
Pyy(i)=phase(Y(i)); %计算相位
Pyy(i)=Pyy(i)*180/pi; %换算为角度
end;
plot(F(1:N/2),Pyy(1:N/2)); %显示相位图
title('相位-频率曲线图');
(By computer00 @2008-05-15)。