[傅里叶变换及其应用学习笔记] 十九. 采样定理在音乐上的应用

 

采样定理在音乐上的应用

人可以听到20~20000Hz的声音,上限为20000Hz,即$\frac{p}{2} = 20000$,$p=40000$。那么采样率至少要为40000。CD的采样率采用44100(44.1kHz),据传,在采集模拟信号时采用44100,是因为这些采集的机器以该采样率设置时最为正常,而并非出于理论上的考虑。

 

在采样时,若采用低于40000的采样率,就会造成声音的高频部分混叠(alias),也有人把这个说成是“低频混叠了变为高频部分,而高频的部分被混叠为低频部分”,实际上是把频谱上左边部分的高频右移叠加到右边的高频上,而右边部分的高频也左移叠加到了左边的高频上,在上节课我们已经讨论过。这是采用低采样率会导致高频失真的原因。

image

 

 

从模拟到数字,从连续到离散

在前面我们讨论的都是连续的信号,在这节,我们将过渡到离散信号的学习。本节计划分为三个部分

$f(t)$为连续的信号,即$t$是一个连续变量

1) 找到一种合理的离散逼近$f(t)$的形式

2) 找到一种合理的离散的逼近$f(t)$的傅里叶变换$\mathcal{F}f(s)$的形式

3) 找到一种从$f$的离散形式到傅里叶变换$\mathcal{F}f$的离散形式的合理方法

 

下面的推导将建立在抽样定理的误用上

假设

$f(t)$受限于$0 \leqslant t \leqslant L$

$\mathcal{F}f(s)$受限于$0 \leqslant s \leqslant 2B$

我们知道频域上的带宽是$-B\leqslant s \leqslant B$这种形式,但是这里为了方便后面的推导,采用了上方的这种形式

实际上这两个假设并不能同时成立,因此称之为抽样定理的误用。

 

1. $f(t)$的离散近似

为了得到一个$f(t)$的离散近似,这里需要以$\frac{1}{2B}$的间隔进行采样

image

设$f(t)$内共有$N$个采样点,即$N\cdot \frac{1}{2B} = L\ ,\ N = 2BL$

令$t_0 = 0,t_1 = \frac{1}{2B},…,t_{N-1} = \frac{N-1}{2B}$

 

对$f(t)$进行采样,得

$f_{sample}(t) = \displaystyle{ f(t)\sum_{k=0}^{N-1}\delta(t-t_k)  = \sum_{k=0}^{N-1}f(t_k)\delta(t-t_k)}$

 

采样得到的项分离出$f(t)$的离散近似为$f(t_0),f(t_1),…,f(t_{n-1})$

 

 

2. $\mathcal{F}f(s)$的离散近似

在经过上面的最后一步后,此时$t$仍然是一个连续变量,即$f_{sample}(t)$是连续的,对它进行傅里叶变换

$\mathcal{F}f_{sample}(s) = \displaystyle{\sum_{k=0}^{N-1}f(t_k)e^{-2\pi ist_k} }$

 

为了离散化$\mathcal{F}f_{sample}(s)$,我们需要在频域进行采样。关于采样,信号的采样频率是依据该信号在另一个域的性质决定的,我们在时域采样时依据它在频域受限于$0~2B$,而在频域采样是依据它在时域受限于$0~L$,即采样间隔为$\frac{1}{L}$。

image

设共有$M$个采样点,即

$M\cdot \frac{1}{L} = 2B \ , \ M=2BL=N$

 

即时域与频域的采样点数目是一样多的。

令$s_0=0,s_1=\frac{1}{L},…,s_{N-1} = \frac{N-1}{L}$

对$\mathcal{F}f_{sample}(s)$进行采样

$\begin{align*}
\left(\mathcal{F}f_{sample} \right)_{sample}(s)
&= \left(\mathcal{F}f_{sample}(s) \right )\cdot \sum_{m=0}^{N-1}\delta(s-s_m)\\
&= \left(\sum_{k=0}^{N-1}f(t_k)e^{-2\pi ist_k} \right )\cdot\left( \sum_{m=0}^{N-1}\delta(s-s_m)\right )\\
&= \sum_{k,m=0}^{N-1}f(t_k)e^{-2\pi is_mt_k}\delta(s-s_m)
\end{align*}$

 

频域上的采样值为

$\begin{align*}
F(s_0) &= \displaystyle{ \sum_{k=0}^{N-1}f(t_k)e^{-2\pi i s_0t_k} }\\
F(s_1) &= \displaystyle{ \sum_{k=0}^{N-1}f(t_k)e^{-2\pi i s_1t_k} }\\
\vdots\\
F(s_{N-1}) &= \displaystyle{ \sum_{k=0}^{N-1}f(t_k)e^{-2\pi i s_{N-1}t_k} }
\end{align*}$

 

 

以上就是$f$的离散形式的傅里叶变换的离散近似(That's the discrete approximation to the Fourier transform of the discrete version of f)

 

 

3. 从$f$的离散近似到$\mathcal{F}f$的离散近似

经过上面两个步骤,得到

$f(t)$被离散化为$f(t_0),f(t_1),…,f(t_{N-1})$

$\mathcal{F}f(s)$被离散化为$F(s_0),F(s_1),…,F(s_{N-1})$,有

$F(s_m) = \displaystyle{ \sum_{k=0}^{N-1}f(t_k)e^{-2\pi is_mt_k} }$

 

由于$f(t_k),F(s_m),t_k,s_m$都从连续信号延伸而来,现在我们需要把连续信号完全消除,只保留离散部分

1) 令$\underline{f}[k] = f(t_k)$

    即,有离散信号$\underline{f} = \left( \underline{f}[0],\underline{f}[1],…,\underline{f}[N-1] \right)$

2) 令$\underline{F}[m] = F(s_m)$

    即,有离散信号的离散傅里叶变换$\underline{F} = \left( \underline{F}[0],\underline{F}[1],…,\underline{F}[N-1] \right)$

3) $s_mt_k = \frac{m}{L}\cdot\frac{k}{2B} = \frac{mk}{2BL} = \frac{mk}{N}$

    即,$\underline{F}[m] = \displaystyle{ \sum_{k=0}^{N-1}\underline{f}[k]e^{-2\pi i\frac{mk}{N}} }$

 

 

离散傅里叶变换

根据上述推导得出结论

  • 设有离散信号$\underline{f} = \left( \underline{f}[0],\underline{f}[1],…,\underline{f}[N-1] \right)$,它的DFT(离散傅里叶变换)为$\underline{F}=\left( \underline{F}[0],\underline{F}[1],…,\underline{F}[N-1] \right)$,有

$\underline{F}[m] = \displaystyle{ \sum_{k=0}^{N-1}\underline{f}[k]e^{-2\pi i\frac{mk}{N}} }$

posted @ 2015-12-31 01:01  TaigaComplex  阅读(3499)  评论(2编辑  收藏  举报