数字信号处理三级项目报告ReportofDiscussiononDigitalSignalProcessing摘要本三级项目要求使用C或C++利用数字信号处理知识设计并实现一个具有信号采集、信号时域及频域分析、FIR滤波器设计、数字信号滤波等功能的多频窄带数字信号处理软件仿真系统。通过课程研究项目的实施,加深对数字信号处理基础知识理解的基础上,初步具备运用所学知识进行信号处理的能力,将学生的计算机操作能力、分析能力、软件设计能力与应用实践结合起来,引导学生由浅入深地掌握数字信号处理理论与开发工具,初步具备实际应用的信号处理软件开发与制作基础。目录摘要......................................................................................................I1系统整体设计思想......................................................................12连续信号时域采集模拟实现模块..............................................12.1将模拟多频窄带信号理想采样转换为数字信号........12.2采样过程........................................................................13输入信号的频域分析模块..........................................................13.1DFT对信号进行谱分析....................................................13.2信号的时域分析............................................................23.3信号的频域分析............................................................23.4DFT的高分辨率频谱与高密度频谱之间的区别............23.5谱分析的误差及改进方法.................................................34FIR滤波器设计模块..................................................................4设计方法如下:.........................................................................44.1线性相位法....................................................................44.1.1第一类线性相位:.................................................44.1.2线性相位FIR数字滤器的零点分布特点............64.2理想低通滤波器的逼近................................................64.3窗函数设计法原理........................................................74.3.1窗函数法设计FIR滤波器的步骤........................84.3.2加窗处理对矩形频率响应的影响.........................85输入信号的滤波处理及结果分析模块......................................911系统整体设计思想a)信号采集:将模拟单频或多频窄带信号(可由多个正弦信号叠加)模拟信号理想采样转换为数字信号b)信号的时域波形:观察输入信号的时域波型。c)信号频域分析:采用DFT或FFT对信号进行频谱分析,观察信号的频谱分布特性;观察DFT的高分辨率频谱与高密度频谱之间的区别。d)设计FIR滤波器:利用窗函数方法设计FIR滤波器,观察不同窗函数的选取对滤波器性能的影响。e)利用FIR滤波器对输入信号进行滤波:观察采用不同窗函数的滤波器对输入信号进行滤波处理后的时域、频域波形。2连续信号时域采集模拟实现模块2.1将模拟多频窄带信号理想采样转换为数字信号模拟信号:Xa(t)=cos(Ω1t)+cos(Ω2t)+cos(Ω3t)其中f1=201Hz,f2=208Hz,f3=214Hz采样频率fs=1000Hz,观测时间Tp=0.1s2.2采样过程Xa(t)=xa(t)p(t),其中p(t)为周期冲激脉冲,则有:X(n)即为连续xa(t)以采样频率fs=1/T时得到的离散信号,当fs≥2fmax时,采样信号可以无失真还原原模拟信号,其中fmax为模拟信号的最高频率。3输入信号的频域分析模块3.1DFT对信号进行谱分析DFT变换要求时域和频域均离散化且为有限长,所以对连续信号用离散傅里叶进行谱分析时,需要有一个逼近变换过程。DFT进行谱分析时的几个重要参数分析:(1)要增加信号的最高频率,则必须增大,N一定时,F必须增大,那么分辨率就会下降。(2)要提高分辨率则F减小,观测时间就会增大,当N一定时,则减小,且不能产生混叠,则也得减小。(3)同时提高信号的最高频率和频率分辨率需要增加采样点N。那么N增大后工作量大大增加。23.2信号的时域分析信号采集f=201HZ,208HZ,214HZ的100点时域图3.3信号的频域分析采样64点,64点FFT3.4DFT的高分辨率频谱与高密度频谱之间的区别采样64点,64点FFT3采样64,补零到128,128点FFT采样128,128点FFTDFT的频谱分辨率:指对信号中两个靠的较近的频谱分量的识别能力。它仅取决于截取连续信号的长度,在采样频率不变时,通过改变采样点数N可以改变DFT的分辨率。DFT的高密度频谱:指当信号的时间域长度不变时,在频域内对它的频谱进行提高采样频率,而得到高密度谱,它只可以更细化当前分辨率下的频谱,但不能改变DFT的分辨率。3.5谱分析的误差及改进方法1)频谱混叠在对模拟信号xa(t)进行采样时,必须满足采样定理,即采样频率fs≥2fc,而通过上面分析时域有限的信号不可能是锐截止的,并且信号中不可避免地有一些高频杂散信号,因此在采样之前,一般都要对模拟信号进行滤波,滤除高频杂散信号。2)截断效应对无限长的模拟信号,用DFT进行谱分析时,用DFT对连续信号谱分析的误差问题先进行截断,通过采样才能得到有限点的序列,这样必然产生误差。截断可以理解为加窗,即:y(n)=x(n)w(n)式中:x(n)为模拟信号经采样得到的时域离散信号;w(n)为窗函数序列。根据频域卷积定理,加窗后的信号频谱为:Y(ejω)=1/2πX(ejω)*W(ejω)显然与原序列的频谱是不同的。3)栅栏效应栅栏效应是指用DFT对连续信号进行谱分析时,由于DFT的离散特性,使离散点之间的频谱无法得到,相当于透过栅栏观察频谱,只看到等间隔的离散点的频线,其他的频谱都被栅栏挡住了,故称之为栅栏效应。因此用DFT得到的离散谱线的包络只能是近似谱。为了减小栅栏效应,可以多增加些栅栏的缝隙,即增大DFT变换点数,这一方面可以通过在原序列尾部补零来实现。44FIR滤波器设计模块设计方法如下:1线性相位法2窗函数法3频率采样法4.1线性相位法线性相位FIR滤波器是指θ(θ)是ω的线性函数,有两类准确的线性相位。wwd)({2d}4.1.1第一类线性相位:ww)(第一类线性相位的幅度特性的特点:1、h(n)=h(N-n-1)为偶对称,N为奇数1)()()(NonjwnjwrgjweeHnhweH10)](cos[)(2)()(NngnwnhhwHCos[ω(n-τ)]关于ω=0,π,2π三点偶对称,所以)(wHg也关于ω=0,π,2π三点偶对称。因此该类滤波器适合于任何关于ω=0,π,2π三点偶对称频率特性的滤波器。(低通、高通、带通、带阻)])(cos[)(2)()(0MmjwtjwtgjwnwnheewHeH2、h(n)=h(N-n-1)为偶对称,N为偶数)(wHg])(cos[)(2)(0MmjwnwnheH0)]2(sin[]2)2(cos[)]([cosNnNnnw5N为偶数,所以12N,Cos[ω(n-τ)]虽然对ω=0、2π是偶对称,但对ω=π是奇对称。所以,当h(n)为偶对称,N为偶数时,虽然对ω=0、2π是偶对称,但对ω=π是奇对称。因此这种情况不适合做在w=π处不等于零的滤波器,如高通,带阻滤波器。所以,这种滤波器适合于设计低通和带通滤波器3、h(n)=-h(N-n-1)为奇对称,N为奇数4、h(n)为奇对称,N为偶数N为偶数,所以1-2N。当ω=π时,)]2(cos[)]212(sin[)](sin[NnNnnwsin[ω(n-τ)]=0虽然对ω=0、2π是奇对称的,对ω=π偶对称。)(wHg在ω=0、2π是奇对称且为0,对ω=π偶对称。故适用于高通,带通滤波器。6nNnznhzH10)()(4.1.2线性相位FIR数字滤器的零点分布特点将h(n)=±h(N-1-n)代入上式,得到:)()()1()()(1)1(]1[101010zHzzmhznNhznhzHmNmNNnnNnNnn(1)如z=zi是H(z)的零点,其倒数也必然是其零点;(2)因为h(n)是实序列,H(z)的零点必定共轭成对,因此和也是其零点。因此,线性相位FIR滤波器零点必定是互为倒数的共轭对,确定其中一个,另外三个零点也就确定了。4.2理想低通滤波器的逼近低通滤波器是一个通过低频信号而衰减或抑制高频信号的部件。理想的低通滤波器幅度响应如图1.2.1,可以实现的近似理想特性的幅度响应如图1.2.2所示。在理想情况下,可以清楚的指出通带(0wwc)和阻带(wwc);但在实际情况下,必须定义截止角频率wc。Wc定义为当H(jw)下降到最大值的0.707倍时的频率。7图1.2理想特性曲线图1.3实际逼近曲线实现对理想滤波器的最佳逼近。可以用下面的传递函数对理想特性加以逼近上式表示一个n阶全极点近似式,,其所以这样称呼是因为他的分母多项式为n次幂而分子为常数(因而它没有有限零点,只有有限极点)。低通滤波器的增益是传递函数在s=0时的值,很明显在上式里增益就是G。有许多种低通滤波器,它们的传递函数为上式的类型。如巴特沃兹逼近、切比雪夫逼近、贝塞尔逼近。而其它几种滤波器都可由低通滤波器变换得到。4.3窗函数设计法原理理想频率响应hd(n)通过傅立叶反变换获得。8一般来说,理想频率响应)(jwdeH是分段常型的,在边界频率处有突变点,所以,这样得到的理想单位脉冲响应hd(n)一定是无限长序列,而且是非因果的。而能实现的h(n)只能是因果的、有限长序列。怎样用一个有限长序列h(n)来逼近无限长的hd(n)?最简单的办法是直接截取一段hd(n)代替h(n)。这种截取可以形象地想象为h(n)是通过一个“窗口”看到一段hd(n)。因此,h(n)也可表示为hd(n)和一个“窗函数”的乘积,即式中窗函数w(n)就是矩形脉冲函数RN(n),为了改善设计滤波器的特性,窗函数还可以有其它的形式。窗函数设计法是从单位冲激响应着手,使h(n)逼近理想的单位冲激响应序列hd(n))()()(nhnwnhd如果窗函数w(n)的序列值≠1,则在0≤n≤N-1内,对hd(n)作一定的调整(加权处理)。w(n)是引起时域误差和频域误差的根本原因,因此,窗函数w(n)