贝塞尔滤波器 编程题.doc_第1页
贝塞尔滤波器 编程题.doc_第2页
贝塞尔滤波器 编程题.doc_第3页
贝塞尔滤波器 编程题.doc_第4页
贝塞尔滤波器 编程题.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编程题 -贝塞尔滤波器1.研究热点及原理电子学和信号处理中,贝赛尔(Bessel)滤波器是具有最大平坦的群延迟(线性相位响应)的线性过滤器。贝赛尔滤波器常用在音频天桥系统中。模拟贝赛尔滤波器描绘为几乎横跨整个通频带的恒定的群延迟,因而在通频带上保持了被过滤的信号波形。滤波器的名字来自于Friedrich贝赛尔,一位德国数学家(17841846),他发展了滤波器的数学理论基础。贝塞尔(Bessel)滤波器具有最平坦的幅度和相位相应。带通(通常为用户关注区域)的相位响应近乎呈线性。Bessel滤波器可用于减少所有IIR滤波器固有的非线性相位失真。 贝塞尔(Bessel)线性相位滤波器正是由于具有向其截止频率以下的所有频率提供等量延时的特性,才被用于音频设备中,在音频设备中,必须在不损害频带内多信号的相位关系前提下,消除带外噪声。另外,贝塞尔滤波器的阶跃响应很快,并且没有过冲或振铃,这使它在作为音频DAC输出端的平滑滤波器,或音频ADC输入端的抗混叠滤波器方面,是一种出色的选择。贝塞尔滤波器还可用于分析D类放大器的输出,以及消除其它应用中的开关噪声,来提高失真测量和示波器波形测量的精确度。 虽然贝塞尔滤波器在它的通频带内提供平坦的幅度和线性相位(即一致的群延时)响应,但它的选择性比同阶(或极数)的巴特沃斯(Butterworth)滤波器或切比雪夫(Chebyshev)滤波器要差。因此,为了达到特定的阻带衰减水平,需要设计更高阶的贝塞尔滤波器,从而它又需要仔细选择放大器和元件来达到最低的噪声和失真度。2.应用举例及流程图下面就以截止频率为620kHz的贝塞尔低通滤波器为例,从软件方面来了解贝塞尔低通滤波器的特性及其实现方法。Matlab程序流程如图1所示3.贝塞尔低通滤波器的Matlab仿真实现程序代码及主要注释b,a=besself(5,620000*2*pi);t= 6e-6;impulse(b,a,t);w=O:lO000*2*pi:1000000*2*pi;h1=freqs(b,a,w1);mag=abs(h1);mag=20*log10(mag);f=w/(2*pi);subplot(2,1,1);plot(f,mag);grid;xlabel(Frequency(Hz);ylabel(Magnitude(dB);phase=angle(h1);phase=phase*180/pi;subplot(2,1,2);grid;plot(f,phase);xlabel(Frequency(Hz);ylabel(Phase(degrees);z,p,k=Besself(5,620000*2*pi0);format longdelay=O;for w=0:6.2e5/1O0:6.2e5*2*pi;for i=1:5rp=real(p(i);ip=imag(p(i);tempp=rp/(rp2+(ip-w)2);delay=delay-tempp;enddelaydelay=0;end程序中大量使用了matlab信号处理工具箱中的函数,现将几个主要的工具箱函数简要介绍如下:(1)Bsself功能:贝塞尔模拟滤波器的设计,包括低通、高通、带通、带阻滤波器。格式:b,a=besself(n,Wn)b,a=besself(n,Wn,ftype)z,p,k=besself()A,B,C,D= besself()说明:besself设计低通、高通、带通、带阻贝塞尔模拟滤波器。模拟贝塞尔滤波器最主要特征是通带内固定的群时延,这样能够保持通带内波形的形状。数字贝塞尔滤波器没有这个特性,besself不支持数字贝塞尔滤波器的设计。b,a=besself(n,Wn)可设计出一个n阶截止频率为wn弧度秒的贝塞尔低通滤波器。依s幂次的增长,滤波器传递函数的系数分别放在n+l维向量a和b中。其传递函数为贝塞尔滤波器的幅度响应在截止频率处小于3dh,且随着阶数n的增大,衰减也越大。如果Wn是一个二维向量,wn:wl w2,且wlw2,则besself(n,wn)设计出的是一个2n阶带宽为wlww2的带通模拟滤波器。b,a=besself(n,Wn,ftype)可用于设计高通和带阻滤波器。其中ftype可为:high,n阶高通模拟滤波器,截止频率为Wn;stop,2n阶带阻模拟滤波器如果Wn为二维向量wn=wl w2,则阻带为wlww2。z,P,k=besself()返回的是零、极点、增益形式转移函数,括号中的参数意义同上。A,B,C,D= besself()返回的是滤波器的状态方程形式,如下:其中u为输入x为状态变量,y为输出。括号中参数设置及其意义都同于上。(2)Impulse功能:计算线性时不变系统的冲激响应。格式:Impulse(sys)Impulse(sys,t)Impulse(sys1,sys2,sysN)Impulse(sys1,sys2,sysN,t)impulse(sysl, PlotStylel ,sysN,PlotStyleN)y, t,x=impulse(sys)说明:impulse可用于仿真线性时不变系统的冲激响应并画图。系统可以是连续的,离散的,单输入单输出(SISO)、多输人多输出(MIMO)。对于多输入系统,其冲激响应是各个输入通道冲激响应的集合。Sys是对系统的描述方式,可以是传递函数形式和状态方程形式,而不能是零、极点增益形式,即可以是impulse(b,a)和impulse(A,B,CD)。Impulse还可以将仿真数据存储在matlab变量中,不画出图形。格式为y,t,x=impulse(sys),分为三种情况:y=impulse(sys),输出的响应存于Y中,Y是一个多维数组,依据系统的具体情况确定。Y,t=impulse(sys),存储响应Y的同时也存下仿真时间于t中。Y,t,x=impulse(sys),这只对于系统是状态方程描述的形式。(3)Freqs功能:仿真模拟滤波器的频率响应。格式:h=freqs(b,a,w)h,w=freqs(b,a)h,w=freqs(b,a,n)freqs(b,a)说明:b、a为系统转移函数的系数,式(1)形式。h=freqs (b,a,w),返回模拟滤波器的复数频率响应存于h中,h是一个复数矩阵,包括幅度和相角信息。Freqs沿着向量W在复平面虚轴所标定的频率点求频率响应。h,w=freqs(b,a),系统自动选取200个频率点求频率响应存于h中所选的200个频率点存于W中。h,w=freqs(b,a,n),Freqs沿着向量13在复平面虚轴所标定的频率点求频率响应。W 的值就是n的值。freqs(b,a),当没有要求输出参数时,freqs将在当前的图象窗口画出滤波器的幅度响应曲线和相位响应曲线。4.运行结果运行以上程序得该贝塞尔滤波器的冲激响应如图1所示。滤波器的群时延变量delay输出值为1010纳秒,受频率变量W的影响非常小。截止频率和阶数固定的贝塞尔滤波器的群时延基本上是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论