数字信号处理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[nk]=k=+h[k]x[nk]
来进行接下来傅里叶变换的推导。

文章中以 ⋅ \\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)ejx=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+ejkt)
因此对于某一信号,我们都可以写成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=ak。这也是我们在现实中处理的信号。
既然一个信号可以按照上式来分解,那么就可以得出这些信号的系数 a k a_k ak是多少。

对式1左右同时乘 e − j n w 0 t e^-jnw_0t ejnw0t,n为整数,可得
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)ejnw0t=k=akejkw0tejnw0t
对上式对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)ejnw0tdt=Tk=akejkw0tejnw0tdtTx(t)ejnw0tdt=k=ak[Tej(kn)w0tdt]
对于右边的积分部分,利用欧拉公式可得
∫ T e j ( k − n ) w 0 t

以上是关于数字信号处理2:傅里叶变换的主要内容,如果未能解决你的问题,请参考以下文章

python图像音频处理-通过图像傅里叶变换判断相位和幅度的重要性

傅里叶变换2

数字信号处理序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 1 的傅里叶变换 )

数字信号处理序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 1 的傅里叶变换 )

数字信号处理傅里叶变换性质 ( 序列傅里叶变换共轭对称性质示例 )

数字信号处理傅里叶变换性质 ( 傅里叶变换线性性质 | 傅里叶变换时移性质 )