慧生于觉 觉生于自在 生生还是无生

见了便做 做了便放下 了了有何不了

数字信号处理的原理

  1. 采样定律
  2. 数字信号处理中,要想再现被采集信号,采样频率必须是被采样信号的2倍以上的关系, \( f_s = 2*f \) 。一般取3倍以上。

    输入被采样信号的频率及所使用的采样频率,并点击提交按钮,演示

    数字信号处理的关系演示见下图。

  3. DSP参数
    时域术语
    频域术语
    各个参数之间的关系
  4. 动态范围: 动态有几种表示方式.

进行一次FFT分析所截取的时域信号长度,称为1帧数据或frame size,单位为s,也称1个时域数据块。由于实际采集的时域信号时间很长,而一次FFT分析只能分析有限长度的时域信号,因此,需要将采样时间很长的时域信号截断成一帧一帧的frame size。这个截取过程叫做信号截断

时间间隔

相邻两个时域数据点的采样时间差,称为时间间隔或时间分辨率,等于采样频率的倒数,单位为s。时间分辨率越小,采样率越高,采样越密集,信号越接近真实信号

数据块大小 \( N \)

一帧数据所对应的数据点数(样本点,分析点数),称为时域数据块大小(time block size)。因此,一帧数据除用时间长度来描述之外,也可以用数据点数来描述。它们之间的关系如下:

$$ T = N * \Delta{t} $$

因此,一帧数据包含多少个数据点,是可以计算出来的。有的软件不是通过设置频率分辨率的大小来决定一帧数据的长度(等于频率分辨率的倒数),而是通过设置数据块大小 来决定一帧数据的长度。

时间间隔 \( \Delta{t} \)

采样率 \( f_s \)

由于计算机不能处理模拟信号,因此,必须通过采样将模拟信号转换成数字信号。用来表征采样快慢的参数称为采样(频)率,单位为Hz。本质上,称呼采样频率为采样率更合适,因为它表征的是采样的速率,采样率高,则采样快。采样率是表示每秒钟采集多少个样本点(或数据点),也可用sample/s或样本点数/秒表示。

最大频率: \( f_{max} \)

采样频率的一半,称为带宽,或最大分析频率,或奈奎斯特频率。它与采样率的关系如下:

$$ f_{max} = f_s/2 $$

也就是说,最终分析出来的所有频率都位于带宽以内,哪怕是存在频率混叠,呈现出来的频率也在这个区间。因此,为了防止高于带宽以上的频率成分混叠到带宽以内,需要在模数转换前进行抗混叠滤波。

频率分辨率:\( \Delta{f} \)

我们已经明白采集到的时域信号是离散的,两个时域数据点的时间差称为时间分辨率。同理,频谱也是离散的,相邻两条谱线的频率差或频率间隔称为频率分辨率。FFT计算得到的结果只位于频率分辨率的整数倍处,也就是谱线处,其他地方无结果

谱线数: \( N/2 \)

频谱图中谱线的总条数,称为谱线数。也可以理解为带宽按频率分辨率进行等分,等分的份数即为谱线数。\( N \)个时域样本点的FFT得到\( N/2 \)条谱线,也就是说两个时域数据点能得到一条谱线。

谱线数与带宽、频率分辨率的关系如下:

$$ N/2 = f_{max}/\Delta{f} $$

由于这三者是相互关联的,因此,当进行数据采集时,只需要设置其中两个参数就可以了,第三个参数,自动变化为相对应的值。像在Testlab软件中,这三个参数的设置界面如下图所示。在这,建议大家设置带宽和频率分辨率这两个参数。因为设置了带宽后,采样频率也就确定了。频率分辨率确定后,谱线数也随之确定了。另外,设置频率分辨率更直观。

DSP各个参数之间的关系

时间分辨率与采样频率的关系:

$$ \Delta{t}=1/f_s $$

帧长度与数据块大小、时间分辨率、采样频率和频率分辨率的关系:

$$ T = N* \Delta{t} =N/f_s = 1/\Delta{f} $$

带宽与采样频率、频率分辨率、谱线数和帧长度的关系 :

$$ f_{max} = f_s/2 = \Delta{f} *N/2 = N/2 *1/T $$

频率分辨率与帧长度、采样频率、数据块大小、带宽和谱线数的关系:

$$ \Delta{f} = 1/T = f_s/N= f_{max}/(N/2) $$

LMS中数据谱线数及频率分辨率的算法

