数字信号处理方法与实现

上传人:bao****ty 文档编号:149467068 上传时间:2020-10-27 格式:PPT 页数:40 大小:177.50KB
返回 下载 相关 举报
数字信号处理方法与实现_第1页
第1页 / 共40页
数字信号处理方法与实现_第2页
第2页 / 共40页
数字信号处理方法与实现_第3页
第3页 / 共40页
数字信号处理方法与实现_第4页
第4页 / 共40页
数字信号处理方法与实现_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《数字信号处理方法与实现》由会员分享,可在线阅读,更多相关《数字信号处理方法与实现(40页珍藏版)》请在金锄头文库上搜索。

1、数字信号处理方法与实现,常用DSP算法,DFT(离散付里叶变换) FFT算法 FIR滤波器 IIR滤波器 自适应滤波器,DFT(离散付里叶变换),DFT的定义为: 定义旋转因子:,DFT的一些重要结论,有限长离散时间信号的频域离散表述可对傅里叶变换取样得到; 只有当傅里叶变换一个周期内0,2)的取样数N大于等于原信号长度L时,表述才有实用意义。 当信号x(n)长度L小于N时,则对x(n)补零构成N点序列,再进行DFT运算。,DFT的一些重要结论,N越大,则它的DFT与傅里叶变换越近似,因为在区间0,2)的取样数增加了。 N的取值通常需要根据实际应用中允许的运算复杂度决定,因为补零个数越多,则D

2、FT计算所需要的运算和存储器件越多。,DFT实现数字滤波器,线性和圆周卷积 重叠相加法 重叠保留法,线性和圆周(循环)卷积,时不变系统可以实现输入信号与系统冲激响应之间的线性卷积。 两个序列卷积的傅里叶变换等于它们的傅里叶变换相乘,即可在频域计算卷积。 频域取样导致信号时域周期重复,理论上利用DFT只能计算圆周(循环)卷积,而不能实现线性卷积。,圆周卷积等价于线性卷积的条件,其中,N为DFT的长度,序列x(n)的长度为L,序列h(n)的长度为K。 为了利用DFT计算线性卷积,必须选择满足上式的DFT长度N,并对x(n)至少补K-1个零,对h(n)至少补L-1个零。,长序列与短序列卷积的DFT实

3、现方法,在大多数实际情况中,长序列对应于系统输入,短序列对应于系统冲激响应。 将长序列分割成长度为N的序列块,计算每一块与短序列的卷积。 每一个序列块的卷积必须适当地合并,以得到长序列和短序列卷积的最后结果。 有两种合并的方法,分别是重叠相加法和重叠保留法。,重叠相加法,将序列x(n)分解成长度为N的序列块xm(n); 分别对h(n)和xm(n)补零,使长度变为N+K-1; 用N+K-1点DFT计算每块的圆周卷积; 将结果相加,其中序列块卷积结果ym(n)的后K-1个取样和ym+1(n)的前K-1个取样重叠,故称重叠相加法。,重叠保留法,将序列x(n)分解成长度为N的序列块xm(n),其中有K

4、-1个取样与相邻序列重叠,第一个序列块在开头补K-1个零; 对h(n)补零,使长度变为N; 用长度为N的DFT计算每个序列块的圆周卷积。 拼接构成输出信号。,两种方法的区别,在重叠相加法中,计算长度N+K-1的DFT,并将结果相加; 在重叠保留法中,只需计算长度N的DFT,并通过舍弃、保留手段拼接构成最后输出结果。,FFT算法,DFT运算归结为一系列的乘加运算,谱的每一个频率点都要对N个乘法项求和,对N个谱点总共作N2次乘法,计算量大,不利于实时处理。 1965年,Cooley和Tukey提出快速付里叶变换(FFT),极大地提高了运算速度。,运算量对比,例:1024个采样点 直接DFT:需10

5、48576次乘法; FFT:仅需5120次乘法。,基-2 FFT运算近似的复乘次数,注意,FFT是DFT的一种快速算法; FFT没有对DFT作任何近似,精度无任何损失,相反,由于FFT的计算步骤少,硬件位数有限引起的积累误差小。,FFT算法原理,FFT算法节省运算时间的关键在于,它把数据组x(n)分解为奇数下标和偶数下标,然后利用指数函数(即旋转因子)的周期性消去多余操作。 一个N点DFT可分解成两个N/2点DFT,同理,逐步分解,经过log2N步之后可分解为N/2个两点的计算(基-2碟式运算)。 运算量为N/2 log2N,抽取(decimation),两种形式的蝶式运算,DIT(按时间抽取

6、) DIF (按频率抽取),位反序排列(以8点FFT为例),0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 000 100 010 110 001 101 011 111 0 4 2 6 1 5 3 7,反向FFT(IFFT),可以使用同一计算程序(硬件结构)作正反两个方向的计算。三个步骤: 取x(k)的共轭,得x*(k); 求x*(k)的FFT; 再求共轭,乘以1/N,即得。,不同基的FFT算法,基-2算法:序列长度N为2的整数幂,即N=2L,其精确复乘次数为(考虑省去非乘法的次数): 基-4算法:序列长度N为4的整数幂,即N=22L,其精确复

