> 文档中心 > SAR信号处理重要工具-傅里叶变换

SAR信号处理重要工具-傅里叶变换


这节内容主要介绍SAR信号处理中一个重要的工具-傅里叶变换。

目录

前言

一、傅里叶变换的根源

1.1 历史根源

1.2 技术根源

冲激函数

阶跃函数

三角函数

1.3 为什么用三角函数表示

二、傅里叶变换的定义

2.1 傅里叶变换 FT

2.2 傅里叶级数 FS

2.3 离散时间傅里叶变换 DTFT

2.4 离散傅里叶变换 DFT

三、DFT/FFT的使用技巧

DFT/FFT输入与输出

时域补零

时域插零

频域补零

 延时特性

移频特性

卷积定理

总结


前言

       在SAR系列文章中,信号的傅里叶变换分析经常出现。那傅里叶变换到底是什么,为什么在信号处理领域它很重要,它的巧妙之处在哪里呢,在哪些场合会用到它呢。下面本文将从个人学习和研究经历,谈谈我对傅里叶变换的理解,一方面总结这方面的经验,加深自身理解,另一方面希望能对想要学习信号处理的学习者能够有所启发。

       为了使傅里叶变换的介绍全面的同时重点突出,所介绍的内容会详略不一,后续根据反馈情况会有所补充。


一、傅里叶变换的根源

1.1 历史根源

       傅里叶变换的思想最先是由法国数学家和物理学家傅里叶提出的,他在描述温度分布时认为任何连续周期信号可以由一组适当的正弦曲线组合而成,而这种信号分解的方式就是傅里叶级数,也是傅里叶变换理解的基础。

1.2 技术根源

         这里主要从信号处理的角度分析傅里叶变换,信号函数一般认为是时间的函数。分析的系统为线性时不变系统,该系统满足,若系统输入为e_{1}\left ( t \right )时输出为r_{1}\left ( t \right ),输入为e_{2}\left ( t \right )时输出为r_{2}\left ( t \right ),则当系统输入为k_{1}e_{1}\left ( t-t_{1} \right )+k_{2}e_{2}\left ( t-t_{2} \right )时,系统输出为k_{1}r_{1}\left ( t-t_{1} \right )+k_{2}r_{2}\left ( t-t_{2} \right )

  • 冲激函数

        对于一般的时间信号,信号的幅度随时间变化,可以用冲激函数\delta \left (\tau - t \right )来提取/表示任意时刻t的信号幅度信息,也就是任意一个信号x可以由一系列冲激函数表示:

 

x=\int_{0}^{t}x\left ( \tau \right )\delta \left (\tau-t \right )d\tau=\int_{0}^{t}x\left ( \tau \right )\delta \left (t-\tau \right )d\tau

此时\delta \left ( t-\tau \right )可以认为是待分解的函数集,x\left ( \tau \right )是对应分解的幅度分量。因此,冲激函数\delta \left ( t-\tau \right )是从时域的角度来将信号进行分解的,而且只是单纯的从时域信号的幅度对信号进行的分解。现在考虑线性时不变系统冲激响应为h\left ( t \right )(即输入为冲激函数\delta \left ( t \right )时系统的输出),由于系统时不变,则\delta \left ( t-\tau \right )的系统响应为h\left ( t -\tau \right ),系统线性,则x\left ( \tau \right )\delta \left (t-\tau \right )d\tau的响应为x\left ( \tau \right )h \left (t-\tau \right )d\tau,由此可以得到任意输入信号x,系统的输出为:

y=\int_{0}^{t}x\left ( \tau \right )h \left (t-\tau \right )d\tau=x\left ( t \right )\ast h\left ( t \right )

其中h\left ( t \right )为冲激响应,描述的是系统对信号幅度的影响,输出为系统冲激响应与输入信号的卷积。

  • 阶跃函数

       除了用冲激函数表示,信号还可以用阶跃函数\varepsilon \left (\tau - t \right )来表示:

x=\int_{0}^{t}{x}'\left ( \tau \right )\varepsilon \left (t-\tau \right )d\tau

其中{x}'\left ( \tau \right )为函数x\left ( \tau \right )的导数。此时可以认为\varepsilon \left (t-\tau \right )是待分解的函数集,{x}'\left ( \tau \right )是对应分解的幅度分量。因此,阶跃函数\varepsilon \left (t-\tau \right )也是从时域的角度来将信号进行分解的,而且是从时域信号的幅度变化率对信号进行的分解。现在考虑线性时不变系统阶跃响应为r\left ( t \right )(即输入为阶跃函数\varepsilon \left ( t \right )时系统的输出),则任意输入信号x,系统的输出为:

y=\int_{0}^{t}{x}'\left ( \tau \right )r \left (t-\tau \right )d\tau={x}'\left ( t \right )\ast r\left ( t \right )

