离散正(余)弦信号的时域与FFT变换后所得频域之间的关系(幅值和相角)

离散正(余)弦信号的时域与FFT变换后所得频域之间的关系

作者:jbb0523(彬彬有礼)

        正弦信号在信号处理中是很常见的,比如通信领域的载波。由于正弦与余弦只是相差π/2的初相,因此这里统称正弦信号。给出连续正弦信号的表达式:


式中,A为振幅,Ω为模拟角频率(rad/s),φ为初相,f为模拟频率(Hz),Ω=2πf

        在满足奈奎斯特采样定理条件下对信号x(t)进行采样得到离散正弦信号x(n)

式中,fs为采样频率,Ts为采样间隔,Ts=1/fs,ω为数字角频率(rad),ω=2πf/fs

        根据ω可以判断x(n)的周期性,若2π/ω为有理数则x(n)为周期信号,周期为有理数的分母,详情可参考数字信号处理类教科书。

        对N点长的x(n)进行FFT可得其N点长的离散傅里叶变换(DFT),记为X(k)。注意,FFT只是DFT的快速算法的总称。由于x(n)是实信号,所以X(k)为对称的,只须关注其前N/2点即可。

        今天要讨论的问题来自一篇文档《为什么要进行傅里叶变换》,这是一篇网上很热门文章,原文出处不详,给出参考链接:网易博客百度文库豆瓣

        在原文第七部分“七、用Matlab实现快速傅立叶变换”中有一段话是这样子写的:

        假设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

        这里用本文的符号翻译一下:对于x(n)的离散傅里叶变换X(k)来说,X(k)一般为复数,可设为X(k)=a(k)+ jb(k),其模值|X(k)|和相角arg[X(k)]分别为


对于任意一项X(k)(0<k<N/2),它所对应的时域信号表达式为


其中。若k=0,即直流分量,其幅度为|X(k)|/N。

        有关模拟频率f与离散频率k的关系可参见数字信号处理类教科书,下面对时域信号幅度相角与离散频域的幅值相角的关系结论进证明。

        为了避免频谱泄漏,取ffs和N均为正整数,且N=mfsm为正整数。

        对离散正弦信号x(n)进行DFT变换:

上面推导过程中使用了欧拉公式和三角函数积化和差公式。令


  。

        mf+k≠0时,根据离散正弦信号的周期性判断方法,我们知道XRe1(k)和XIm1(k)求和式中的正弦信号一定是以N为周期的,所以从0到N-1求和必为零;同理,当mfk≠0时,XRe2(k)和XIm2(k)求和式中的正弦信号一定是以N为周期的,所以从0到N-1求和也必为零。若要使mf+k项为零,则必有f=k=0,若要使mfk项为零,则要满足mf=k

        下面以文档《为什么要进行傅里叶变换》中的例子为例来说明:

        S=2+3*cos(2*pi*50*tpi*30/180)+1.5*cos(2*pi*75*t+pi*90/180)。式中cos参数为弧度,所以-30度和90度要分别换算成弧度。我们以256Hz的采样率对这个信号进行采样,总共采样256点。

        我们取信号S的50Hz成份。这里fs=256Hz,N=256,f=50Hz,m=1,代入得


可以通过周期性讨论得知,若k≠50,则必有X(k)=0(当然k=256-50时与k=50对称,前面我们说了只讨论前N/2=128个点)。当k=50时


因此可得时域幅值相角与频域模拟相角的关系


这里模拟频率f与离散频率k的关系为


同理可以讨论f=75Hz成份。对于直流成份,可以认为是如下正弦信号


f=0Hz,φ=0,代入得


可以通过周期性讨论得知,若k≠0,则必有X(k)=0;当k=0时


其实对于直流成分没有必要这么复杂,直流成分就是一个常数,对常数序列A做DFT


若k≠0,求和项复正弦序列以N为周期,求和后必为零;若k=0,求和通项等于1,则


        推导了半天,可能有些糊涂,最后再把结论清晰的给出来,以便查阅:

       【结论1若有离散正弦信号

