傅里叶变换推导Word格式文档下载.docx
《傅里叶变换推导Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《傅里叶变换推导Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
x(t)e2nm/Tdtj=口
J-00
(2)
若对任意参数f,上述积分都存在,则
(2)式确定了一个函数X(f),称为x(t)的傅立叶变换。
如果已知X(f)则利用如下的傅立叶逆变换,还可复原x(t):
A(r)=「X(f)elmf,:
TdfJ=口
J-oe>
(3)
若x(t)和X(f)同时满足
(2)、(3)式,则称他们是一个傅立叶变换
对,记为
X0Ox(f)
。
通常X(f)是一个复函数,因此可以写成如下两部分:
x(r{n+/(r)i
(4)
式子中R(f),1(f)分别是X(f)的实部和虚部。
将上式表示为指数形式:
其中
\x(f)\=厂(C
(6)
工程技术中,常将x(t)看成一时间信号,相应的空间,称为时间域和空
域;
将其傅立叶变换X(f)看成频率函数,相应的空间称为频域。
IS
称为x(t)的傅立叶谱,而
0(门
称为其相角,这在物理上是有良好背景的。
的譬如此频率的的含义可以这样来理解:
应用欧拉公式可将指数项表示成正弦-余弦的形式,如果把
(2)式解释成离散项和的极限,则显然X(f)是包含了无限项正弦-余弦的和,而且f的每一个值确定了所对应的正弦-余弦的频率。
在以后的叙述中,我们不妨用t表示时间,用f表示频率;
同时用小写字母
表示时间函数,并用相应的大写字母表示其傅立叶变换。
傅立叶变换可很容易地推广到二维悄形。
假设x(t,s)是连续的和可积的,
且X(f,g)是可积的,则相应的傅立叶变换对如下:
X(f,g)=f,Jx(t>
S)e2ni{,u^,TdtdsJ=口
(7)
x亿s)=「X(f,g)e2ni{^^TdfdgJ=口
J-oo
(8)
3)离散傅立叶变换
尽管傅立叶级数和傅立叶变换具有非常优美的数学结构,但并不实用,并为他们都无法用有限字长的计算机作逻辑上的运算。
为此,我们必须建立傅立叶变换的数值方法,并由此导出DFT数据结构的来源。
a.傅立叶积分的离散化
山于傅立叶变换无法用数字计算机进行逻辑运算,工程分析中,通常采用抽样的方法,观测x(t)的一些离散值,然后利用数值积分将傅立叶变换离散化。
函数抽样是函数插值的逆过程,假定用取2N+1个互相间隔为
M
的节点的方法,当一个连续函数X(t)离散化为的一个序列:
{a(-A*Aa(-AZ),a(0),a(Aa(Z),}
于是当N充分大时,有:
X(x(t)e2nil)dt
(9)
现在我们把(9)式中的求积函数当成周期为
2NZ的函数,以
j'
t、J=0,±
1,±
2,…±
N为节点,对(9)式用复化梯形公式做数值积分得
X(广)缶A/工x(n^t)e
(10)
对f进行离散化,取
f=jKN»
j=W・・N-\
则上式可改写:
=N・\
(11)
这就是一维傅立叶积分的离散表达式。
b离散傅立叶变换
在上面,我们普便的遇到了带有复指数乘积项的和式。
实际上,这种特殊的数据结构可利用以下更为一般的方式定义。
给定N个实或复的数列{x(0),x(l),……x(N-l)},定义
X{n)=工x(約尸加,〃=N-\,i=V-J
(12)
为{x(k)}的离散傅立叶变换,简称DFT。
我们指出,(11)式可以转化成上述一般形式。
这说明(12)式与傅立叶变换之间存在内在的联系,渴望获得与连续傅立叶变换相类似的性质,事实上确实如此。
下面我们就来做这件事。
首先说明,由(12)式确定的序列{X(n)}可以恢复为原序列{x(k)}o事实上,在(12)式两边同乘以
并对n从0到n-1求和得:
1V-In-\
XX{n)e2nnjifN=工
/j-0
N-\
2垃灯/皿I”"
'
.V-l
=Nx(j)+工班
Zkj1
注意到(13)式的和式中分子部分为0,从而
1JV-1
=-£
xg严()」,"
1Nn-o
(14)
今后我们称(14)式是(12)式的逆变换,并称{x(k)}和{X(n)}为离散傅立
叶变换对,简记为
X{n)
离散傅立叶变换的这种可恢复性质,在工程技术中有着极为重要的应用。
因为,可以通过抽样获得一组的离散值,并利用DFT转换为另一组数据,通过对变换数据的修改以及逆变换,达到对原数据的修正。
这也正是DFT最具魅力的地方。
应用DFT作数值分析,抽样也变得相当简单。
这时,可以抽取函数的任一片断,而无需彖傅立叶变换离散化那样做对称抽样。
4)快速傅里叶变换
本节我们将把注意力集中在如何计算DFT上。
如果我们不考虑(12)式中的
复指数部分的运算,则求解(12)式共需要'
*'
次乘法和'
*(\-1)次加法。
显然当'
很大时,其工作量是相当可观的。
为此,凯莱和卡柯提出了一种专门用于处理DFT的快速算法(FFT),
大大减少了DFT的计算时间。
充分理解FFT的工作原理,这并不需要高深的数学知识,只要时刻的盯住
DFT的数据结构即可。
为了便于理解,我们先从最简单的悄形入手。
aFFT直观发展
注意到(12)式可以表示成一个矩阵运算,而FFT实际上是一个矩阵分解算
法,它对N的要求有一定的限制,通常N取成
2r
其中r是正整数。
为了更加直观,这里我们假定r二2,N=4,并引进记号
叫=严上口
(15)
x(\zi\TV/I*XXXX
则(12)式可改写为如下的矩阵形式:
Y(
0)'
\\
X
凤
2)
注意到
吠=1
k为整数,则(16)式还可简化为
)))y
0123AI\x(\z(xx(\
XXXX
0)d2)3)班a(h班
上式以及以后的式子中没有把
写成1,完全是为了以后推广的需要。
第二步我们要做的是,把上述矩阵分解为两个矩阵的乘积:
*X(0)、
1
°
0〕
]班0)]
X(l)
畸
昭
X⑵
班2)
仝3),
2
上述分解基于以后要讲到的FFT算法理论,其中第一行和第二行的位置做了变换,,这是FFT本身所要求的。
以后将会看到,这种交换有利于数据存储,成为输岀倒置。
今引进
(0)、
0、
(卅0)、
巧⑴
H1)
州⑵
眄
H2)
(19)
则
*)、
%(0)、
Z1耐00、
3(0尸
M)
=
心⑴
1W;
00
1為
(1)
X
(2)
电
(2)
001瞅:
舛⑵
申3力
001町
\4丿
3⑶丿
(20)
于是求解X(n)分成了两次矩阵运算。
下面我们来分析一下这个过程的工作
量。
计算
召(0)
需要的一个复数乘法和一个复数加法,即A,(0)=x(0)+嗽x
(2)
这里没有用1代替
比:
)
是因为在一般情况下这一项通常不为1。
州⑴
同样需要一个复数乘法和一个复数加法。
只需要一个复数加法,这是因为
^
(2)=a(0)+iy,\
(2)=A(O)-耐班2)
怙⑵在计算
召(())时已经计算过。
同样的原因,计算
K⑶只需要一个复数加法。
总结上述可知,计算
州(灯
共需4个复数加法和个2复数乘法。
类似的,计算
x2W
也需要4个复数加法和2个复数乘法。
于是计算X(n)共需要8个复数加法和4个复数乘法。
如果直接利用(12)式进行计算,则共需要16个复数乘法和12个复数加法。
显然,上述分解算法具有更高的效率,这正是FFT算法的思想。
更一般的,对
N=2r
FFT算法将把原矩阵分解为r个
NxN
矩阵的乘积,每个因子矩阵具有最小数据的复数加法和复数乘法运算。
如果推广上述结果,则当
时,FFT需要Nr/2个复数乘法和Nr个复数加法。
相应的,直接算法需要
N2
个复数乘法和N(N-l)个复数加法,两者的工作量之比为:
乘法2N/r,加法(7.N-1)/r,如果N=1024,则FFT算法的乘法运算次数将降低为直接法的二白分之一,显然工作量节省是相当可观的。
b以2为底的FFT算法。
假定
N=2r
则对任何不大于'
的数都可以用不超过r位的二进制数表示。
譬如,当24
时,则十进制数0,b2,3可以分别表示成二进制数00,01,10,11。
更一般的,当n,k<
N,可以用二进制重记为
……nrA)=(〃o+2/?
+……+2「nr_,)
k=……krA)=(kQ+2&
+……+2八/J
(21)
于是(12)式可以改写为
……二工X……!
>
(心介……c吟
^=0如0匕『0
(22)
/?
=(/;
0+2n}+……+2「“|)(心+2«
+……+2「1kr_})
利用
昭"
=臥+狀
则
可改写成
哝=I叮......【片”
(23)
现在我们来考虑(23)式中的每一项,并利用
=呼=1
以简化之。
首先考虑(23)式中的第一项,得
U/2小匚](引*2〃|+
VVN
类似的,对于(23)式中的第二项,有
口/2&
(%十2旳)