资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,实时数字信号处理系统的设计与实现,电子工程与光电技术学院,电子工程教研室,1.1,引言,傅里叶变换(,FT,),是一种将信号从时域变换到频域的变换形式。它在声学、电信、电力系统、信号处理等领域有广泛的应用。希望在计算机上实现信号的频谱分析或其它工作,而计算机要求信号在时域和频域都是离散的,且都是有限长的。傅里叶变换(,FT,),仅能处理连续信号,,DFT,就是应这种需要而诞生的。它是傅里叶变换在离散域的表示形式。,DFT,的运算量是非常大的。在,1965,年首次提出快速傅里叶变换算法,FFT,之前,其应用领域一直难以拓展,是,FFT,的提出使,DFT,的实现变得接近实时,,DFT,的应用领域也得以迅速拓展。除了一些速度要求非常高的场合之外,,FFT,算法基本上可以满足工业应用的要求。由于数字信号处理的其它运算都可以由,DFT,来实现,因此,FFT,算法是数字信号处理的重要基石。,1,数字信号处理基础,数字信号处理的最主要应用领域便是数字滤波。数字滤波器被认为是数字信号处理的另一块重要基石。数字滤波器与模拟滤波器比起来具有以下明显的优点:可以满足滤波器对幅度和相位特性的严格要求,精确度高;没有电压漂移、温度漂移及噪声等问题,基本不受环境影响,稳定性好;用,DSP,实现的滤波器具有高度的可编程性,灵活性非常好。,正是由于数字滤波器的上述优点,使得数字滤波器广泛应用于雷达、语音处理、图像处理、模式识别、频谱分析、医学仪器等领域。根据不同的标准,数字滤波器可以进行多种不同的分类。,总的来说,数字滤波器可以分为经典数字滤波器与现代数字滤波器。经典滤波器用于处理有用信号与噪声处在不同频带的系统,如,FIR,,,IIR,;,现代滤波器可以从含有噪声的数据记录中估计出信号的某些特征信号本身,也就是说,现代滤波器用于处理有用信号和噪声处在同一频带的数据处理场合。现代滤波器有维纳滤波器、卡尔曼滤波器、线性预测器、自适应滤波器等多种类型。,下面简要地介绍,DFT,、,FFT,和数字滤波器的基本知识。,DSP,开发系统对,C,语言的支持能力越来越强,可以将,C,,,C,,,甚至部分,MATLAB,语言的算法直接移植到,DSP,芯片上运行;,FPGA,在这方面也取得重大进展。,1.2 DFT/FFT,的基本原理,其中,,W,为旋转因子。,由此公式不难发现,求出一点,X,(,k,),需要,N,次复数乘法、,Nl,次复数加法。,N,点,X,(,k,),需要,N,2,次复数乘法、,N,(,N,1,),次复数加法。当,N,很大时,计算量非常可观。如,1024,点复数,DFT,需要进行,1048576,次复数乘法运算。即使在计算速度飞速发展的今天,这在实时运算场合也是无法容忍的。利用旋转因子的对称性和周期性,发明了,FFT,算法,把复数乘法的运算量降低到了,N/2lgN,次。,1024,点复数序列,FFT,仅需做,5120,次复数乘法运算,其工作量仅为,DFT,的,4.8,。,1.2.1,常用,FFT,算法,六十年代提出时间抽取,FFT,算法以来,有关,FFT,的算法不断涌现。不过常用的算法还是基,2,时间抽取、基,2,频率抽取、基,4,时间抽取和频率抽取以及分裂基算法。近年来,由于微电子技术的发展,硬件的快速发展使人们暂时忽略了软件或算法的改进。总的来说,由于上述算法比较简单,是最常用的,FFT,算法。,图,1.2.1,基,2,时间抽取,(DIT,),FFT,算法,图,1.2.2,基,2,频率抽取,(DIF,),FFT,算法,1.2.2,其它,FFT,算法及应用,1,、基,4,、基,8,的,FFT,算法、混合基算法等;,2,、采用窗函数进行,FFT,的加权处理;,3,、实序列的,FFT,运算(频谱):,用一个,N,点复数,FFT,运算两个,N,点实序列,FFT,一个,N,点复数,FFT,运算,2N,点实序列,FFT,4,、,WFTA,、,ZFFT,、,CZT,等;,5,、快速相关、快速卷积、重叠相加,(,保留,),法等等;,6,、,DFT/FFT,等效成窄带滤波器组。,基本概念,:连续时间信号、离散时间信号、数字信号、频谱泄漏、频谱宽度等。,1.3 FIR,滤波器,1.3.1,基本原理,FIR,滤波器的差分方程为:,式中,,x,(,n,),输入序列,,y,(,n,),为输出序列,,h(n),为滤波器系数,,N,是滤波器的阶数。对此式进行,Z,变换,整理后可得,FIR,滤波器的传递函数:,FIR,的一般结构,在一般结构中,除了需要有,N,个乘法器外,还需要有一个,N,个相加的加法器,从运算效果来说,等效于在原来乘法器的基础上增加一个,N,位,(,X,位,+h,位),的乘法器,当乘法器数目比较多时,增加的加法器运算量比乘法器运算量还要大,这不利于提高器件运算速度。,D,D,h,N-1,.,D,h,0,X,i,为此,将这种结构加以改良,构成另一种处理结构。这个结构是将一个,N,个数的加法器变成为,N,个分散的两位数加法器,由于各个加法器之间通过寄存器相互隔离。如果将这个加法器同原来乘法器相互结合在一起,则运算结果等于在原来乘法器基础上被乘数多增加一位而已,不影响原来乘法器的快速算法实现。,D,D,h,N-1,.,D,X,i,h,0,FIR,的转置型结构,1.3.2,FIR,滤波器的优点,1,可以在幅度特性随意设计的同时,保证精确、严格的线性相位;,2,由于,FIR,滤波器的单位脉冲响应,h(n),是有限长序列,因此,FIR,滤波器没有不稳定的问题;,3,由于,FIR,滤波器一般为非递归结构,因此在有限精度运算下,不会出现递归型结构中的极限震荡等不稳定现象,误差较小;,4,利用系数对称性,可使运算量减少近一半;,5 FIR,滤波器可采用,FFT,算法实现,从而提高运算效率。,1.3.3,FIR,滤波器的设计方法,FIR,滤波器的设计方法主要有窗函数法和频率抽样设计法。,FIR,滤波器设计中,重要的计算就是加窗。矩形窗最直接和简便,但主旁瓣比仅为,13dB,。,因此实际设计中,一般采用其他窗函数,比较常用的窗函数有,Hanning,窗、,Hamming,窗、,Blackman,窗、,Kaiser,窗等。采用,Hanning,窗使能量集中在主瓣内,主旁瓣比为,31dB,,,但主瓣的宽度增加了,1,倍。采用,Hamming,窗使,99.9,以上的能量集中在主瓣,主旁瓣比达,43dB,,,主瓣的宽度也是矩形窗的,2,倍。,Blackman,窗进一步抑制旁瓣,使主旁瓣比达到,58dB,,,但主瓣的宽度是矩形的,3,倍。上述三种窗函数都是以增加主瓣宽度为代价换取一定程度的旁瓣抑制。而,Kasier,窗可以通过调整参数值来折中选择主瓣宽度和主旁瓣比,采用,Kaiser,窗设计,FIR,滤波器具有很大的灵活性。,1.3.4 FIR,滤波器的,MATLAB,实现,在,MATLAB,中,提供了两种,FIR,滤波器设计方法。窗函数设计法,(FIR1,缺省为,Hamming,窗,),和任意形状设计法,(FIR2),。,1,设计低通滤波器(,Hamming,窗):,B,FIR1(N,Wn),其中,,N,为滤波器的阶数,,Wn,为归一化截止频率,,0.0,Wn,1.0,,,1.0,对应于半抽样速率。,返回值,B,为一个,N,l,维矢量,即滤波器系数。,B,FIR1(N,Wn,,,high),;,B,FIR1(N,Wn,,,stop),2,采用其他窗函数设计低滤波器:,其他窗函数如,Boxcar,、,Hanning,、,Bartlett,、,Blackman,、,Kasier,和,Chebwin,。例如采用,Bartlett,窗,设计低通滤波器:,B,FIR1,(,N,Wn,Bartlett,(,N,),1.4 IIR,滤波器,1.4.1,基本原理,IIR,滤波器差分方程的一般形式为:,式中,,x,(,n,)、,y,(,n,)、,h(n),和,N,的含义同前。,IIR,滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,即是递归型的。也就是说,,IIR,滤波器的输出不仅与输入有关,而且与过去的输出有关。,IIR,滤波器的传递函数:,IIR,滤波器由于具有结构简单、运算量小的特点,因而得到了较广泛的应用。,IIR,滤波器结构具有多种形式,归纳起来主要有以下几种:(,l,),直接,I,型(也称直接型);(,2,)直接,II,型(也称正准型);(,3,)级联型;(,4,)并联型;(,5,)格型(,lattice,)。,直接,I,型结构需要,2N,级延迟单元,直接,II,型结构与直接,I,型结构相比节省了一半延迟,即需要,N,级延迟单元,是最常用的,IIR,滤波器结构之一。,级联型结构采用多个二阶基本节级联而成,每一个二阶基本节可采用直接,II,型结构实现,这种结构便于准确实现滤波器的零极点,也便于性能调整。,1.4.2 IIR,滤波器的设计方法,IIR,滤波器的设计一般有以下两种方法:(,1,)先设计一个模拟滤波器,然后变换成满足预定指标的数字滤波器。由于模拟滤波器的设计方法很成熟,有许多简单和现成的设计公式,设计参数已经表格化,因而这种方法比较方便;(,2),计算机辅助设计法。这是一种最优化的设计方法,先确定一种最佳准则,然后求在此准则下滤波器系统函数的系数,。,1.4.3 IIR,滤波器的,MATLAB,实现,以,Chebshev,2,型,IIR,低通滤波器为例说明用,MATLAB,设计,IIR,滤波器的方法。设滤波器的通带为,0,Wp,,,阻带为,Ws,1.0,,,1.0,对应于半抽样频率,要求通带内波动小于,Rp,dB,,阻带内衰减大于,Rs,dB,。,则用,MATLAB,设计该滤波器的过程如下:,1,调用函数,cheb2ord,(),,确定滤波器的阶数和截止频率:,N,,,Wn,cheb2ord,(,Wp,,,Ws,,,Rp,,,Rs,),返回,值,N,为满足要求的,Chebshev,2,型数字滤波器的最小阶数;,2,调用函数,cheby2,(),B,,,A,=cheby2(N,,,RS,,,Wn,),返回值,B,为一个,N,1,维矢量,是分子多项式系数,;A,也是一个,N,1,维矢量,为分母多项式系数。,与,FIR1,类似,设计,Chebshev,2,型,IIR,高通、带通和带阻的方法分别是:,高通:,B,,,A=chebg2,(,N,Rs,,,Wn,,,high,),带通:,B,,,A,cheby2,(,N,Rs,,,Wn,),,Wn,W1 W2,带阻:,B,,,A=cheby2,(,N,Rs,,,Wn,,,stop,),,Wn,W1 W2,除了,cheby2,以外,还有,cheby1,、,butter,等类型。,1.5,量化与有限字长,1.5.1,概述,FIR,和,IIR,数字滤波器的一些特征使它们相互之间能够区分,同时它们在执行时,需要进行一些专门考虑,包括相位特性、稳定性和系数量化影响。,给定频率响应特性,典型高阶,FIR,滤波器可以转换成符合这些特性的,IIR,滤波器。但是,这并不意味着,IIR,滤波器可以应用到所有的情况。在一些应用中,把滤波器的线性相位特性作为重要考虑,此时应该采用,FIR,滤波器,因为只有,FIR,滤波器可以设计成线性相位。另一个重要考虑是滤波器的稳定性。因为,FIR,的单位脉冲响应是有限长度,所以,FIR,滤波器是固有稳定的(也就是说,一个有上下限的输入总是产生一个有上下限的输出)。而,IIR,滤波器可能稳定,也可能不稳定,主要依赖于滤波器极点位置。,数字滤波器设计总是假设在无限精度装置上执行的。但是,因为所有处理器都是有限精度的,所以滤波器系数实际上近似于,“,理想,”,。这种近似引入滤波器系数的量化误差,导致滤波器频率响应与理想情况有偏移。因为窄带,IIR,的极点靠近单位圆,所以需要更长的字长。滤波器系数的量化误差最坏影响到极点位置移置单位圆之外,导致不稳定。,滤波器系数的量化误差对滤波器稳定性影响程度依赖于滤波器的结构和执行硬件的字长。因为滤波器的零点和极点位置与执行硬件的字长有关,它们与无限精度装置的差异影响,到滤波器的性能。,在,IIR,滤波器中,级联式与平行式生成的每一对复数共轭极点是分离的。这导致每一对复数共轭极点对滤波器系数量化误差的影响是相互独立的。但是对直接式滤波器结构来说,,这个性能并不成立。因此,级联式与平行式,IIR,滤波器比直接式,IIR,应用更加广泛。,在数字滤波器实现中另一个问题是由于硬件有限字长造成的量化误差。随着下列有限字长的使用,误差源增加:,输入输出信号量化;,滤波器系数量化;,不相关的四舍五入(或截断)噪声;,相关的四舍五入(或截断)噪声;,动态范围限制。,用数字形式表示连续时间的瞬间值,由于输入输出信号量化引入误差。输入信号主要是,A/D,量化噪声,而输出信号主要是,D/A,量化噪声。在大多数系统中,输出,D/A,量化噪声,是非常小的,输入,A/D,量化噪声是更加主要的因素。,在大多数执行程序中,滤波器系数初始值存在程序存储器中,然后移到二进制的小数点用最高比特位表示的数据存储器中。这些系数表示成,Q15,格式。给出的系数范围是,-1.0,0.999969,,步进量为,0.000031,。输入也是,Q15,格式,因此,当两个,Q15,数字相乘时,结果是,Q30,格式数字。当,Q30,数字驻留在,32,位累加器时,二进制的小数点用第二最高比特位表示。因为假设滤波器的输出为,Q15,格式,所以,Q3O,格式的数要左移,并保留结果的最高比,特位(,16,)。,注意:保留累加器的中间值很重要,可能保留,32,比特位的精度。,不相关的四舍五入(或截断)噪声是由乘法器产生的。尽管数字滤波器表示成有限字长,但是处理结果需要增加一些附加的比特来表示。例如,一个,b,比特的采样值,乘上一个,b,比特的系数,产生,2b,比特字长。在递归滤波器的实现中,第一次递归后,,2b,字长是需要,的;第,二,次递归后,,3b,字长是需要的;等等,以此类推。,1.6,实时的概念,1.6.1,实时的定义,通用计算环境:算法、测试、模拟数据、实际数据;,实时信号处理应用系统:算法的执行速度。,Tx,Tj,的复杂度,运算速度,1.6.2,进程的结构,1,、数据流处理,优点:随时更新、时延最小、存储单元最小;,缺点:处理速度高。,2,、块处理,优点:高的处理效率(比如,FFT,)、速度较低的处理器;,缺点:时延大(最小时延)。,两者可以转换!,3,、矢量处理,
展开阅读全文