数字信号处理2:傅里叶变换
Posted zuguorui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字信号处理2:傅里叶变换相关的知识,希望对你有一定的参考价值。
文章目录
在上一篇文章中我们推导了卷积。这一篇文章基于上一篇的卷积结果:
y [ n ] = ∑ k = − ∞ + ∞ x [ k ] ⋅ h [ n − k ] = ∑ k = − ∞ + ∞ h [ k ] ⋅ x [ n − k ] y[n] = \\sum_k=-\\infty^+\\inftyx[k] \\cdot h[n-k]\\\\ =\\sum_k=-\\infty^+\\inftyh[k] \\cdot x[n-k] y[n]=k=−∞∑+∞x[k]⋅h[n−k]=k=−∞∑+∞h[k]⋅x[n−k]
来进行接下来傅里叶变换的推导。
文章中以 ⋅ \\cdot ⋅表示乘法,以*表示卷积。离散信号使用 x [ n ] x[n] x[n]表示,连续时间信号使用 x ( t ) x(t) x(t)表示
一、傅里叶变换存在的理论基础
在开始接下来的内容之前,首先要熟悉一个概念,这也是接下来所有内容存在的前提。这就是 所有信号都可以用不同频率、相位以及幅度的正弦波叠加而成 。哪怕是方波这样的信号,它也可以用无数组不同的正弦波叠加去逼近。当然,这无法百分之百复原。而傅里叶变换,简单来说就是通过计算,得出该信号中不同频率的正弦波分量的大小。这也是为什么我们对时域信号做傅里叶变换之后就到了频域。至于这个结论是怎么来的,那是另外一个故事了,在此不多讲。
另外有一个非常重要的公式:欧拉公式
e
j
x
=
c
o
s
(
x
)
+
j
s
i
n
(
x
)
e
−
j
x
=
c
o
s
(
x
)
−
j
s
i
n
(
x
)
e^jx=cos(x) + jsin(x)\\\\ e^-jx = cos(x) - jsin(x)
ejx=cos(x)+jsin(x)e−jx=cos(x)−jsin(x)
二、周期信号的傅里叶级数推导
依据之前的结论,我们有理由假设,任意周期信号
x
(
t
)
x(t)
x(t)都可以由一组正弦信号组成。根据欧拉公式,假设有一信号
x
(
t
)
=
c
o
s
(
k
t
)
x(t) = cos(kt)
x(t)=cos(kt)
那么很容易使用欧拉公式代换为
x
(
t
)
=
1
2
⋅
(
e
j
k
t
+
e
−
j
k
t
)
x(t) = \\frac12\\cdot (e^jkt + e^-jkt)
x(t)=21⋅(ejkt+e−jkt)
因此对于某一信号,我们都可以写成e的幂次方的形式。也就是说
e
j
k
t
e^jkt
ejkt这种形式的复指数信号可以成为所有信号的基本构成单元。
另外,对于周期信号
x
(
t
)
x(t)
x(t),组成它的一系列正弦波信号也一定是周期的,也就是说这些正弦波是成谐波关系。那么就会存在一个基本频率
w
0
=
2
π
/
T
w_0=2\\pi/T
w0=2π/T,T为
x
(
t
)
x(t)
x(t)的周期。剩下的所有基本信号的频率都为
w
0
w_0
w0的整数倍。
于是可以写作:
- 式1
x ( t ) = ∑ k = − ∞ − ∞ a k e j k w 0 t x(t) = \\sum^-\\infty_k=-\\inftya_k e^jkw_0t x(t)=k=−∞∑−∞akejkw0t
注意上述表达式,对于
k
=
0
k=0
k=0时,代表的是信号中的直流分量。对于实信号,必然会有
a
k
=
a
−
k
a_k=a_-k
ak=a−k。这也是我们在现实中处理的信号。
既然一个信号可以按照上式来分解,那么就可以得出这些信号的系数
a
k
a_k
ak是多少。
对式1左右同时乘
e
−
j
n
w
0
t
e^-jnw_0t
e−jnw0t,n为整数,可得 以上是关于数字信号处理2:傅里叶变换的主要内容,如果未能解决你的问题,请参考以下文章 python图像音频处理-通过图像傅里叶变换判断相位和幅度的重要性 数字信号处理序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 1 的傅里叶变换 ) 数字信号处理序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 1 的傅里叶变换 )
x
(
t
)
e
−
j
n
w
0
t
=
∑
k
=
−
∞
−
∞
a
k
e
j
k
w
0
t
e
−
j
n
w
0
t
x(t) e^-jnw_0t=\\sum^-\\infty_k=-\\inftya_k e^jkw_0t e^-jnw_0t
x(t)e−jnw0t=k=−∞∑−∞akejkw0te−jnw0t
对上式对t在一个周期T内积分
∫
T
x
(
t
)
e
−
j
n
w
0
t
d
t
=
∫
T
∑
k
=
−
∞
−
∞
a
k
e
j
k
w
0
t
e
−
j
n
w
0
t
d
t
∫
T
x
(
t
)
e
−
j
n
w
0
t
d
t
=
∑
k
=
−
∞
−
∞
a
k
[
∫
T
e
j
(
k
−
n
)
w
0
t
d
t
]
\\int_T x(t) e^-jnw_0tdt=\\int_T \\sum^-\\infty_k=-\\inftya_k e^jkw_0t e^-jnw_0tdt \\\\ \\int_Tx(t) e^-jnw_0tdt = \\sum^-\\infty_k=-\\inftya_k [\\int_T e^j(k-n)w_0tdt]
∫Tx(t)e−jnw0tdt=∫Tk=−∞∑−∞akejkw0te−jnw0tdt∫Tx(t)e−jnw0tdt=k=−∞∑−∞ak[∫Tej(k−n)w0tdt]
对于右边的积分部分,利用欧拉公式可得
∫
T
e
j
(
k
−
n
)
w
0
t