7、乘次数为(考虑省去非乘法的次数):,基-4算法比基-2算法更高效。,谱泄漏,DFT是对有限时间间隔(时间窗)里的采样数据的变换,导致谱泄漏。,单位矩形序列r(n)乘以无限正弦波f(n),无限正弦波谱,函数,单位矩形序列的谱,SinC函数,说明,如果时间窗长度正好为整数倍个信号周期,除一点有值外,其余全为0,变换结果没有产生谱泄漏。 通常情况,时间窗不等于信号周期的整数倍,频谱中,除中心值外,还有以1/f(倍频程)缓慢衰减的旁瓣。,时间窗加权,为消除谱泄漏,加权,压低旁瓣。 时间窗本身的作用相当于宽度与之相等的一个矩形窗函数的加权。,选择窗函数的原则,使信号在窗的边缘为0,以减小截断所产生的不连

8、续效应。 信号经窗函数加权处理后,不应丢失太多的信息。 选择什么样的窗函数,总是在旁瓣的衰减程度、中心峰的宽度和能量损失等因素间取折衷(一组矛盾)。,常用加权函数的一般形式,= 2,=0.5时,称为汉宁(Hanning)窗; = 2,=0.54时,称为汉明(Hamming)窗。,其它窗函数形式,矩形窗 三角窗 布莱克曼窗 凯塞窗 切比雪夫窗,FFT用于快速卷积,时域直接卷积 频域处理方法 实用中,这两种方法究竟哪一种速度快,取决于输入序列的性质,通常采用FFT的频域方法较快,但存在固有的处理延时。,FFT在DSP实现过程中应注意的问题,应调整信号的采样点数,使之正好或接近为2(或4,由基数定)

9、的幂次,尽量避免大量补零的冗余。 频域系数通常为固定系数,可提前算好存起来,实时处理时不必再算,可省一次FFT运算。,FFT在DSP实现过程中应注意的问题,DSP作FFT运算时,应尽量使用片内RAM,速度快,并利用位反转(位反序)寻址方式专门为FFT运算提供的DSP功能。 定点DSP实现FFT,应注意防止中间结果溢出,其方法是对中间数值归一化(以因子2进行归一化,可运用DSP芯片的移位功能,不会增加运算量),如作2m点FFT,可以2m作归一化。,FIR滤波器,数字滤波是数字信号处理中的基本处理算法。 FIR(finite impulse response)滤波器是最常用的一种数字滤波器。,FI

10、R滤波器的差分方程与Z变换,其中,x(n)为输入,y(n)为输出,ak为滤波器系数。,展开,得,标准FIR滤波器结构,转置FIR滤波器结构,输入,.,h(N-1),h(N-2),h(0),Z-1,.,Z-1,输出,转置型横向滤波器,FIR滤波器的特点,精确严格的线性相位 FIR滤波器是稳定系统 非递归结构 可采用FFT算法,提高运算效率,FIR滤波器的设计方法,频率抽样法FIR滤波器的逼近方法 设计一个长度为N的FIR滤波器,可以对要求达到的频率响应在N个点取样,把这些取样值进行反傅氏变换,即可得到所要设计的滤波器的冲激响应。 窗函数法基本方法,FIR滤波器的窗函数设计法,设所需滤波器的理想响

11、应Hd(ejw),对hd(n)作截尾处理,Q为FIR滤波器的阶数,Q越大,近似程度越高,FIR滤波器的窗函数设计法,对hd(n)截尾,实际上是对hd(n)乘上一个矩形窗,这是FIR滤波器设计的最直接和简便的方法,但采用矩形窗存在较大的Gibbis现象(有限项近似所产生的振荡),这是由于矩形窗函数的边缘截止得太突然所引起,加合适的窗可减小。 通常可采用前面介绍的其它经典窗函数(Hamming窗、Hanning窗、Blackman窗等)。,FIR滤波器的设计过程,通过计算机编程设计FIR滤波器,常用Matlab仿真软件进行。 根据任务要求,首先确定所需FIR滤波器阶数,然后利用仿真软件计算滤波器系数,即完成FIR滤波器的设计。,FIR滤波器的计算过程,输入数据存在RAM缓冲区中,N个系数存在系数存储器中,用程序循环执行,对N个点的一次循环计算产生一个输出y(n),也就是说,FIR滤波计算就是循环卷积计算,即移动的加权平均处理。 用前面方法计算得到的一组系数h(n)(即滤波器的设计),即可用于FIR计算。,FIR滤波器的DSP实现,注意输入数据x(n)与滤波器系数h(n)的合理存放。,数据存储区,程序存储区,均为连续的存储区,采用循环寻址功能,使长度为N的缓冲区足以存储N阶滤波器所需的输入数据。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号