音频进阶学习十一——离散傅里叶级数DFS
音频进阶学习十一——离散傅里叶级数DFS
前言
按照傅里叶发展的历史,最先出现的傅里叶公式是傅里叶级数,只不过由于通用性以及核心理论先介绍了DTFT,它描述的是一个连续的频谱,描述了信号在整个频率范围内的频率成分。
对于本章内容离散傅里叶级数DFS,它描述的是离散的频谱,频率成分在周期上重复,本文将深入解析DFS的公式,并对IDFS进行推导,最后会对DFS的性质结合图像进行介绍。
一、傅里叶级数
1.定义
傅里叶级数简称为FS,是由法国数学家傅里叶为了进行热解析提出来的——周期信号表示为不同频率的正弦和余弦波的和。它能够将一个复杂的周期函数分解为一系列简单的正弦和余弦函数,从而实现信号的频域分析。
2.周期信号序列
离散周期序列指的是时间域上以固定周期重复出现的离散信号,使用$x ~ [ n ]$表示,即:
$$
x ~ [ n ] = x ~ [ n + r T ], \quad r\in Z
$$
如下图,$T = 10$的周期序列
3.表达式
DFS
$$
X ~ [ k ] = \sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n]
$$
IDFS
$$
x ~ [ n ] = \frac{1}{N}\sum_{k=0}^{N-1}e^{j(\frac{2\pi kn}{N})}\tilde{X}[k]
$$
参数含义
- $~$:表示为周期序列
- $X ~ [ k ]$: 是信号在频域中的分量(傅里叶系数)
- $x ~ [ n ]$:是时间域中的周期离散信号
- $N$:是序列周期
- $k$:表示频率索引
- $e^{j(\frac{-2\pi kn}{N})}$:复指数,表示信号的频率分量
4.DFS公式解析
1)右边解析
和上一篇解析DTFT一样,我们先解析DFS右边,在此之前,如果对于复指数序列和正交不太理解的同学,还是需要先看音频进阶学习九——离散时间傅里叶变换DTFT这篇文章,里面有对于为什么需要把序列转换成复指数序列的详细解释。
$$
\sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n]
$$
T、f、$\omega$的关系
我们来梳理一下周期、频率和角频率的关系
- 频率:指的是某个周期性事件在单位时间内发生的次数,$f = \frac{1}{T}$
- 周期:是一个周期性信号或事件完成一次完整波动所需的时间,$T = \frac{1}{f}$
- 角频率:表示波动或振动的“速率”,即信号的变化速度,$\omega = 2\pi f=\frac{2\pi}{T}$
求和公式N的释义
上文中提到N是序列周期,并且根据DFS公式也很容易看出来,对于序列的求和范围$n \in [N-1]$,也就是序列的长度为N。
从T、f、$\omega$的关系,我们得到$\omega = 2\pi f=\frac{2\pi}{T} = \frac{2\pi}{N}$,也就是该周期序列的基波(一个波形的最低频率,是波形的基本振动频率)为$\frac{2\pi}{N}$。
求和公式K的释义
对于DFS来说,一个周期序列分解为不同频率的正弦和余弦波的和,从上文中N的作用我们首先得到了基波的频率,那么其他频率怎么来表示呢? 我们知道对于谐波是基频的整数倍频率,例如2倍频(第二谐波)、3倍频(第三谐波)等,而谐波和基波组成了周期序列。
对于k代表了频率索引,即:
$$
\frac{2\pi}{N}k,k\in[0,1,2,....,N-1]
$$
- 当$k = 0$时,表示的是直波
- 当$k = 1$时,表示的是基波(第一谐波)
- 当$k = 2$时,表示的是第二谐波
- 当$k = N/2$时,对应奈奎斯特频率(即采样定理)
此时我们得到了不同的$\omega_0,\omega_1,\omega_2,...,\omega_N-1$,从这里也能看出,对于离散傅里叶级数,频域也是离散的。
$e^{j(\frac{-2\pi kn}{N})}$的释义
其实在音频进阶学习九——离散时间傅里叶变换DTFT文章中已经解释过了,这里再简单解释一遍:
对于欧拉公式将极坐标表示为复指数形式:
$$
e^{j\theta}=\cos(\theta)+j\sin(\theta)
$$
由此可以得到
$$
e^{-j\omega n}=>\cos(j\omega n)-jsin(\omega n)
$$
它表示的是随着n的增长,以频率$\omega$在一个单位圆上以顺时针方式进行周期震荡,可以根据之前文章中的图片进行理解。
$\sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n]$的释义
而对于序列与复指数相乘,我们可以看作是序列$x ~ [ n ]$对于不同谐波上的正交,即求投影。根据欧拉公式的特性,我们可以看到公式
$$
\sum_{n=0}^{N-1}e^{j(\omega_m-\omega_l)n}
$$
当$\omega_m\neq \omega_l$时,$e^{j(\omega_m-\omega_l)n}$表示的是一个周期性复数,几何上表示在复平面上绕原点画圆,如同上文中对于$e^{-j\omega n}$解释的图像,所以对于累加和$\sum_{n=0}^{N-1}e^{j(\omega_m-\omega_l)n}$为0。
也就是说对于$e^{j(\frac{-2\pi kn}{N})} \times \tilde{x}[n]$,如果$x ~ [ n ]$中间不包含特定的$\frac{-2\pi kn}{N}$(当N,k确定时)的频率,那么对于$\sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n]$,求和为零。
2)左边解释
与DTFT相同,对于$X ~ [ k ]$同样包含了幅度与相位,这里也简单回顾一下之前的文章。
实部与虚部
我们知道对于欧拉公式:
$$
e^{j\theta}=\cos(\theta)+j\sin(\theta)
$$
它的实部表示了相位(两波之间的时间或空间偏移),虚部表示了幅度,对于DFS中:
$$
X ~ [ k ]=\sum_{n=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[n]\
X ~ [ k ]=\underbrace{\sum_{n=0}^{N-1}\tilde{x}[n]\cos(\frac{2\pi}{N}k)}{Re(\tilde{X}[k])} - \underbrace{\sum{n=0}^{N-1}j\tilde{x}[n]\sin(\frac{2\pi}{N}k)}_{Ie(\tilde{X}[k])}
$$
- $Re(\tilde{X}[k])$是实部
- $Im(\tilde{X}[k])$是虚部
幅度与相位
- 幅度:幅度是频谱中每个频率分量的强度或大小,实部和虚部的模长,可以得出该频率分量的幅度。使用$|\tilde{X}[k]|$表示信号在频率$\omega$处的能量强度或振幅
$$
|\tilde{X}[k]|=\sqrt{Re(\tilde{X}[k])^2+Im(\tilde{X}[k])^2}
$$
- 相位:相位是频谱中每个频率分量相对于其他频率分量的相位偏移,通过实部和虚部的比值,可以计算相位。使用$\arg(\tilde{X}[k])$或$\angle(\tilde{X}[k])$表示:
$$
\angle(\tilde{X}[k])=\tan^{-1}\frac{Im(\tilde{X}[k])}{Re(\tilde{X}[k])}
$$
二、IDFS推导
离散傅里叶级数的逆公式(Inverse Discrete Fourier Series, IDFS)是将频域信息转换回时间域信号的过程。其推导过程是基于傅里叶变换的性质。其验证如下:
- DFS
$$
X ~ [ k ]=\sum_{m=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[m]
$$
- IDFS
$$
x ~ [ n ] =\frac{1}{N}\sum_{k=0}^{N-1}e^{j(\frac{2\pi kn}{N})}\tilde{X}[k]
$$
- 将DFS代入IDFS
$$
x ~ [ n] =\frac{1}{N}\sum_{k=0}^{N-1}\Big(\sum_{m=0}^{N-1}e^{j(\frac{-2\pi kn}{N})}\tilde{x}[m]\Big)e^{j(\frac{2\pi kn}{N})}
$$
- 根据交换求和
$$
x ~ [ n] =\frac{1}{N}\sum_{m=0}^{N-1}\tilde{x}[m]\sum_{k=0}^{N-1}e^{j\frac{2\pi k}{N}(n-m)}
$$
- 内层求和
$$
\sum_{k=0}^{N-1}e^{j\frac{2\pi k}{N}(n-m)}=\begin{cases}
N, \quad n=m\
0,\quad n\neq m
\end{cases}
$$
- 将内层求和替换进入
$$
x ~ [ n]=\frac{1}{N}\sum_{m=0}^{N-1}\tilde{x}[m]\times N \times \delta_{n,m}
$$
- 简化
$$
x ~ [ n]=\sum_{m=0}^{N-1}\tilde{x}[m]\delta(n-m)
$$
于是我们有一次得到了冲激分解公式,使用单位冲激序列表示的加权和。
三、DFS的性质
由于DFS和DTFT的相似性,在上一篇文章中音频进阶学习十——DTFT的条件、性质与举例,已经对于各种性质做了详细介绍,并且其推导公式很简单(如果感兴趣推导过程,可以看看北京航空航天大学王俊老师的课程),这里只做简单介绍。
1. 周期性性质
- 离散傅里叶级数的信号$x[n]$是周期性的,周期为N
- 其频域表示$X[k]$也是周期性的,周期为N,即:
$$
\tilde X[k]=\tilde X[k+N]
$$
2.线性性质
离散傅里叶级数具有线性性质,即如果信号$x_1[n]$和$x_2[n]$的傅里叶系数分别是$X_1[k]$和$X_2[k]$,那么任意常数倍的线性组合也满足傅里叶级数的线性性:
$$
\tilde x[n]=a\tilde x_1[n]+b\tilde x_2[n]\stackrel{DFS}{\longleftrightarrow}\tilde X[k]=a\tilde X_1[k]+b\tilde X_2[k]
$$
3.时域移位
幅度频不变,相位成线性变化
$$
\tilde x[n-n_d]\stackrel{DFS}{\longleftrightarrow}\tilde X[k]e^{-j\frac{2\pi k}{N}n_d}
$$
4.频域移位
频域的移位相当于时域乘上一个复指数序列
$$
\tilde x[n]e^{-j\frac{2\pi k}{N}l}\stackrel{DFS}{\longleftrightarrow}\tilde X[k-l]
$$
5.时间翻转
时域翻转,频域也会相应翻转,即幅度和相位也会翻转
$$
\tilde x[-n]\stackrel{DFS}{\longleftrightarrow}\tilde X[-k]
$$
6.时域卷积
时域卷积等于频域相乘,即*代表卷积运算
$$
\tilde x[n] *\tilde h[n]\stackrel{DFS}{\longleftrightarrow}\tilde X[k]\times \tilde H[k]
$$
7.频域卷积
频域卷积等于时域相乘,即*代表卷积运算
$$
\tilde x[n] \times \tilde w[n]\stackrel{DFS}{\longleftrightarrow} \frac{1}{N}\sum_{l=0}^{N-1}\tilde X[l]*\tilde W[k-l]
$$
总结
本篇文章中对于DFS的公式做了详细的介绍,相信对于DFS和IDFS公式的推导和使用有了一定的理解。同时本篇文章也将DFS的性质做了介绍。
DFS和DTFT有着一定的联系和区:对于DFS,它主要用于表示周期性离散时间信号,在频域上是离散的且为周期的,而对于DTFT,它表示非周期性离散时间信号的频谱,在频域上是连续的。也就是说DFS可以看作为 DTFT 在一个周期内的采样。