音频进阶学习八——傅里叶变换的介绍
文章目录
- 前言
- 一、傅里叶变换
- 1.傅里叶变换的发展
- 2.常见的傅里叶变换
- 3.频域
- 二、欧拉公式
- 1.实数、虚数、复数
- 2.对虚数和复数的理解
- 3.复平面
- 4.复数和三角函数
- 5.复数的运算
- 6.欧拉公式
- 三、积分运算
- 1.定积分
- 2.不定积分
- 3.基本的积分公式
- 4.积分规则
- 线性
- 替换法
- 分部积分法
- 5.定积分计算实例
- 6.简单描述积分在CFT作用
- 总结
前言
之前的一系列文章中,我们介绍了信号的分类、系统、以及在时域上对于序列的分析工具卷积公式和差分方程。
由于很多信号的处理从时域上并不能很好、快速的处理,并且基于分析我们得到一个结论,信号的波形可以分解为多个不同频率正弦波的组成,而这个分解的工具就是傅里叶变换。
本章中,会先对傅里叶变换做一个总的介绍,同时,因为学习傅里叶变化需要一定的数学知识,所以本章内容会先介绍傅里叶变换,然后再介绍关于傅里叶变换公式中的数学知识欧拉公式和积分方程。
|版本声明:山河君,未经博主允许,禁止转载
一、傅里叶变换
1.傅里叶变换的发展
傅里叶级数这个名字是由18世纪法国数学家傅里叶提出的,最开始是用于对热过程解析,但其研究“任意”的周期函数通过一定的分解,都能够表示为正弦和余弦信号的线性组合方式。
而后1829年,狄利赫里给出了傅里叶级数的收敛条件。
二十世纪初,傅里叶的思想被推广到非周期函数,成为了傅里叶变换,可以将任意信号分解成一系列正弦和余弦函数的和。但是此时傅里叶变换存在一些问题,对于非周期函数和时变信号,傅里叶变换无法处理。
直到20世纪70年代,引入的小波信号,解决了这些问题。
傅里叶变换可以化复杂的卷积运算为简单的乘积运算,而后离散形式的傅里叶变换可以利用数字计算机快速的算出,才最终通过计算机对于信号能够做快速的处理。
2.常见的傅里叶变换
- 连续傅里叶变换(Continuous Fourier Transform, CFT)
- 公式
F ( ω ) = ∫ − ∞ ∞ f ( t ) e − j w t d t f ( t ) = 1 2 π ∫ − ∞ ∞ F ( ω ) e − j w t d w F(\omega)=\int^{\infty}_{-\infty}f(t)e^{-jwt}dt\\ f(t)=\frac{1}{2\pi}\int^{\infty}_{-\infty}F(\omega)e^{-jwt}dw F(ω)=∫−∞∞f(t)e−jwtdtf(t)=2π1∫−∞∞F(ω)e−jwtdw - 定义:连续时间信号 f ( t ) f(t) f(t)和频域 F ( ω ) F(\omega) F(ω)互转
- 应用场景:连续信号频谱分析
- 离散傅里叶变换(Discrete Fourier Transform, DFT)
- 公式
X [ k ] = ∑ n = 0 N − 1 x [ n ] e − j 2 π N k n , k = 0 , 1 , 2 , . . , N − 1 x [ n ] = 1 N ∑ k = 0 N − 1 X [ k ] e j 2 π N k n X[k] = \sum^{N-1}_{n=0}x[n]e^{-j\frac{2\pi}{N}kn}, \quad k=0,1,2,..,N-1 \\ x[n] = \frac{1}{N}\sum^{N-1}_{k=0}X[k]e^{j\frac{2\pi}{N}kn} X[k]=n=0∑N−1x[n]e−jN2πkn,k=0,1,2,..,N−1x[n]=N1k=0∑N−1X[k]ejN2πkn - 定义:离散信号频域转换
- 应用场景:数字信号处理(音频计算机处理)
- 短时傅里叶变换(Short-Time Fourier Transform, STFT)
- 公式:
S T F T ( t , ω ) = ∫ − ∞ ∞ f ( τ ) ω ( τ − t ) e − j w τ d τ STFT(t,\omega)=\int^{\infty}_{-\infty}f(\tau)\omega(\tau-t)e^{-jw\tau}d\tau STFT(t,ω)=∫−∞∞f(τ)ω(τ−t)e−jwτdτ - 定义:在信号的时间维度上使用滑动窗口,分段计算傅里叶变换
- 应用场景:非平稳信号分析(如语音处理、地震波分析)
- 离散时间傅里叶变换(Discrete-Time Fourier Transform, DTFT)
- 公式:
X [ ω ] = ∑ n = − ∞ ∞ x [ n ] e − j w n X[\omega]=\sum^{\infty}_{n=-\infty}x[n]e^{-jwn} X[ω]=n=−∞∑∞x[n]e−jwn - 定义: 离散时间信号的频谱分析
- 应用场景:数字信号的理论分析
- 傅里叶级数
- 公式:
f ( t ) = a 0 + ∑ n = 0 ∞ ( a n cos ( n ω 0 t ) + b n sin ( n ω 0 t ) ) o r f ( t ) = ∑ n = 0 ∞ c n e j n ω 0 t f(t) = a_0+\sum^{\infty}_{n=0}(a_n\cos(n\omega_0t)+b_n\sin(n\omega_0t)) \quad or\\ f(t)=\sum^{\infty}_{n=0}c_ne^{jn\omega_0t} f(t)=a0+n=0∑∞(ancos(nω0t)+bnsin(nω0t))orf(t)=n=0∑∞cnejnω0t - 定义: 将周期信号分解为多个正弦和余弦函数的线性组合。
- 应用场景: 信号周期性分析
- 小波变换(Wavelet Transform, WT)(多种不做展示)
- 定义: 一种局部化的傅里叶分析,使用小波函数代替正弦波进行信号分析。
- 特点: 提供多分辨率分析。
- 应用场景: 数据压缩、信号去噪、特征提取。
- 快速余弦/正弦变换(Fast Cosine/Sine Transform, FCT/FST)
- 定义: 傅里叶变换的特化形式,仅保留正弦或余弦部分。
- 应用场景: 压缩算法(如JPEG)、解决偏微分方程。
3.频域
我们说傅里叶变换是将时域转成了频域,那么频域到底是什么?在音频基础文章中,我们有一张对于时域和频域图像的解释图:
在时域图形中很好理解,这是一个二维坐标轴,横轴表示时间,纵轴表示的波形,那么通过傅里叶变换我们得到的频域图是什么样子呢?这里使用Adobe audition软件做展示:
我们可以看到频域图的横轴是频率,纵轴是该频率占有的功率/幅度(图像中是转为了db来展示)
二、欧拉公式
在上面各种傅里叶变换公式中,可以看到基本上每个公式都包含 e j w t , ∫ , ω e^{jwt},\int,\omega ejwt,∫,ω这些符号,对于 ω \omega ω我们之前在音频基础学习中有介绍,单位圆转一圈的时间为一个周期,那么频率 f = 1 t f=\frac {1}{t} f=t1,此时转过的弧度为 2 π 2\pi 2π,而角频率 ω = 2 π t \omega=\frac{2\pi}{t} ω=t2π。
而对于 e j w t e^{jwt} ejwt,它其实描述的是某一个点在复平面上的位置,是根据欧拉公式得到的,在之前的文章中,我们使用单位脉冲分解可以表示信号,现在,我们使用复数来看一下复指数信号。
1.实数、虚数、复数
- 虚数:在数学里,将平方是负数的数定义为纯虚数
- 实数:有理数和无理数的总称;其中无理数就是无限不循环小数,有理数就包括整数和分数
- 复数: z = a + b i , { a 、 b ∈ R , a ≠ 0 、 b ≠ 0 } z=a+bi, \{a、b∈R,a≠0、b≠0\} z=a+bi,{a、b∈R,a=0、b=0},其中 i 2 = − 1 i^2 = -1 i2=−1是指虚数单位,当 a = 0 , b ≠ 0 a=0,b \neq 0 a=0,b=0 时 z z z是纯虚数,当 a ≠ 0 , b = 0 a\neq0,b=0 a=0,b=0时, z z z是实数
2.对虚数和复数的理解
-
发展历史
复数最早出现于公元1世纪希腊数学家海伦,而给出“虚数”这一名称的是法国数学家笛卡尔(1596~1650)发表出来的。
刚开始复数的出现不被人们理解,就像 4 − 3 4-3 4−3人们可以很好理解,那么 3 − 4 3-4 3−4呢?这到底是什么意思?你怎么能从 4 头奶牛中拿走 3 头奶牛?你怎么能比没有少呢?于是出现了可以跟踪方向的+、-号,那么就可以理解为你还欠我一头奶牛没给我。
在数学家的目标中,数学体系的一部分就是要确保每个方程都有解,如果 i 2 > 0 i^2 > 0 i2>0很好理解,那么 i 2 = − 1 i^2 = -1 i2=−1该怎么理解呢,于是就出现了无法在一维实数线上找到对应值的数——虚数。 -
几何意义
首先思考一个问题,什么样的 i i i乘上自身可以等于-1?
假如我们想从位置A逆时针旋转90°到位置B,再从位置B逆时针旋转90°到位置C,那么是不是 1 ∗ (逆时针旋转 90 ° ) 2 = − 1 1*(逆时针旋转90°)^2 = -1 1∗(逆时针旋转90°)2=−1,是不是把复数在几何中当作旋转这种想法让人非常吃惊?
3.复平面
复平面是用来表示复数的一个二维坐标系,和实数二位坐标系类似,复平面同样有两个轴,只不过一个是实轴,一个是虚轴,如下图:
前面我们说过 i i i是代表位置A逆时针旋转了90°到达了位置B
复数 z = a + b i z=a+bi z=a+bi在复平面上的含义有:
- 实部 a a a:代表复数在 实轴 上的位置。
- 虚部 b b b:代表复数在 虚轴 上的位置
- 复数 z z z:表示复平面上的一个点,或者说是一个从原点到平面上某个位置的向量
从上图我们可以得到 z = 1 + 1 ∗ i z = 1 + 1 * i z=1+1∗i,之前我们说过 i i i在几何种表示逆时针旋转90°,我们可以看到 1 + 1 ∗ i 1 + 1 * i 1+1∗i的表示为逆时针旋转45°,注意看 z z z在复平面上的位置。
4.复数和三角函数
- 三角函数的理解
在音频基础学习二——声音的波形中,提到了所有的波通过傅里叶变化可以成为正弦波的叠加,反过来,正弦波的叠加最终变为了我们实际数字信号的音频波。
而三角函数作为将角度和弧度联系的数学工具,在单位圆1中,可以把 sin θ \sin \theta sinθ 看作竖轴的坐标, cos θ \cos \theta cosθ看作横轴的坐标即 位置 D = sin α = C D , 位置 E = cos α = A D 位置D = \sin\alpha = CD, 位置E = \cos\alpha=AD 位置D=sinα=CD,位置E=cosα=AD
那么如果这个平面是复平面,那么 z = a + b i = > z = cos α + sin α i z=a+bi => z=\cos\alpha + \sin\alpha i z=a+bi=>z=cosα+sinαi
- 极坐标
极坐标是复数 z z z的另外一种表示方式,使用角度 θ \theta θ和模长 r r r进行表示,替换了实轴和虚轴的坐标,其实就是上面的公式 z = cos α + sin α i z=\cos\alpha + \sin\alpha i z=cosα+sinαi,只是这个公式只有在半径为1的时候才正确,正确的表达方式应该是 z = r ( cos θ + i sin θ ) z = r(\cos\theta+i \sin\theta) z=r(cosθ+isinθ),此时 r r r为了便于区分,不叫作半径,叫做模长.
5.复数的运算
- 加法
复数的加法和物理中实数的加法类似,例如下图,有AB和AC的力,那么最终力是多少?
AB分解为AE和AF, AC分解为AG和AH,那么最终力AD就是AE+AG, AH+AF,即 z = ( 3 + 1 ∗ i ) + ( 1 + 3 ∗ i ) = ( 4 + 4 ∗ i ) z = (3 + 1*i) + (1+3*i) = (4+4*i) z=(3+1∗i)+(1+3∗i)=(4+4∗i) - 乘法
假如现在有 z = ( 3 + 1 ∗ i ) ∗ ( 1 + 1 ∗ i ) = 3 ∗ 1 + 3 ∗ i + 1 ∗ i + i 2 = 2 + 4 i z = (3 + 1*i) * (1+1*i) = 3* 1 + 3 * i + 1* i + i^2 = 2+4i z=(3+1∗i)∗(1+1∗i)=3∗1+3∗i+1∗i+i2=2+4i,那么这个有什么意义呢,如下图:
上文我们说过 1 + 1 ∗ i 1 + 1 * i 1+1∗i的表示为逆时针旋转45°,而上面的最终极坐标的位置也是移动了45°,事实上复数的乘法代表了:模长的拉长(下文中解释),以及极坐标的旋转。
6.欧拉公式
欧拉公式(Euler’s formula)是复分析中的一个重要公式,它展示了复指数函数和三角函数之间的关系。公式的形式为(推导过程太复杂不进行赘述,有兴趣可以自己百度看):
e i θ = cos θ + i ∗ sin θ e^{i\theta} = \cos\theta + i*\sin\theta eiθ=cosθ+i∗sinθ
我们根据欧拉公式得到复数的表示形式为:
z = r ∗ e i θ z = r * e^{i\theta} z=r∗eiθ
假设有两个复数:
- z 1 = 2 ∗ e i 30 ° z_1 = 2 * e^{i30°} z1=2∗ei30°:表示模长为2,角度为30°
- z 2 = 3 ∗ e i 45 ° z_2 = 3 * e^{i45°} z2=3∗ei45° :表示模长为3,角度为45°
- z 1 ∗ z 2 = 2 ∗ 3 ∗ e i ( 30 ° + 45 ° ) = 6 ∗ e i 75 ° z_1* z_2 = 2 * 3 *e^{i(30°+45°)} = 6*e^{i75°} z1∗z2=2∗3∗ei(30°+45°)=6∗ei75°:表示模长为6,角度为75°
三、积分运算
1.定积分
定积分是微积分中的一种运算,它可以用来计算一个函数在某个区间上的“总和”,例如面积、体积或累积量。它的表达方式为:
∫ a b f ( x ) d x = F ( b ) − F ( a ) \int_a^bf(x)dx = F(b)-F(a) ∫abf(x)dx=F(b)−F(a)
- f ( x ) f(x) f(x):是被积函数
- a , b a,b a,b:是积分的上下限
- d x dx dx:表示对于 x x x的积分
- F ( x ) F(x) F(x):是 f ( x ) f(x) f(x)的原函数,即 F ′ ( x ) = f ( x ) F'(x) = f(x) F′(x)=f(x)
2.不定积分
不定积分是求一个函数的原函数的过程,结果是一个包含常数项 C C C的函数。它的表达方式为:
∫ f ( x ) d x = F ( x ) + C \int f(x)dx = F(x)+C ∫f(x)dx=F(x)+C
- F ( x ) F(x) F(x):是 f ( x ) f(x) f(x)的原函数$
- C C C:是积分常数
注意:虽然定积分和不定积分看起来只是没有了上下限,且在 F ( a ) − F ( b ) F(a)-F(b) F(a)−F(b)时,积分常数 C C C被相减消失,但是两者有本质的区别,前者用于计算函数区间上的面积(是数值),后者是寻找原函数的,是函数。
3.基本的积分公式
被积函数 f ( x ) f(x) f(x) | 原函数 ∫ f ( x ) d x \int f(x)dx ∫f(x)dx |
---|---|
x n , n ≠ 1 x^n,n\neq1 xn,n=1 | x n + 1 n + 1 + C \frac{x^{n+1}}{n+1}+C n+1xn+1+C |
1 x \frac{1}{x} x1 | ln ∣ x ∣ + C \ln\mid x\mid+C ln∣x∣+C |
e x e^x ex | e x + C e^x+C ex+C |
a x , a > 0 a^x,a>0 ax,a>0 | a x ln a + C \frac{a^x}{\ln a}+C lnaax+C |
sin x \sin x sinx | − cos x + C -\cos x+C −cosx+C |
cos x \cos x cosx | sin x + C \sin x+C sinx+C |
sec x \sec^x secx | tan x + C \tan x+C tanx+C |
csc x \csc^x cscx | − cot x + C -\cot x+C −cotx+C |
sec x tan x \sec x \tan x secxtanx | sec x + C \sec x +C secx+C |
csc x cot x \csc x\cot x cscxcotx | − csc x + C -\csc x+C −cscx+C |
4.积分规则
线性
积分同样具有线性,即满足叠加和齐次性
- ∫ [ f ( x ) + g ( x ) ] d x = ∫ f ( x ) d x + ∫ g ( x ) d x \int[f(x)+g(x)]dx=\int f(x)dx+\int g(x)dx ∫[f(x)+g(x)]dx=∫f(x)dx+∫g(x)dx
- ∫ c ∗ f ( x ) d x = c ∗ ∫ f ( x ) d x \int c*f(x)dx=c*\int f(x)dx ∫c∗f(x)dx=c∗∫f(x)dx
替换法
对于复合函数,可以通过变量替换(u-substitution)来简化积分。例如:
∫ ( 2 x ) e x 2 d x \int (2x)e^{x^2}dx ∫(2x)ex2dx
令 u = x 2 , d u = 2 x d x u=x^2,du=2xdx u=x2,du=2xdx,则
∫ e u d u = e u + C = e x 2 + C \int e^udu=e^u+C=e^{x^2}+C ∫eudu=eu+C=ex2+C
分部积分法
分部积分法用于积分两个函数的乘积,公式为:
∫ u d v = u v − ∫ v d u \int udv=uv-\int vdu ∫udv=uv−∫vdu
例如:
∫ x e x d x \int xe^xdx ∫xexdx
令 u = x , d v = e x d x , d u = d x , v = e x u=x,dv=e^xdx,du=dx,v=e^x u=x,dv=exdx,du=dx,v=ex,则:
∫ x e x d x = x e x − ∫ e x d x = x e x − e x + C \int xe^xdx=xe^x-\int e^xdx=xe^x-e^x+C ∫xexdx=xex−∫exdx=xex−ex+C
5.定积分计算实例
例如,现在有函数 f ( x ) = x 2 f(x) = x^2 f(x)=x2,那么求 x ∈ [ 1 , 2 ] x \in[1,2] x∈[1,2]时的面积:
- 定积分的理解:
假设我们把区间 [ a , b ] [a,b] [a,b]分割成 n n n等份,即 Δ x = b − a n , x 0 = a , x 1 = a + Δ , x 2 = a + 2 × Δ , . . . , x n = b \Delta x=\frac{b-a}{n},\quad x_0=a,x_1 = a+\Delta,x_2=a+2\times\Delta,...,x_n=b Δx=nb−a,x0=a,x1=a+Δ,x2=a+2×Δ,...,xn=b,此时当 n n n趋向无穷大时, f ( x 0 ) = f ( x 1 ) f(x_0) = f(x_1) f(x0)=f(x1),所以面积就变成了 n n n个面积的累加和,就有:
∫ a b f ( x ) d x = lim n → ∞ ∑ i = 1 n f ( x i ) Δ x \int_a^bf(x)dx = \lim_{n\rightarrow\infty}\sum^n_{i=1}f(x_i)\Delta x ∫abf(x)dx=n→∞limi=1∑nf(xi)Δx - 结合积分公式得结果
∫ 1 2 x 2 d x = F ( 2 ) − F ( 1 ) = 2 2 + 1 2 + 1 − 1 2 + 1 2 + 1 = 8 3 − 1 3 ≈ 2.33 \int_1^2x^2dx=F(2)-F(1)=\frac{2^{2+1}}{2+1}-\frac{1^{2+1}}{2+1}=\frac{8}{3}-\frac{1}{3}\approx 2.33 ∫12x2dx=F(2)−F(1)=2+122+1−2+112+1=38−31≈2.33
6.简单描述积分在CFT作用
对于连续时间傅里叶变换
F ( ω ) = ∫ − ∞ ∞ f ( t ) e − j w t d t F(\omega)=\int^{\infty}_{-\infty}f(t)e^{-jwt}dt F(ω)=∫−∞∞f(t)e−jwtdt
f ( t ) f(t) f(t)是时域信号, F ( W ) F(W) F(W)是对应的频域信号,积分的作用是将 f ( t ) f(t) f(t)和 e − j w t e^{-jwt} e−jwt做点积,用来测量 f ( t ) f(t) f(t)在频率 W W W上的投影。换句话说,积分计算了信号在特定频率下的权重(即幅值和相位)。
具体详细过程受文章篇幅影响,在之后的文章中给出详细解释。
总结
在本篇文章中,先介绍了对于傅里叶变换的历史、傅里叶变换的多个公式,以及对于公式中所需要的数学知识做了详细的介绍。结合图形的方式理解欧拉公式中,复指数函数和三角函数的关系,使用复指数函数来表述信号。同时介绍了积分的运算知识,简单描述了积分在傅里叶变换中的作用。
在一篇文章中,将深入解析傅里叶变换公式以及它的应用。
如果对您有所帮助,请帮忙点个赞吧