首页 > 技术文章 > 傅里叶变换的对称性质

lafiizh 2018-12-14 10:18 原文

1.傅里叶变换的对称性质

解决频域时域图形相互映射的关系;

根据傅里叶变换表达式

\[X(j\omega)=\int^{\infty}_{-\infty}x(t)e^{-jwt}dt \]

和傅里叶逆变换表达式

\[x(t)=\frac{1}{2\pi} \int^{\infty}_{-\infty} X(j\omega)e^{jwt}d\omega \]

变换得

\[\frac{1}{2\pi}X(-jt)=\frac{1}{2\pi}\int^{\infty}_{\infty}x(t)e^{jwt}dt​ \]

也就是说

\[\mathscr{F}[\frac{1}{2\pi}X(-jt)]=x(\omega) \]

(注意,这里是说用\(-t\)替换原来频域的\(\omega\),不要理解成用\(-jt\)来替换 \(\omega\),如果给了频域的形状图和值(无量纲)那么反转一下横轴,改一下纵坐标尺度就行了,这里复数取值情况除外)

也就是说形状上时频域应该存在着对应的关系;

另一方面,如果\(f(t)\)为实函数的话,\(F(\omega)\)是共轭对称的(幅度函数为偶对称,角度函数\(\varphi(\omega)\)奇对称,实部偶对称,虚部奇对称),你直接假设就能看出来(即\(R(\omega)=\frac{1}{2\pi}(F(j\omega)+F^*(-jw))=\int^{\infty}_{-\infty}f(t)\cos(\omega t)dt\)偶对称是显然的)

那么排除了复数域的取值情况,\(X(-jt)\)对应的傅里叶变换的映射只有翻转一下横坐标,变换一下纵坐标的尺度就行了,但是对应的形状是没有变化的。

2.频域与时域的相乘与卷积

比如把一个时域的方波信号,使用混频的方式把这个波搬移到射频段,那么对应的频域信号应该是怎样的?

为了简单起见,我们考虑一个余弦函数\(cos(\omega_0 t)\),其中的\(\omega_0\)很高大概在射频段。

那么可以做如下的变换

\[cos(\omega_0 t)=\frac{1}{2}(e^{-j\omega_0 t}+e^{j\omega_0 t}) \]

我们很容易的知道冲击函数的变换\(\delta (t)\)\(1\)之间是一对傅里叶变换对,那么根据上一节当中的推导可以得到下述内容:

\[\mathscr{F}[1]=2\pi \delta(w) \]

(用对称性质从时域看\(\delta(t)\)或许会更清楚一点)所以在频域,我们很容易的得到\(cos(\omega_0 t)\)的变换结果

\[\pi(\delta(w-w_0)+\delta(w+w_0)) \]

那么在频域根据卷积定理,时域的乘积应该等于频域卷积的结果乘上\(\frac{1}{2\pi}\),对于Dirac函数卷积,就相当于直接移动位置

所以对于时域的方波信号,对应的傅里叶变换为\(F_0(w) = E \tau Sa(\frac{\omega t}{2})\)

于是,采用混频的方式乘上\(cos(w_0t)\)之后,明显的就是对两个方波函数移位相加之后加上\(\frac{1}{2}\)的量化比而已。。也就是说实际的结果等于

\[\frac{1}{2}[F_0(w-w_0)+F_0(w+w_0)] \]

很美的结果。注意卷积定理当中的\(\frac{1}{2 \pi}\)的量化尺度。

3.离散傅里叶变换与快速傅里叶变换的横坐标应该是什么?

解决使用快速傅里叶变换看图的问题

离散傅里叶变换是由离散傅里叶级数导出来的。在0~N-1的范围里面两个东西实际上是一样的对于[0,\(N-1\)]范围里面的序列。如果采样率是\(f_s\)那么离散傅里叶变换可以写成

\[X[k]=\sum^{N-1}_0 x[n]W^{kn}_N \]

\[x[n]=\frac{1}{N}\sum^{N-1}_0 X[k]W^{-kn}_N \]

事实上\(X[k]\)的值跟对序列做傅里叶变换并对频谱进行采样的得的值是一样的。但是也有区别,就是范围从DTFT的0~\(\pi\)变成了0~N-1。也就是说这里的N与采样率\(f_s\)是对应的。另一方面,因为傅里叶级数对应的实际上是周期函数,对频谱采样的频率间隔实际上对应于时域的周期分之一,如果补零的话相当于手动增加了采样的时间长度。采样的频率变小,DFT的谱线会变得很密。

还有要我要考虑的一个最直接的问题就是在MATLAB当中为什么我们求完FFT之后都要加上一个\(\frac{1}{NFFT}\)。比如说MATLAB当中一般会有这种用法:

y=fft(data,NFFT)/NFFT;

我们知道FFT对应的帕塞瓦尔定理应该表达成

\[\sum^{N-1}_{n=0}|x[n]|^2 = \frac{1}{N} \sum^{N-1}_{k=0}|X[k]|^2 \]

这里fft求得命令的结果就是\(X[k]\)所以MATLAB这里除以\(L\)是想得到什么结果呢?

一般来说时域序列\(x[n]\)是被采样过的离散序列。那么这个\(X[K]\)与原始那个连续序列的傅里叶变换\(X(j\Omega)\)之间是啥关系呢?

目测下来,其实就是相等的关系,也就是\(X[K] = X(j\Omega)\)\(\Omega = 2 \pi K /T\),因为这个公式与离散傅里叶级数的公式,用离散时间傅里叶级数理解这个问题就变得很简单了,那也就是指定频率下的谐波分量的幅度即

\[a_n = \frac{1}{N} \sum_{k=<N>} x[k] e^{i n k \frac{2 \pi}{N}} \]

其实这个式子与前面所说是一样的。

前面所说幅度问题其实就是就是这个问题。但是我之前理解的有个问题就是没有分清楚离散傅里叶变换这个推导过程与最终过程之间的关系。应该明白,之前所说的幅度加权和周期扩展的关系针对的都是傅里叶级数,而傅里叶级数所描述的是周期函数与谐波的关系。

推荐阅读