x(n)做N点FFT得X(k),则在0<k<N/2范围内仅在k=f/(fs/N)处有值,若设此值为X=a+jb,则此值与离散正弦信号有如下关系


其中


结论中,为保证k=f/(fs/N)为整数(即不发生频谱泄漏,要求ffs,N均为正整数,且N=mfsm为正整数,即N为整数倍的fs

        【结论2若有直流信号x(n)=A,对x(n)做N点FFT得X(k),则仅在k=0处有值,且此值X=AN,也可以写为A=X/N。

 

附:三角函数积化和差公式




  • 8
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: FFT(快速傅里叶变换)是一种将信号时域转换为频域的算法。时域指的是信号随时间变化的情况,频域指的是信号中包含的不同频率成分的情况。 FFT算法通过将信号分解成一系列函数的和,将时域信号转换为频域信号频域信号表示了信号中各个频率成分的强度和相位。通过FFT变换,我们可以获取信号的频谱信息,包括频率的分布、频率成分的能量大小等。 在时域中,信号是通过表示信号在每个时间点上的振幅来描述的。时域信号可以显示信号的时间特性,比如波形、幅度、振荡周期等。但是在时域中,我们无法直观地观察到信号中各个频率成分的情况。 频域中,信号被表示为频率和相位的函数。频域信号可以显示信号中不同频率成分的强度和相位关系。通过获取频域信号,我们可以了解信号中的频率成分,包括主要频率、谐波频率等。 因此,FFT提供了从时域频域的转换方法,使我们可以在频域中分析信号的频率成分情况。通过在频域中分析信号的频谱,我们可以了解信号的频率特性,帮助我们进行频率滤波、频谱分析等相关操作。因此,FFT信号处理、通信、声音处理等领域中得到了广泛应用。 ### 回答2: 离散傅里叶变换(DFT)将时域信号转换为频域信号,而逆变换则将频域信号重新转换回时域信号。快速傅里叶变换FFT)是一种高效的算法,用于计算离散傅里叶变换时域是指信号在时间上的变化情况,即信号在不同时间点的幅度和相位。频域则是指信号在频率上的成分,即信号中包含的不同频率分量的幅度和相位。 通过FFT,可以将时域信号变换频域信号,同时提供了频率分量的幅度和相位信息。FFT实际上是将时域信号分解为一系列函数,每个函数对应一个特定的频率分量。 频域分析通常用于研究信号的频谱特性,可以从中得到信号的频率成分、频率分布以及信号中的周期性等信息。通过对频域信号进行处理、滤波或变换,可以实现对信号的频谱特性的操作和改变。 在实际应用中,时域频域关系是相互转换的。时域信号经过FFT变换得到频域信号后,可以进行频域分析。而对频域信号进行逆变换则可以得到原始时域信号。 总之,FFT是将时域信号转换为频域信号的过程,频域信号提供了信号在不同频率上的幅度和相位信息,可以用于频域分析和信号处理。 ### 回答3: FFT(快速傅里叶变换)是一种高效的算法,用于将信号时域转换为频域时域是指信号随时间而变化的表示方式,频域则是指信号的频率表示方式。时域分析主要关注信号幅值、相位和波形等特征,而频域分析则更加关注信号的频率成分和能量分布。 FFT基于傅里叶变换,可以将一个连续时间的函数表示为一系列频率成分的和。通过对信号进行FFT分析,可以将信号时域转换为频域,得到信号的频谱图。 在FFT中,通过将时域信号分解为不同频率的波,可以得到信号频域表示,即频谱。频谱表示了信号在不同频率上的能量分布情况。通过分析频谱,我们可以得到信号中存在的频率成分,包括基频和谐波。 FFT中的频率分辨率与采样率有关。频率分辨率表示在频域中能够分辨出不同频率的能力。它取决于采样率和信号的长度。较高的采样率和更长的信号长度可以提高频率分辨率。 总之,FFT是一种将信号时域转换为频域的算法。通过分析信号的频谱,可以得到信号在不同频率上的能量分布情况,以及信号中存在的频率成分。这对于信号处理和分析是非常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值