其中r\left ( t \right )为阶跃响应,描述的是系统对信号幅度变化率的影响,输出为系统阶跃响应与输入函数导数的卷积。

  • 三角函数

       冲激函数以及阶跃函数描述的是时域信号的瞬时信息,他们对应的冲激响应和阶跃响应分析的也是系统对信号瞬时信息的影响。

       与上述两类函数不同,三角函数在整个时间域都有分布,是针对信号的整体信息进行的描述。对于三角函数的信号输入,线性时不变系统的输出也是三角函数,这样的输出特性使得信号的描述可以不从时域的角度来描述,而是从三角函数集中的频率来描述,这样系统对信号的作用可以简化为对不同频率信号简单的幅度缩放以及相位偏移,即输出信号频谱为输入信号频谱与系统函数频谱的简单相乘。下节介绍的傅里叶级数以及傅里叶变换都是基于三角函数的分解。

1.3 为什么用三角函数表示

       在线性时不变系统中,对于三角函数的输入,系统的输出也是三角函数。这个可以从矩阵的论理解,对于离散信号输入x,离散信号输出y,系统可以用矩阵A表示,当输入x是系统矩阵A的特征向量时,则输出y=Ax=\lambda x的波形和输入x一致,只是存在幅度上的差别,这个幅度就是系统矩阵A的特性向量x所对应的特征值,而三角函数正是线性时不变系统的特征向量(微分以及积分都是线性变换,而三角函数的积分运算结果和微分运算结果都是三角函数),这也是傅里叶变换在分析线性时不变系统的巧妙之处。

二、傅里叶变换的定义

      自然界的信号大部分情况是连续信号或者模拟信号,因此,早期信号处理分析的信号类型一般是连续信号/模拟信号。传统射频电路处理的就是模拟信号,用射频器件处理模拟信号对硬件的要求较高,虽然能保证实时性的要求但是一般精度稳定度较差。(个人理解,仅作参考,有不同想法的可以评论区留言)。

       傅里叶变换的出现使得频域分析手段得以运用,通过傅里叶变换,信号时域分布与频域分布紧密相关,并根据信号的时域与频域之间的联系,提出了著名的奈奎斯特采样定律,该定律给出了连续信号无失真采样的准则,使得连续信号可以转变为离散信号进行处理,并通过对离散信号的数值化获得现在比较常用的数字信号。所以,运用傅里叶变换分析信号的频域特性,需要考虑采样后的数字信号(一般可以认为时离散信号,因为数值化的精度足够高)的傅里叶变换得到的数字频谱与原模拟信号的模拟频谱之间的对应关系。基于这样一个背景,下面简单介绍傅里叶变换的内涵。

       简单理解,傅里叶逆变换(可以理解为信号重构过程)是用三角函数(复指数函数)表征原始信号,傅里叶变换(可以理解为信号分解过程)就是求解对应频率分量。

       根据待处理信号类型,傅里叶变换分为四类:非周期连续信号傅里叶变换(FT);周期连续信号傅里叶级数(FS);非周期离散信号离散时间傅里叶变换(DTFT)。周期离散信号离散傅里叶变换(DFT)。简单来说:时域采样(离散化)对应频域周期化;时域周期化对应频域采样(离散化)。

2.1 傅里叶变换 FT

模拟信号f\left ( t \right )发傅里叶变为:

F\left ( \omega \right )=\int f\left ( t \right )e^{-j\omega t}dt\, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, (1)

对应的逆变换为:

f\left ( t \right )=\frac{1}{2\pi }\int F\left ( \omega \right )e^{j\omega t}dt

其中\omega为模拟频率。模拟信号f\left ( t \right )的频谱是信号频谱分析最终想得到的。 

2.2 傅里叶级数 FS

对模拟信号f\left ( t \right )周期化得:

f_{p}\left ( t \right )=f\left ( t \right )\ast \sum_{k} \delta \left ( t-kT \right )

则周期信号f_{p}\left ( t \right )的傅里叶级数为:

F\left [ n\right ]=\frac{1}{T}\int_{-T/2}^{T/2}f_{p}\left ( t \right )e^{-j\frac{2\pi }{T} nt}dt\, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, (2)

 对应的信号重构为

f_{p}\left ( t \right )=\sum_{n=-\infty }^{ \infty}F\left [ n \right ]e^{j\frac{2\pi }{T} nt}

根据定义,有

F\left [ n \right ]=\frac{1}{T}F\left ( n\frac{2\pi }{T} \right )

       其中\frac{2\pi }{T}为基波频率。傅里叶级数为傅里叶变换频谱的1/T的原因:由傅里叶级数推广到傅里叶变换过程中,傅里叶变换认为f\left ( t \right )是周期无线长的傅里叶级数,通过求极限的的方式求解f\left ( t \right )傅里叶变换,在求解过程,由于认为T是无穷大(一般情况T为信号截断时长,是有限值),所以由傅里叶级数推导傅里叶变换过程中乘以T,由此导致傅里叶级数为对应傅里叶变换值的\frac{1}{T}