频率分辨率: \( \Delta{f} \) 为1,分析带宽为20~2000Hz,采样频率为6400,那么FFT后获得的谱线数为2536,计算如下:

采样率为6400,那么FFT后求得的频率谱线数为3200,那么20~2000H的频率范围内共包含谱线数,2000-20 = 1981,一般情况下,为了防止采样过程中的泄露现象,将采样频率(3200)再乘以1.28,所以最终谱线数为:1981*1.28 = 2536


Complex number:

The diagram:

实数虚数图

The polar form of the complax number:

极点表示方式

以极点坐标表示的虚数:

$$ z = re^{i\phi} = r(cons\phi+isin\phi) $$

The Euler's formula is :

$$ e^{i\theta} = cos\theta +isin\theta $$

The functional equation implies thus that, if x and y are real, one has :

$$ e^{x+iy} =e^{x}con(y) + ie^{x}sin(y) $$

离散傅里叶计算

离散傅里叶计算的公式如下:

$$ X_{k}=\sum_{n=0}^{N-1}x_ne^{-\frac{2\pi i}{N}nk} $$

K :0 ~ N-1

假设上述公式中的N为2的整数倍,分别计算公式中的偶数想和奇数项,让后将两者组合,可以将上述公式的计算次数减少为:[ \( N\log N\) ]次

假设DFT计算公式的中偶数项: \( n = 2m\) ,奇数项为:\( n = 2m+1\)。得到如下公式:

$$ X_k = \sum_{m=0}^{N/2-1}x_{2m}e^{-\frac{2\pi i}{N}(2m)k} +\sum_{m=0}^{N/2-1}x_{2m+1}e^{-\frac{2\pi i}{N}(2m+1)k} $$

进而求解

$$ X_k = \sum_{m=0}^{N/2-1}x_{2m}e^{-\frac{2\pi i}{N/2}(m)k} +e^{-\frac{2\pi i}{N}}k\sum_{m=0}^{N/2-1}x_{2m+1}e^{-\frac{2\pi i}{N/2}(m)k} =E_k +e^{\frac{2\pi i}{N}k}O_k $$ for k = 0,...N/2-1

Note that the equalities hold for \( K = 0,...N-1\),but the cruix is the \(E_k\) and \(O_k\) are calculated in this way for \( k = 0,...,N/2 -1\) only.Thanks to the periodicity of the complex exponential ,\( X_{K+N/2}\) is also obtained from \(E_k\) and \(O_K\)。

$$ X_{k+\frac{N}{2}} = \sum_{m=0}^{N/2-1}x_{2m}e^{-\frac{2\pi i}{N/2}m(k+\frac{N}{2})} +e^{-\frac{2\pi i}{N}(k+\frac{N}{2})}\sum_{m=0}^{N/2-1}x_{2m+1}e^{-\frac{2\pi i}{N/2}m(k+\frac{N}{2})}$$ $$=\sum_{m=0}^{N/2-1}x_{2m}e^{-\frac{2\pi i}{N/2}mk}e^{-2\pi mi} + e^{-\frac{2\pi i}{N}k}e^{-\pi i}\sum_{m=0}^{N/2-1}x_{2m+1}e^{-\frac{2\pi i}{N/2}mk}e^{-2\pi mi} $$ $$=\sum_{m=0}^{N/2-1}x_{2m}e^{-\frac{2\pi i}{N/2}mk} - e^{-\frac{2\pi i}{N}k}\sum_{m=0}^{N/2-1}x_{2m+1}e^{-\frac{2\pi i}{N/2}mk} $$ $$ = E_k +e^{\frac{2\pi i}{N}k}O_k $$

Then we can rewrite \(X_k\) as:

$$ X_k = E_k + e^{-\frac{2\pi i}{N}k}O_k$$ $$ X_{k+\frac{N}{2}} = E_k - e^{-\frac{2\pi i}{N}k}O_k $$

This result ,expressing the DFT of length N recursively in terms fo two DFTs fo size N/2,is the core of the radix-2 DIT fast Fourier transform.The algorithm gains its speed by reusing the results fo intermediate computations to compute multiple DFT outputs.

FFT的蝴蝶图

图备注:Data flow diagram for N=8: a decimation-in-time radix-2 FFT breaks a length-N DFT into two length-N/2 DFTs followed by a combining stage consisting of many size-2 DFTs called "butterfly" operations (so-called because of the shape of the data-flow diagrams).