UTF8gbsn
注意,不建议读者直接阅读离散傅里叶变换,而是应该先阅读并理解傅里叶级数、和(连
续)傅里叶变换。这样才能够理解离散的傅里叶变换。
Introduction
在工程上,我们通常需要对离散的信号进行处理。所以我们必须要应用一种离散的傅里叶
变换。傅里叶级数的表示形式。如果们又信号
f(t)
αk=2l1∫−llf(x)e−ilkπxdx,(k=0,±1,±2,...) 令
l=π,我们有,注意一点
i是虚数单位。不是下标
αk=2π1∫02πf(t)e−iktdt,(k=0,±1,±2,...)
我们看
αk对应频率成分是
2πk,那么我们可以看到。那么我们可以
看到,我们恒可以把离散的数据
y={yi},y=(1,2,...,n),看做一个周期
2π上的
采样点。因为
y是一定离散的数据。
那么我们如何来计算
αk?因为
f(t)={yi},是离散信号。所以我们必须变换
αk为如下的等式,注意有一点儿,也就是
i是虚数单位,不是标号。
αk=n1j=0∑n−1f(n2πj)en−2πijk
也就是说
y
k/n≈αk≈n1j=0∑n−1yjwjk
yj=f(n2πj),w=en2πi
我们把
y
k叫做离散傅里叶变换。
Discrete Fourier Analysis
我们来看看离散傅里叶级数的一些分析,离散傅里叶变换,实际上就是对下面的公式进行
离散化。也就是离散
(0,2π),用离散的数据来替代。所以积分
∫02π变
成了累加
∑j=0n−1,
f(t)↦yj
αk=2π1∫02πf(t)e−iktdt,(k=0,±1,±2,...)
y
k/n≈αk≈n1j=0∑n−1yjwjk
所以不难理解,这是用离散的值来计算
αk的直接表现。那么下面我们来看看当
k>n时会发生什么
一般我们只计算
y
0,...,y
n−1,为什么我们不计算
y
n?,让我们来看看为什么?
k=n,首先计算下
wn=w=(en2πi)n=e2πi=w0,
同理,
wn+1=w,wn+2=w2,所以,实际上我们实在计算重复的东西。另外,这也
解释了一定采样频率的信号,不可能含有比采样频率更高频率的信号。于是我们得出结论
y0,...,yn−1就是我们需要的离散傅里叶变换。
Matrix Form
Fn=⎝⎜⎜⎜⎜⎜⎛111⋮11ωω2ωn−11ω2ω4ω2(n−1)............1ωn−1ω2(n−1)⋮ω(n−1)2⎠⎟⎟⎟⎟⎟⎞
那么离散傅里叶变换就直接转换为了矩阵算法。方便工程上的实践。
Example
我们来看看一个具体的例子。这个例子我是从别的文章中看到的。我们先来看看原始信号
的
f(t)=2+23cos(150πt+2π)+3sin(100πt−6π)
很明显,这个信号含有两种频率成分的信号,一种是
f1=75Hz,f2=50Hz.
我们的采样频 率取
fs=512Hz ,这样在
t∈[0,1)
上我们就可以取512个数据。然后使用傅里叶
变换后。我们会得到512个
y
j。注意我们得到的是复数。那么我们怎么根据
复数信息来计算频谱成分?
-
数据中大部分都是0,有效的数据为
y
0y
50y
75y
437y
462=====1024665.108+384i−384i384i665.108−384i
-
那么我们如何才能够从离散傅里叶变换中找出找出频率成分和相位,还有我们的常
数项?
-
注意我们是将整个采样区间映射到了
0,2l上,而我们一般采用的是
−l,l上。
所以根据我另外一篇文章傅里叶变换中提到的变换方法可以得。
n∗α−λ=y
−50=665.108−384i
n∗α−λ=y
−75=−384i
-
我们来利用公式
n∗αλ=2π
1f
(λ)=2aλ−ibλ
n∗α−λ=2π
1f
(−λ)=2aλ+ibλ
-
n∗a50=2∗665.108,n∗b50=−2∗384,n∗a75=0,n∗b75=−2∗384
也就是说,我们离散傅里叶变换之后,发现有两个频率的信号.一个是
50Hz一个是
75Hz.
-
计算
a0,其中l是什么?是半周期。而我们的采样频率是
n=512。也就是说,
y
k/n≈αk≈n1j=0∑n−1yjwjk
y
0/512=1024/512=α0=2a0=2
由此我们可以知道
a0=4,也就是说
f(x)的常数项为
2a0=2
-
50Hz 信号计算。
回忆一下
a50cos(50∗2πt)+b50sin(50∗2πt)
A50=(2×665.108/512)2+(−2×384/512)2
=3
φ=arctan(−384/665.108)=−6π
也就是说,
50Hz的信号为。
3sin(100πt−6π)
-
同理
75Hz的信号量为
23cos(150πt+2π)
The End
最后,我们可以看到,离散傅里叶变换,实际上就是在傅里叶变换的基础上,使用了离散
的信号来计算。本身没有什么特别的地方。只要懂得如何计算就行。还有一点儿就是,大
家一定要记住,复数只是为了更方便计算。我们的具体计算中并没有利用复数计算的便利
性。这是我们忽略的,读者实际上自己思考一下就能明白,利用复数,可以很快的计算出
相位和幅值。至此,我们完成了傅里叶级数,傅里叶变换,离散傅里叶变换的文章。希望
能够给读者带来一些启示。因为我的能力有限。肯定有很多地方写得不好或者是错误的。,还望你们帮忙
指出。我一定,进行修改。