2.3 离散时间傅里叶变换 DTFT

对模拟信号f\left ( t \right )离散化得:

x =f\left ( t \right ) \sum_{m} \delta \left ( t-mT_{s} \right )

则离散信号x的离散时间傅里叶变换为

X\left ( \Omega \right )=\sum_{n=-\infty }^{\infty }x\left [ n \right ]e^{-j\Omega n}\, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, (3)

对应的逆变换为:

x\left [ n \right ]=\frac{1}{2\pi }\int_{-\infty }^{\infty}X\left ( \Omega \right )e^{j\Omega n}d\Omega

由定义有:

X\left ( \Omega \right )=\frac{1}{T_{s}}F\left ( \Omega /T_{s} \right )

其中\Omega为数字频率。对比FT与DTFT表达式,可以发现FT比DTFT多了dt项,所以离散时间傅里叶变换为对应傅里叶变换值的\frac{1}{T_{s}}

2.4 离散傅里叶变换 DFT

对离散信号x周期化得:

x_{p} =\left (f\left ( t \right ) \sum_{m} \delta \left ( t-mT_{s} \right ) \right ) \ast \sum_{k} \delta \left ( t-kT\right )

对离散周期信号x_{p}

X\left [ k \right ]=\sum_{n=0 }^{N-1 }x_{p}\left ( n \right )e^{-j2\pi k n/N}\, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, (4)

对应的逆变换:

x_{p}\left [ n \right ]=\frac{1}{N}\sum_{k=0 }^{N-1 }X\left [ k \right ]e^{j2\pi k n/N}

由定义有:

X\left [ k \right ]=\frac{1}{T_{s}}F\left (\frac{2\pi }{N}k /T_{s} \right )\, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, (5)

对比DTFT 与DFT表达式,可以发现DFT是在DTFT基础上采样\Omega =\frac{2\pi }{N}k上的值。

三、DFT/FFT的使用技巧

       DFT是对离散周期信号进行的变换处理,我们或许了解到信号离散化在DFT处理过程的辅助作用(将模拟信号时域离散处理,对应的频谱周期化,最终只保留一个周期的频谱成分)而忽略信号周期化在DFT处理过程的影响(实际处理的模拟信号一般是非周期的,而在DFT处理过程中需要将模拟信号认为是周期的,这样一个认知上的区别造成了线性卷积和循环卷积的区别,一般线性卷积是我们需要的,循环卷积本身就带有周期性,其根源在于DFT处理的信号被认为是周期的信号,因此在利用DFT/FFT处理线性卷积运算时,需要补充足够零来充当保护间隔,以使循环卷积的结果与线性卷积的结果一致)。

        下面介绍DFT/FFT的一些使用技巧:

  • DFT/FFT输入与输出

       对一个信号进行FFT处理时,如MATLAB中的FFT函数,其默认输入信号时间是从0开始的,间隔为T_{s},时间范围为\left ( 0,T \right );其默认输出信号频谱也是从0开始的,间隔\frac{2\pi }{T},频谱范围\left ( 0,f_{s} \right )。对于实信号,最后的频谱只需展示\left ( 0,\frac{f_{s}}{2} \right )范围即可;对于复信号,需要将输出的频谱进行fftshift操作以此展示\left ( -\frac{f_{s}}{2},\frac{f_{s}}{2} \right )范围内的频谱成分。因此,对于没有经过fftshift操作的fft输出,其高频成分在中间,这个对应频域正确补零十分重要。

  • 时域补零

       在时域信号两侧补相同长度的零,虽然不会影响信号最终的频谱分布,但可以使频谱采样更密。

  • 时域插零

       通过时域信号间隔插入相同数量的零点,通过对插零后的信号傅里叶变换到频域,并在频域低通滤波,之后逆傅里叶变换回时域,此时即可得到时域采样更密集的信号。(基于香农定理)

  • 频域补零

      在频域高频处补零,可以实现时域信号的插值。(SAR成像中距离插值部分)

  •  延时特性

       利用时域时延对应频域线性相位补偿的特性,可以在信号的频域补偿一个与时延有关的相位以此实现时域信号任意时间的时延。利用该原理可以实现小于采样时间间隔的信号时延。(SAR距离徙动校正)

  • 移频特性

       通过时域补偿与搬移频率相关的相位,可以实现频域频谱的整体平移。(下变频,零多普勒校准)

  • 卷积定理

       时域的卷积对应频域的相乘,再结合FFT的计算效率,可以提升线性卷积、匹配滤波、相关运算的运算效率。


总结

       这部分简单介绍了傅里叶变换产生背景,傅里叶变换基函数的巧妙之处,以及四类傅里叶变换之间的关系。针对傅里叶变换的性质,本文也做了简单探讨。快速傅里叶变换是从计算效率的角度考虑如何实现傅里叶变换的,不在本文的介绍范围。关于DFT使用技巧部分只是简单分析了一些,后续看反馈情况考虑是否再详细出一期。