数字信号处理基本内容
目录
1 数字信号处理基本内容 . ............................................ 2
2数字滤波器 ....................................................... 3
2.1 滤波器的分类 . ............................................ 3
2.2 FIR滤波器和IIR 滤波器 ................................... 4
2.3 FIR滤波器和IIR 滤波器的FPGA 实现 ........................ 4
3 傅里叶变换 . ...................................................... 8
3.1 连续傅里叶变换 . .......................................... 8
3.2傅里叶级数 ............................................... 9
3.3离散傅里叶级数 ........................................... 9
3.4离散时间傅里叶变换 ....................................... 9
3.5离散傅里叶变换 ........................................... 9
3.6 快速傅里叶变换 . ......................................... 10
3.7分数傅里叶变换 .......................................... 10
3.8短时距傅里叶变换 ........................................ 11
3.9小波分析 ................................................ 11
3.10 离散小波变换 . .......................................... 12
3.11 Z变换 ................................................. 14
3.12拉普拉斯变换 ........................................... 14
3.13 傅里叶变换的硬件实现 . .................................. 14
4谱分析 .......................................................... 15
4.1谱分析的实现 ............................................ 15
4.2 随机信号处理概述 . ....................................... 15
4.3随机信号谱分析 .......................................... 16
5数字信号处理研究内容总结 ........................................ 17
1 数字信号处理基本内容
数字信号处理主要是研究有关数字滤波技术、离散变换快速算法和谱分析方法。
数字信号处理主要内容
①离散线性时不变系统理论(包括时域、频域、各种变换域) ②频谱分析(包括有限字长效应):FFT 谱分析方法及统计分析方法 ③数字滤波器设计及滤波过程的实现(包括有限字长效应)
④时频-信号分析(短时付氏变换)„Short Fourier Transform‟,小波变换(Wavelet Analysis), Wigner Distribution
⑤多维信号处理(压缩与编码及其在多煤体中的应用)
⑥非线性信号处理
⑦随机信号处理
⑧模式识别人工神经网络
⑨信号处理单片机(DSP)及各种专用芯片(ASIC),信号处理系统实现
2数字滤波器
2.1 滤波器的分类
(1)根据滤波器的选频作用分为低通、高通、带通和带阻滤波器四种。
(2)根据“最佳逼近特性”的标准进行分类:
巴特沃兹滤波器:
从幅频特性提出要求,而不考虑相频特性。其幅频响应为:
切比雪夫滤波器:
切贝雪夫滤波器也是从幅频特性方面提出逼近要求的,其幅频响表达式为:
贝塞尔滤波器:
只满足相频特性而不关心幅频特性。
(3)从处理信号分为:
经典滤波器:经典滤波器是假定输入信号x(n)中的有效信号和噪声(或干扰)信号成分各在不同的频带,当x(n)通过一个线性滤波系统后,可以将欲噪声信号成分有效地去除。可是,如果有效信号和噪声信号的频率带相互重叠,那么经典的滤波器将无能为力。
现代滤波器:现代滤波理论研究的主要内容是从含有噪声的数据记录(又称为时间序列)中估计出信号的某些特征或信号本身。一旦信号被估计出,那么估计出的信号将比原信号会有高的信噪比。现代滤波器把信号和噪声都视为随机信号,利用它们的统计特征(如自相关函数、功率谱函数等等)导出一套最佳的估值算法,然后用硬件和软件实现。目前现代滤波器主要有:维纳滤波器、卡尔曼滤波器、线性预测器、自适应滤波器等,很多专家将基于特征分解的频率估计及奇异值分解算法都归入现代滤波器的范畴。
(4)从实现方法上分:
IIR 数字滤波器
FIR 数字滤波器
IIR 和FIR 滤波器的特性比较如下所示:
2.2 FIR滤波器和IIR 滤波器
线性移不变的数字滤波器包括无限长脉冲响应滤波器(IIR 滤波器)和有限长脉冲响应滤波器(FIR 滤波器)两种。这两种滤波器的系统函数可以统一以Z 变换表示为:
当时,M 就是IIR 滤波器的阶数,表示系统中反馈环的个数。由于反馈的存在,IIR 滤波器的脉冲响应为无限长,因此得名。若A (z ) = 1,则系统的脉冲响应的长度为N+1,故而被称作FIR 滤波器。
2.3 FIR滤波器和IIR 滤波器的FPGA 实现
目前,使用FPGA 设计FIR 和IIR 数字滤波器有常用乘法器结构和分布式算法结构等。
乘法器结构又有采用乘累加结构,并行乘法器结构。乘累加结构是最简单的一种,较多使用的是串行结构。这种结构只使用了一个乘累加器,所以占用资源少,但缺点是处理速度慢。较适合用于对处理速度要求不高,结构简单的系统; 并行乘法器结构相对要复杂,如果加上流水结构,能实现较高速的信号处理,能够满足一定的实时性。但是这种结构受乘法器处理速度和个数的限制。同时,如果采用FPGA 的可编程逻辑实现乘法器,资源占用也是相当大的。
分布式算法(DA)巧妙的利用ROM 查找表将固定系数的乘累加运算转换成查找表操作,避免了乘法运算。同时,查找表后的数据执行的都是简单的加法
运算,可以较大程度地提高运算速度和插入流水。这种方法是目前比较常用的基于FPGA 设计FIR 滤波器的方法。
分布式算法又分为串行分布式算法、并行分布式算法、串并结合的分布式算法。串行分布式算法其结构相对简单,占用资源少,但是处理速度不是很高,受数据位数的影响; 并行分布式算法结构齐整,利于流水实现,多用于对速度要求高的场合,但占用资源大; 串并结合的分布式算法是串行分布式算法与并行分布式算法的一个折中,具体情况不同,效果也不同,缺点是有控制电路的加入,增加了电路的复杂性。
不管哪种分布式算法,都会用到ROM 来做查找表。并且查找表的规模随着滤波器阶数增加而呈指数增长。同时,随着滤波器系数的位数的增加,查找表的规模也会增加,这将极大的增加设计的硬件规模。所以,如何减小查找表的规模成为尚待解决的问题。目前来说,还没有一个有效的方法来减少ROM 数量或规模。
采用FPGA 实现举例:
基于乘法器结构的FIR 滤波器设计
(1)基于乘累加FIR 滤波器结构
图2-1基于乘累加的FIR 滤波器硬件结构
(2)基于并行乘法器直接型FIR 滤波器结构
图2-2基于并行乘法器直接型FIR 滤波器结构
(3)基于乘法器的半并行(Semi -Parallel )FIR 滤波器结构
图2-3基于乘法器的半并行FIR 滤波器结构图
基于分布式算法的FIR 滤波器设计
(1)串行分布式FIR 滤波器
图2-4 位串分布式(SDA )算法结构图
(2)并行分布式FIR 滤波器
图2-5 并行分布式算法硬件结构图
(3)串并结合分布式FIR 设计
图2-6 串并结合4BAAT 分布式算法硬件结构图
3 傅里叶变换
概要介绍
∙ 傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅立叶变换。最初傅里叶分析是作为热过程的解析分析的工具被提出的。
傅里叶变换属于谐波分析。
傅里叶变换的逆变换容易求出, 而且形式与正变换非常类似。
正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解。在线性时不变的物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号的响应来获取。
卷积定理指出:傅里叶变换可以化复杂的卷积运算为简单的乘积运算, 从而提供了计算卷积的一种简单手段。
离散形式的傅里叶变换可以利用数字计算机快速的实现(其算法称为快速傅里叶变换算法 (FFT))。 ∙ ∙ ∙ ∙ ∙
下面介绍傅里叶变换的不同变种:
3.1 连续傅里叶变换
连续傅里叶变换将平方可积的函数f (t ) 表示成复指数函数的积分或级数形式。
这是将频率域的函数F (ω) 表示为时间域的函数f (t ) 的积分形式。 连续傅里叶变换的逆变换 (inverse Fourier transform)为
即将时间域的函数f (t ) 表示为频率域的函数F (ω) 的积分。
一般可称函数f (t ) 为原函数, 而称函数F (ω) 为傅里叶变换的像函数, 原函数和像函数构成一个傅立叶变换对(transform pair) 。
3.2傅里叶级数
连续形式的傅里叶变换其实是傅里叶级数 (Fourier series) 的推广,因为积分其实是一种极限形式的求和算子而已。对于周期函数,其傅里叶级数是存在的:
其中F n 为复幅度。对于实值函数,函数的傅里叶级数可以写成:
其中a n 和b n 是实频率分量的幅度。
3.3离散傅里叶级数
离散傅里叶级数(DFS )与连续傅立叶级数相比有很大的区别。最大的不同在于离散时间傅里叶级数的系数序列是周期的。
离散傅里叶级数的公式
周期为N 的周期序列,其离散傅里叶级数为
其中,DFS 的逆变换序列:
:
(k=表示对一个周期N 内的值求和)
3.4离散时间傅里叶变换
离散傅里叶变换是离散时间傅里叶变换(DTFT )的特例(有时作为后者的近似)。DTFT 在时域上离散,在频域上则是周期的。DTFT 可以被看作是傅里叶级数的逆变换。
3.5离散傅里叶变换
为了在科学计算和数字信号处理等领域使用计算机进行傅里叶变换,必须将函数x n 定义在离散点而非连续域内,且须满足有限性或周期性条件。这种情况下, 使用离散傅里叶变换,将函数 x n 表示为下面的求和形式:
其中X k 是傅里叶幅度。直接使用这个公式计算的计算复杂度为
傅里叶变换(FFT )可以将复杂度改进为。 ,而快速
3.6 快速傅里叶变换
快速傅里叶变换(Fast Fourier Transform,FFT ),是离散傅里叶变换的快速算法,也可用于计算离散傅里叶变换的逆变换。 对于复数序列,离散傅里叶变换公式为:
直接变换的计算复杂度是
的结果,但只需要
存在复杂度为。快速傅里叶变换可以计算出与直接计算相同的计算复杂度。通常,快速算法要求n 能被因数的快速算法。 分解,但不是所有的快速傅里叶变换都要求n 是合数,对于所有的整数n ,都3.7分数傅里叶变换
分数傅里叶变换的物理意义即做傅里叶变换 a 次,其中 a 不一定要为整数;而做了分数傅里叶变换之后,信号或输入函数便会出现在介于时域(time domain) 与频域(frequency domain)之间的分数域(fractional domain)。 对信号 x (t ) 做一次傅里叶变换的结果为
为
们令
,我们表示成即
以写成一般式
,做两次傅里叶变换的结果
,而当我们做了 a 次的傅里叶变换可。至此,我们都以 a 为整数做考量,当我时,我们将 x (t ) 的分数傅里叶变换定义为
,其中 φ 可以不必为整数。
定义
另外也有另外一种定义
当 φ = 0.5π 的时候,分数傅里叶变换就成了傅里叶变换。
3.8短时距傅里叶变换
短时距傅里叶变换(short-time Fourier transform, STFT,又称
short-term Fourier transform)是和傅里叶变换相关的一种数学变换关系,用以决定时变信号其局部段落之弦波成份的频率与相位。
简单来说,在连续时间的例子,一个函数可以先乘上仅在一段时间不为零的窗函数 (window function)再进行一维的傅里叶变换。再将这个窗函数沿着时间轴挪移,所得到一系列的傅里叶变换结果排开则成为二维表象。数学上,这样的操作可写为:
其中w (t ) 是窗函数,通常是翰氏窗函数 (Hann window) 或高斯函数的“丘型”分布,中心点在零,而x (t ) 是待变换的信号。X (τ, ω) 本质上是x (t ) w (t -τ) 的傅里叶变换,乃一个复函数代表了信号在时间与频率上的强度与相位。
3.9小波分析
小波分析(wavelet analysis), 或小波变换(wavelet transform)是指用有限长或快速衰减的、称为母小波(mother wavelet)的振荡波形来表示信号。该波形被缩放和平移以匹配输入的信号。
小波变换分成两个大类:离散小波变换 (DWT) 和连续小波变换 (CWT)。两者的主要区别在于,连续变换在所有可能的缩放和平移上操作,而离散变换采用所有缩放和平移值的特定子集。
和傅里叶变换比较
小波变换经常和傅里叶变换做比较,在那里信号用正弦函数的和来表示。主要的区别是小波在时域和频域都是局部的, 而标准的傅里叶变换只在频域上是局部的。短时距傅里叶变换(Short-time Fourier transform)(STFT)也
是时域和频域都局部化的. 但有些频率和时间的分辨率问题,而小波通常通过多分辨率分析给出信号更好的表示。
小波变换计算复杂度上也更小,只需要O(N ) 时间,而不是快速傅里叶变换的 O(N log N ) ,N 代表数据大小。
小波变换
存在着大量的小波变换,每个适合不同的应用。常见的如下:
∙
∙
∙
∙ 连续小波变换(CWT) 离散小波变换(DWT) 快速小波变换(FWT) 小波包分解 (Wavelet packet decomposition) (WPD)
3.10 离散小波变换
定义
首先我们定义一些需要用到的信号及滤波器。
x[n]:离散的输入信号
h[n]:low pass filter 低通滤波器,可以将输入信号的高频部份滤掉而输出低频部份。
g[n]:high pass filter高通滤波器,与低通滤波器相反,滤掉低频部份而输出高频部份。
Q :downsampling filter降频滤波器,使输出信号的频率变成输入信号频率的1/Q。
清楚规定以上符号之后,便可以利用阶层架构来介绍如何将一个离散信号作离散小波变换:
架构中的第1层
(1st stage)
架构中的第2层(2nd stage)
架构中的第α层(α − th
stage)
注意:若输入信号x [n ]的长度是N ,则第α层中的x α, L [n ]及x α, H [n ]
的长度为。
2-D Discrete Wavelet Transform
此时的输入信号变成x [m , n ],而变换过程变得更复杂,说明如下:
(1)首先对n 方向作高通、低通以及降频的处理
(2)接着对v 1, L [m , n ]与v 1, H [m , n ]延著m 方向作高低通及降频动作
经过(1)(2)两个步骤才算完成2-D DWT的一个stage 。
3.11 Z变换
Z 变换(Z-transform )在数学和信号处理上,把一连串离散的实数或复数信号,从时域转为频域表示。
定义
Z 变换把时域的 x[n] 转为频域的 X(Z)。
当中n 是整数,z 是一圆形复数,其表示方式为
。
3.12拉普拉斯变换
基本定义
如果定义:
∙
∙
∙ 是一个关于t 的函数,使得当是一个复变量; 时候,; ;
是是一个运算符号,它代表对其对象进行拉普拉斯积分的拉普拉斯变换结果。 的拉普拉斯变换由下列式子给出:
则
3.13 傅里叶变换的硬件实现
在傅里叶变换族中,能用硬件实现的有离散傅立叶变换、快速傅立叶变换、分数阶傅里叶变换(FRFT)、离散小波变换,其他变换或在时域连续,或在频域连续,都不适合计算机实现;或者只是用来进行系统分析的工具。
4谱分析
信号分析主要包括时域分析和频域分析。谱分析就是频域分析,用的数学工具就是傅里叶变换。另外,小波分析兼有时域和频域的一些优点,得到了广泛应用。
例如:说明如何实现一个信号的功率谱分析。具体如下:
1) 在界面中定制信号,具体包括信号的振幅、频率、时间间隔;
2) 在界面中定制功率谱分析相关,具体包括抽样频率、FFT 运算的长度; 3) 用户还可以选择是否加背景噪音;
4) 点击画图则完成功率谱的计算,并画出其时域图形和频域图形;
4.1谱分析的实现
离散傅立叶变换(DFT )的快速算法FFT 为频谱分析提供了一种优异的分析手段。在高速实时的数字信号处理中,快速傅里叶变换实时谱分析是DSP 应用的核心技术之一,需要采用专门集成电路或FPGA 来实现。FPGA 实现的实时谱分析系统既有专用ASIC 电路实现的快速性,又有DSP 器件实现的灵活性,非常适用于高速实时的数字信号处理。
4.2 随机信号处理概述
随机信号处理的主要理论基础是信号检测理论、估计理论和随机过程理论。根据理论分析,随机信号的不同样本函数在同一时刻的值往往是不确定的,因而只能用样本函数集的统计平均来描述,如用均值、均方值、方差、概率密度函数、相关函数和功率谱密度函数来描述随机过程的特性。但是,在大多数情况下,被处理的随机信号是具有各态历经的平稳随机过程,它的样本函数集平均可以用某一样本函数的时间平均来确定,这给随机信号的分析和处理带来很大方便。虽然平稳随机信号本身是不确定的,但它的相关函数是确定的,可以利用快速变换算法来计算。相关函数的傅里叶变换或Z 变换表示随机信号的功率谱密度函数,简称为功率谱。
功率谱是描述随机信号基本特征的重要参数,而功率谱估值是按照实际观测的有限数据估计得到的,它必然与真实的功率谱值有差别。为了减小谱分析偏差和提高谱分辨率,产生了多种谱估计方法。这些谱估计方法可分为两类:一类为线性估计方法,有自相关估计、协方差法和周期图法等。另一类为非线性估计方法,有最大似然法、最大熵法、最小交叉熵法和自回归滑动平均信号模型法等。
4.3随机信号谱分析
对随机信号的研究, 一般从三个方面进行, 一是幅域描述, 它描述随机信号在各个时刻状态的统计特征—概率分布; 二是时域描述, 它描述随机信号变化的平均性质和过程在两个不同状态(截口) 相关联的概率特性, 又称为相关分析; 三是频域描述, 它描述随机信号的频率结构, 以揭示随机信号的频率成分。其中随机信号的频域描述具有重要地位,传统的方法是利用Fourier 变换, 建立随机信号的功率谱密度, 从而分析随机信号的频率结构。
5数字信号处理研究内容总结
信号的频谱分析只适用于确定性信号,对于随机信号,主要是通过相关计算、谱估计等分析其特性的。另外,数字信号处理涉及的问题还有信号的采集,即实现信号的数字化,包括取样、量化;系统分析:线性系统与非线性系统,时变系统与非时变系统,线性时(移)不变系统,因果系统与非因果系统,线性时(移)不变因果系统;快速算法:FFT,WFT, 快速卷积、相关算法;特殊算法:反卷积,信号重构。
数字信号处理的核心是处理,处理就是加工,因数字信号常表示成序列,加工实际上就是相加、相乘和位移。在上面所罗列的所有有关数字信号处理的内容中,信号的采集通常有ADC 、DAC 之类的器件完成;而系统分析只是作为一种分析工具;数字信号处理的重点在于各种算法的实现(包括硬件实现),即快速算法(FFT,WFT, 快速卷积、相关算法),特殊算法(反卷积,信号重构),包括前面论述的数字滤波技术(FIR 、IIR ),傅里叶变换族,频谱分析等。其中,快速傅立叶变换(FFT )是核心,它大大的减少了离散傅立叶变换(DFT )的运算量,使DFT 得到了实际应用;实际上,在数字信号处理中,许多算法都是基于FFT 实现的。