精华内容
下载资源
问答
  • 巴特沃斯低通滤波器设计
  • 巴特沃斯低通滤波器设计分析计算机科学与技术学院数字信号处理课程作业学 号:专 业学生姓名:教师:教授2015年月图1巴特沃斯低通滤波器幅频特性从表1可以看出,巴特沃斯滤波器在带通和过渡区域的线性相位、衰减斜率...

    巴特沃斯低通滤波器设计分析

    计算机科学与技术学院

    数字信号处理课程作业

    学 号:专 业学生姓名:教师:教授2015年月

    图1巴特沃斯低通滤波器幅频特性

    从表1可以看出,巴特沃斯滤波器在带通和过渡区域的线性相位、衰减斜率、加载特性以及跳跃反应方面具有特性均衡的优点。因此在实际使用中,巴特沃斯滤波器已被列为首选。

    表1 巴特沃斯与贝塞尔、切比雪夫滤波器的特性差异比较

    滤波器类型带通过渡区域阶跃响应巴特沃斯滤波器带通中最大的平坦幅度比贝塞尔滤波器陡峭,但不如切比雪夫滤波器性能好有一些过冲和振铃,但低于切比雪夫滤波器切比雪夫滤波器带通中的纹波比巴特沃斯滤波器和贝塞尔滤波器陡峭过冲和振铃合理贝塞尔滤波器带通中的平坦幅度响应比巴特沃斯滤波器和切比雪夫滤波器慢与巴特沃斯和切比雪夫滤波器相比,过冲和振铃非常小

    3.3 巴特沃斯低通滤波器的设计原理

    巴特沃斯低通滤波器的幅度平方函数,用下式表示:

    N为滤波器的阶数。当Ω=0时,=1;Ω=时,=1/2,是3dB截止频率。Ω=时,Ω逐渐增大,幅度下降非常迅速。Ω和N同幅度特性关系图如图1所示。N决定了幅度下降速度,N越大,通带就越平坦,过渡带也随之变窄,阻带幅度同过渡带下降的速度越迅速,总体频响特性同理想低通滤波器的实际误差越小。

    用S代替,把幅度平方函数变成S的函数:

    ,此公式说明了幅度平方函数有2N个极点,极点可以用下面的公式来表达:

    2n个极点等间隔分布在半径为的圆上,间隔是rad。如图2所示。

    图2 三阶巴特沃斯滤波器极点分布

    为形成稳定的滤波器,2N个极点只取S平面左半面的N个极点构成,而右半平面的N个极点构成。的表达式为

    例如N=3,通过下式可以计算出6个极点:

    ,,,,,

    当n=3时,6个极点中位于左半平面的三个分别是:

    ,,

    取S平面左半面平面的极点,,组成:

    将对3dB截止频率归一化,归一化后的表示为:

    令,p称为归一化拉式复变量。,λ称为归一化频率。

    经过归一化后巴特沃斯滤波器的传输函数为:

    式中,为归一化极点,为位于左半平面的极点用下式表示:

    把极点表达式代入归一化后的巴特沃斯滤波器的传输函数,得到的的分母是p的n阶多项式,用下式表示:

    下面来确定n,由技术指标,,和确定。在定义 ,中,将和分别代入幅度平方函数,得到和,再将和代入中,整理得:

    联立这两个式子可得:

    令,,则n的表达式为:,取大于等于N的最小整数。

    经过总结,巴特沃斯低通滤波器的设计步骤大致为:

    通过,,和的值,用公式算出滤波器的阶数n。

    根据,,求出归一化极点,将代入中,得出归一化传输函数。

    将去归一化。将代入中,从而得到实际的滤波器传输函数。

    4. MATLAB仿真及分析

    4.1 MATLAB简介

    MATLAB语言是一种面向科学与工程计算的预言,它编程效率高,测试程序手段丰富,扩展能力强,内涵丰富。它的信号处理工具箱提供了设计巴特沃斯滤波器的函数。本文充分利用这些函数,进行了巴特沃斯滤波器的程序设计,并将其作为函数文件保存,可方便地进行调用。

    4.2 MATLAB仿真及分析

    用函数设计归一化的巴特沃斯低通滤波器。函数可在给定滤波器性能的情况下,选巴特沃斯滤波器的阶数n和截止频率,从而可用函数设计巴特沃斯滤波器的传递函数。

    可得到足性能的模拟巴特沃斯滤波器的最小阶数n及截止频率,其中为通带的拐角频率,为阻带的拐角频率,和的单位均为;为通带区的最大波动系数,和阻带区的最小衰减系数,和的单位都为dB。可设计截止频率为的n阶低通模拟巴特沃斯滤波器,其传递函数为:。

    令=1,得到巴特沃斯滤波器归一化结果,如表2所示。

    表2 n=1~8阶的巴特沃斯滤波器系数

    滤波器的性能指标如下:通带截止频率=2400HZ,通常最大衰减=3dB,阻带截止频率=5000HZ,阻带最小衰减=25dB。

    MATLAB程序如下:

    %采样率

    >> f_N=16000;

    %设计要求指标

    >> f_p=2400;

    >> f_s=5000;

    >> R_p=3;

    >> R_s=25;

    %计算归一化角频率

    >> Ws=f_s/(f_N/2);

    >> Wp=f_p/(f_N/2);

    %计算阶数和截止频率

    >> [n,Wn]=buttord(Wp,Ws,R_p,R_s);

    %计算H(Z)

    >> [b,a]=butter(n,Wn);

    %作出H(Z)的幅频相频图,freqz(b,a,计算点数,采样率)

    >> freqz(b,a,1000,8000)

    >> subplot(2,1,1);

    >> axis([0 4000 -30 3])

    利用MATLAB工具箱里的函数,仿真设计巴特沃斯低通滤波器的仿真结果如图3所示。

    图3 假定的输入

    展开全文
  • 关于一阶和二阶巴特沃斯低通滤波器设计,c语言编写,简单容易理解。
  • 这是一个对二阶压控压源型巴特沃斯低通滤波器设计,包含了具体的步骤。
  • 《基于MATLAB设计巴特沃斯低通滤波器》由会员分享,可在线阅读,更多相关《基于MATLAB设计巴特沃斯低通滤波器(6页珍藏版)》请在人人文库网上搜索。1、基于MATLAB设计巴特沃斯低通滤波器摘 要: 首先分析了巴特沃斯低...

    《基于MATLAB设计巴特沃斯低通滤波器》由会员分享,可在线阅读,更多相关《基于MATLAB设计巴特沃斯低通滤波器(6页珍藏版)》请在人人文库网上搜索。

    1、基于MATLAB设计巴特沃斯低通滤波器摘 要: 首先分析了巴特沃斯低通滤波器的特性。然后用MATLAB的信号处理工具箱提供的函数设计了巴特沃斯低通滤波器,使得巴特沃斯滤波器的设计变得更加简单、快捷、直观。巴特沃斯(Butterworth)滤波器是一种具有最大平坦幅度响应的低通滤波器,它在通信领域里已有广应用,在电测中也具有广泛的用途,可以作检测信号的滤波器。MATLAB语言是一种面向科学与工程计算的语言。它编程效率高,测试程序手段丰富,扩展能力强,内涵丰富。它的信号处理工具箱(Signal Processing Toolbox)提供了设计巴特沃斯滤波器的函数,本文充分利用这些函数,进行了巴特沃。

    2、斯滤波器的程序设计,并将其作为函数文件保存,可方便地进行调用。1. 巴特沃斯低通滤波器的特性巴特沃斯低通滤波器的平方幅度响应为:其中,n为滤波器的阶数,c为低通滤波器的截止频率。该滤波器具有一些特殊的性质: 对所有的n,都有当 =0时,|H(j0)|2 =1; 对所有的n,都有当=c时,|H(jc)|2 =0.5 ,即在c处有3dB的衰减;|H(j)|2 是的单调递减函数,即不会出现幅度响应的起伏; 当n+时,巴特沃斯滤波器趋向于理想的低通滤波器; 在=0处平方幅度响应的各级导数均存在且等于0,因此|H(j)|2 在该点上取得最大值,且具有最大平坦特性。图l展示了2阶、4阶、8阶巴特沃斯低通滤。

    3、波器的幅频特性。可见阶数n越高,其幅频特性越好,低频检测信号保真度越高。巴特沃斯与贝塞尔(Besse1)、切比雪夫(Cheby.shev)滤波器的特性差异如图2所示。从图2可以看出,巴特沃斯滤波器在线性相位、衰减斜率和加载特性三个方面具有特性均衡的优点,因此在实际使用中,巴特沃斯滤波器已被列为首选。2 .巴特沃斯低通滤波器的MATLAB实现MATLAB的信号处理工具箱提供了有关巴特沃斯滤波器的函数buttap、buttord、butter。21 用buttap函数设计归一化的巴特沃斯低通滤波器系数z,P,k=bttap(n)可设计出n阶巴特沃斯低通滤波器原型,其传递函数为:因此实际上Z为空阵。。

    4、上述零极点形式可以化为:其中,巴特沃斯滤波器的归一化结果,如表1所示。22 设计巴特沃斯滤波器的程序实现buttord函数可在给定滤波器性能的情况下,选择巴特沃斯滤波器的阶数n和截止频率c, 从而可利用butter函数设计巴特沃斯滤波器的传递函数。n,c=buttord(p,s,Rp,Rs,s)可得到满足性能的模拟巴特沃斯滤波器的最小阶数n及截止频率c, 其中p为通带的拐角频率,s为阻带的拐角频率,p和s的单位均为rad/s;Rs为通带区的最大波动系数,Rp为Rs阻带区的最小衰减系数,Rp和Rs的单位都为dB。b,a=butter(n,c ,s )可设计截止频率为c的n阶低通模拟巴特沃斯滤波器。

    5、为:利用buttord函数、buuer函数编制设计巴特沃斯低通滤波器的MATLAB函数文件butterdesignm,其清单如下:FunctionNbutt,Wcbutt,bbutt,abutt=butterdesign(Wp,Rp,Ws,As)Nbutt,Wcbutt=buttord(Wp,Ws,Rp,As,S);bbutt,abutt=butter(Nbutt,Wcbutt,S);hbutt,Wbutt=freqs(bbutt,abutt);subplot(2,1,1);plot(WbuR,abs(hbutt);subplot(2,1,2);plot(Wbutt,angle(hbutt);。

    6、为了使程序更通用,采用以下命令从键盘上输入巴特沃斯滤波器的性能指标。 Wp=input(Please input passband comer frequencyin rads Wp=) Rp=input(Please input passband ripple in dB Rp= )Ws=input(Please input stopband comer frequency in rads Ws=)As=input(Please input stopband attenuation in dB As=)调用butterdesign函数就可设计出满足性能指标的巴特沃斯滤波器,其主程序文件名为b。

    7、uttermainm。下面举例说明巴特沃斯滤波器的计算机辅助设计过程。设计一模拟巴特沃斯低通滤波器,其通带的拐角频率p为02,通带区的最大波动系数Rp为7dB,阻带的拐角频率s为03,阻带区的最小衰减系数Rs为16dB。在MATLAB命令窗口中输入buttermain,根据屏幕上的提示分别输入02*pi,7,03*pi,16,就可得到满足性能指标的巴特沃斯低通滤波器的最小阶数n=3,截止频率c=05122rads,其传递函数为:同时得到图3所示的巴特沃斯低通滤波器曲线。3. 结束语利用本文的butterdesign函数就可以轻而易举地设计出满足性能指标要求的巴特沃斯滤波器的最小阶数n及截止频率c ,并绘制出巴特沃斯滤波器的频率特性曲线,使得巴特沃斯滤波器的设计变得更加简单、快捷、直观。参 考 文 献1 张殿龙,王福文巴特沃斯低通滤波器在电动机测试中的应用J电测与仪表,2001.2 王永初Buttworth滤波器在过程控制中的应用J工业仪表与自动化装置,1994,63 陈思巴特沃斯低通滤波器的简化快速设计J信阳师范学院学报(自然科学版),1997.4 楼顺天,李博菡基于MATLAB的系统分析与设计 信号处理M.西安电子科技大学出版社,1998。

    展开全文
  • 四旋翼惯导融合之观测传感器滞后问题汇总与巴特沃斯低通滤波器设计(气压计MS5611、GPS模块M8N、超声波、PX4FLOW等)

    前文讲到APM的三阶互补方案,之前附的图是从学长博客里面抠的,感觉还不是很详细,于是自己就画了下,顺便重新理一下思路。


    上图中下标为O的表示原始量(Origion),C表示矫正后的量(Correction),a,v,s这些一目了然,表示加速度、速度、位置,其中带下标c的表示融合后的状态量,即在控制中用作实际反馈的量,读者可以结合上图与上文博客后面所贴的相关代码、注释阅读。

    链接如下:


    四旋翼定高篇之惯导加速度+速度+位置三阶互补融合方案


    上文最后提到由于观测传感器滞后性(主要原因:1、支持的最大采样频率小;2、原始数据输出噪声大、大多数时候需要数字低通滤波造成时延,造成的直接把当前惯导估计值观测传感器做差比较得到状态误差的方式不可取。


    在提出解决办法前,首先我们来谈下传感器采样周期造成的观测传感器滞后的问题:

    首先以大家熟悉的超声波传感器为例,其中辨识度最高的为HC-SR04

    直接给出采集时序图:


    超声波传感器工作需要模块发射头向外发射波长约为6mm、频率为40khz的超声波信号,触发模块开始工作需要在模块触发引脚产生一个不少于10us的高电平,取触发时刻为T0,当前方有物体时,声波会反射回来,反射回来的信号被模块上的接收头所接收,并且在模块的输出引脚上产生一个回响应电平信号,取响应时刻回T1,根据声波一来一往的总时间与声音在空气中传播的速度,即可计算距前方物体距离。

    此模块为了防止发射信号对回响信号的影响,需要两次发射间隔至少为60ms,模块测量距离范围为2cm~400cm,实际使用过程中,也就发现2.5m以内数据还好,超过2.5m后,稍微有点角度误差就很大,我们就按照最大检测距离为2.5m计算,最大采集时间为60ms+(2.5*2/340)*1000ms=74.7ms

    至此我们总结下,常见的HC-SR04模块最小采样周期为60ms,最

    大接近75ms。


    75ms似乎完全可以接受,下面再以常用的M8N GPS为例:


    直接截取ublox软件设置截图:



    这里首先可以看到GPS时钟源,一般就选GPS time即可,接着是



    测量周期,一般模块初始化为1Hz,对于一般的应用来讲,1Hz刷新



    速率完全够了,这也是模块默认的刷新速率。更快的刷新速率意



    味着需要占用芯片的更大通讯资源、处理压力,同时模块的功耗


    也就越大。


    尚不了解刷新速率加大是否会对数据输出精度有影响。。。


    本文当前采用的不是串口解析Nema标准字符数据帧形式,本文只


    对UBX里面PVT语句进行解析,PVT数据帧信息如下图所示:


     


    PVT语句基本上包含了GPS定点所需的所有常用信息,本文直接


    GPS测量频率设置成M8N所能允许的最大采样频率10Hz后,此时


    的GPS采样时间即为100ms



    下面接着讨论常用高度观测传感器———气压计MS5611,数据


    手册截图如下:



    其中气压计采集过程为气压、温度交替采集,采样频率可设置,


    采集时,需要先开启ADC(气压、温度)转换,然后采集,这里


    Responce Time表示的为开启到采样的所需间隔时间。一般为


    保证压力数据、温度数据的实时同步性,在采集温度前、开启气


    压ADC数据转换,同理,采集气压前,亦开启温度ADC转换。这


    样可以实现采样周期的最小化



    从MS5611数据手册可以很容易的知道温度+气压采样周期最小为


    0.5*2=1ms,最大为8.22*2=16.44ms,这里需要注意的是不同采


    样频率下,传感器的输出精度是不一样的,从


    0.012mbar到0.065mbar其中当采样周期为16.44ms时,气压


    误差为0.012mbar,采样周期为1.0ms时,气压误差为


    0.065mbar,这里出现的mbar表示气压单位毫帕。单位转换关系如


    下图:




    故0.0012mbar=1.20Pa,有常识可知1Pa误差约等于10cm,将气


    压误差转换为距离后误差在12cm~65cm更小采样的采样周期


    意味着更大的采样误差,不同的噪声误差对应着卡尔曼滤波时观


    测噪声的选取大小。



    这里我们参考Autoquad飞控里面的采样设置,直接抠图如下:




    这里可以看到,传感器ADC转换时,温度与气压均设置成4096


    即此时最小采样周期为16.44ms,在AQ飞控CoOS任务调度周期为


    2.5ms,意味着只能实现最小20ms的气压计采样周期。(其中缘


    由大家自己算下加法即可)。




    最后在介绍一种位置观测传感器:光流PX4FLOW




    下面一段话为官网PX4FLOW中文介绍截取部分:


    PX4Flow 是一款智能光学流动传感器。传感器拥有原752×480 像素分辨率,计算光


    学流的过程中采用了4倍分级和裁算法,算速度达到250Hz(白天,室外),具备


    非常高的感光度。与其他滑鼠传感器不同,它可以以 120Hz(黑暗,室内)的计算速度


    在室内或者室外暗光环境下工作,而无需照明LED。你也可以对它重新编程,用于执行


    其他基础的,高效率的低等级机器视 觉任务。 



    PX4FLOW支持USB、串口、I2C两种方式对数据进行解析,为了减小芯片开销


    作者采用的方式为I2C形式,其中I2C相关数据为如下图:




    其中包含:光流点数、光流积分量、结合高度转换后的光流速度超声波距离图像


    质量、三轴角速度、超声波测量时间、陀螺仪内部温度等数据。


    其中:光流速度超声波距离图像质量为定点、定高所需的有用数据,作者在这里只


    对这三组数据进行了获取。


    PX4FLOW主控采用的是STM32F405,芯片主要资源开销DCMI获取摄像头数据与处理


    +融合高度、陀螺仪光流算法(其余超声波数据采集、板载陀螺仪SPI数据采集、


    Mavlink、USB等基本上可以忽略)。


    这里PX4FLOW给出了最大处理速度时耗时4ms,尚不清楚这部分指的是处理完一场图


    像数据加融合的总开销,还是只是针对融合算法。


    作者主控采用的是STM32F103RCT6,采用模拟I2C采集PX4FLOW数据,为保证陀螺仪


    、加计采样以及控制周期最小化,在采集I2C时,对PX4FLOW采用的是队列采集模式,


    一个2ms采集X轴流速、第二个2ms采集Y轴流速、第三个2ms采集超声波距离、


    2ms采集图像质量,光流数据更新一次为8ms。



    至此我们列举几种常见传感器采样周期如


    下:


    超声波HC-SR04:75ms


    GPS M8N:100ms


    气压计MS5611:20ms


    PX4FLOW:8ms



    上述我们只是讨论了数字传感器采集过程中的传感器采样周期造成的时延。




    这里我们讨论的时延是相对于惯性导航主导传感器——加速度计而言的。



    MPU6500加速度计当不设置内部数字低通时,陀螺仪最大输出频率为8Khz,加速度计为


    4Khz,对于四旋翼而言,最大采样频率为1Khz就完全够用了,足够高的采样周期能减小


    数据融合时的积分误差(频率混叠可以忽略),同时保证传感器数据数字低通时的群时


    延也更小。




    作者由于STM32F103RCT6芯片运算速度限制,MEMS传感器组合为MPU6500、HMC5983、


    MS5611,这三组传感器数据通过SPI采集进来分别耗时:73us、56us、82us。


    姿态解算最大耗时约320us


    GPS串口解析最大耗时约200us


    PX4FLOW单个数据采集最大耗时约0.5ms


    三轴惯导卡尔曼融合最大耗时约270us


    控制器、数字滤波等最大耗时约:150us




    系统总时间开销约为1.65ms


    作者选取总定时调度周期为2.0ms



    上面我们考虑的是一类原始数据采集过程中的滞后,接下来介绍一类因数字低


    滤波器造成的传感时延问题。



    传感器数字低通的滞后性:


    首先以气压计传感器为例子,上文讲到当MS5611气压传感器设置成精度最高时,即开启


    ADC采集时,温度、气压转换都设置成4096,此时官方给出的传感器误差为12cm,Okay,


    现在我们先来一组原始气压通过压差法获取的相对高度值波形。




    上图中,中间蓝色线表示速度波形、灰色表示加速度波形、上面总共有三条线,放大后


    如下:噪声比较大的为原始气压通过压差换算高度值、平滑点的红色线表示惯导估计高


    较为滞后的绿色线表示,巴特沃斯2Hz截止频率后的滤波滞后的高度值。




    这里注意到,气压计原始高度波动比较大,高度噪声基本上在50cm以内,数字低通后的


    气压高度即波动比较小,不考虑传感器静止漂移情况下,短时间内波动在15cm以内,但


    是运动起来后,发现滞后性很明显。(曲线从一定高度至另一高度的跟踪出现明显


    后)



    如果觉得还不够明显,当速度快一点后,就立马一目了然了。




    注意速度峰值大的地方,惯导位置估计高度与低通后的气压观测高度,明显都是红色线


    先起来观测传感器后起来,中间来回上下拖动飞机一段更为明显。后面最后一个速度


    值较小时,两曲线基本重合,看不出明显差异。



    下面给出利用MATLAB设计巴特沃斯低通滤波器过程(Tip:作者信号与系统很渣,只会依葫


    芦画瓢):


    首先本文巴特沃斯滤波器为2阶,阶数越高,虽然保证了阻带更快衰减,但是系统


    亦增长。


    1、调用MATLAB滤波器设计工具箱,命令行输入fdatool即可,界面如下。




    2、左下方分别勾选Lowpass、IIR、滤波器阶数、采样频率、截止频率即可。




    3、点击Design Filter滤波器设计完成,得到系统幅频响应如下。




    4、点击Analysis,选Phase Delay即可看到系统相延特性。





    上面两个图的差异在于设置的滤波器阶次不一样,对比可知,阶次越高系统相延越


    大。



    二阶巴特沃斯数字低通滤波器参数如上图所示。


    通过fdatool滤波器工具箱导出的滤波器参数,由巴特沃斯数字滤波器了离散方程:


          

    数字控制器设计时,根据实时采样的加速度计数据,递推更新即可。

    /*************************************************

    函数名: LPButterworth(float curr_input,Butter_BufferData *Buffer,Butter_Parameter *Parameter)

    说明: 二阶巴特沃斯数字低通滤波器

    入口: float curr_input 当前输入

    出口: 滤波器输出值

    备注: 2Butterworth低通滤波器

    *************************************************/

    float LPButterworth(float curr_input,Butter_BufferData *Buffer,Butter_Parameter *Parameter)

    {

    static int LPB_Cnt=0;

            /* 加速度计Butterworth滤波 */

    /* 获取最新x(n) */

            Buffer->Input_Butter[2]=curr_input;

            if(LPB_Cnt>=500)

            {

    /* Butterworth滤波 */

            Buffer->Output_Butter[2]=

             Parameter->b[0] * Buffer->Input_Butter[2]

            +Parameter->b[1] * Buffer->Input_Butter[1]

    +Parameter->b[2] * Buffer->Input_Butter[0]

            -Parameter->a[1] * Buffer->Output_Butter[1]

            -Parameter->a[2] * Buffer->Output_Butter[0];

            }

            else

            {

              Buffer->Output_Butter[2]=Buffer->Input_Butter[2];

              LPB_Cnt++;

            }

    /* x(n) 序列保存 */

            Buffer->Input_Butter[0]=Buffer->Input_Butter[1];

            Buffer->Input_Butter[1]=Buffer->Input_Butter[2];

    /* y(n) 序列保存 */

            Buffer->Output_Butter[0]=Buffer->Output_Butter[1];

            Buffer->Output_Butter[1]=Buffer->Output_Butter[2];

            return (Buffer->Output_Butter[2]);

    }


    相关结构体定义如下。

    typedef struct
    {
     //volatile 
       float Input_Butter[3];
     //volatile 
       float Output_Butter[3];
    }Butter_BufferData;


    typedef struct
    {
      float a[3];
      float b[3];
    }Butter_Parameter;



    自研飞控视频,链接如下:


    四旋翼GPS户外定点篇(F330机架)



    四旋翼GPS定点F450青山江边


    此篇博客废话太多,疏于整理,难免有不正之处,欢迎交流指正!!!

    下节讨论传感器延时修正的简单处理方法与惯性导航数据融合的细节部分。。。

    展开全文
  • 222 2 2 2 基于 MATLAB 设计巴特沃斯低通滤波器 摘 要 首先分析了巴特沃斯低通滤波器的特性然后用MATLAB的信号处理工具箱提供的 函 数设计巴特沃斯低通滤波器使得巴特沃斯滤波器的设计变得更加简单快捷直观 ...
  • 建立了巴特沃斯低通滤波器设计模型, 进行了滤波器的设计, 并针对具体实例进行分析。
  • 摘 要: 首先分析了巴特沃斯低通滤波器的特性, 然后用MATLAB 的信号处理工具箱...数设计巴特沃斯低通滤波器, 使得巴特沃斯滤波器的设计变得更加简单、快捷、直观。 关键词: 巴特沃斯低通滤波器; MATLAB ; 特性; 设计
  • 摘要:设计了一个巴特沃斯低通滤波器,并用电路仿真软件对其进行了仿真,幅频特性和相频特性较好,通带内 频率特性平坦,且不存在波浪起伏现象,阻带内的曲线缓缓变化到零,所得指标能满足要求,能达到较好的滤波 ...
  • 基于matlab 的巴特沃斯低通滤波器的实现 一 课程设计的目的 运用MATLAB实现巴特沃斯低通滤波器设计以及相应结果的显示另外还对多种低通滤波窗口进行了比较 二课程设计的基本要求 1熟悉和掌握MATLAB 的基本应用技巧...
  • 基于matlab 的巴特沃斯低通滤波器的实现 一 课程设计的目的 运用MATLAB实现巴特沃斯低通滤波器设计以及相应结果的显示另外还对多种低通滤波窗口进行了比较 二课程设计的基本要求 1熟悉和掌握MATLAB 的基本应用技巧...
  • 分类号 编号 烟 台 大 学 毕 业 论 文 基于MATLAB设计巴特沃斯低通滤波器 The Design of Butterworth Low-passing Filter Based on MATLAB 申请学位 院 系 专 业 姓 名 学 号 指导老师 2011年 05 月 26日 烟台大学 ...
  • 使用matlab设计IIR巴特沃斯低通滤波器

    万次阅读 多人点赞 2018-05-31 23:32:48
    1. 设计IIR巴特沃斯低通滤波器 2. 将滤波器用于加噪声信号的处理 3. 改变参数指标比较不同 4. 实验结果与分析 (1)滤波器频率特性如图 输入信号特性如图: 经过滤波器之后信号特性如图: ...

    目的和要求

    1. 设计IIR巴特沃斯低通滤波器
    2. 将滤波器用于加噪声信号的处理
    3. 改变参数指标比较不同

    实验结果与分析
    (1)滤波器频率特性如图

    输入信号特性如图:

    经过滤波器之后信号特性如图:

    (2)改变指标后
    Wp=0.3pi, Ws=0.6pi, Rp=0.5, As=40

    可以看到过渡带向右移动了一点,并且衰减的过渡变长了,然后通带内频衰减变少了,阻带衰减变大了。这是由于Wp和Ws分别决定了过渡带的起讫位置,而Rp决定了通带内允许的最大衰减,As则决定了阻带允许的最小衰减。 程序代码:
    %课本P395
    %1、由模拟滤波器指标(Omegap、Omegas、Rp、As)计算巴特沃斯滤波器指标(阶数 N 和 3dB 截止频率Omegac)
    %buttord可用于计算低通、高通、带通、带阻巴特沃斯滤波器指标
    %Rp,As分别为通带最大衰减和组带最小衰减(dB),'s'表示模拟滤波器
    %根据指标,求得符合指标的、滤波器应有的阶数和截止频率
    clc;
    Td=1;Fs=1/Td;
    Wp=0.2*pi;Ws=0.3*pi;
    Rp=1;
    As=15;
    Omegap=2/Td*tan(Wp/2);
    Omegas=2/Td*tan(Ws/2);
    [N,Omegac]=buttord(Omegap,Omegas,Rp,As,'s');
    %2、计算连续系统系数a,b0
    %归一化(模板巴特沃斯的截止频率Omegac=1)的模拟滤波器,零点、极点、增益
    %级联式,z0,p0,k0分别为零点、极点、增益
    %去归一化(求出真正滤波器的Omegac),得到级联式
    %级联式转换为一般式(由根求系数):为由一般式为跳板,计算并联式
    [z0,p0,k0]=buttap(N);
    [Bap,Aap]=zp2tf(z0,p0,k0); 
    [b,a]=lp2lp(Bap,Aap,Omegac);
    [bz,az]=bilinear(b,a,Fs); 
    [H,W]=freqs(bz,az);
    figure;
    plot(W/pi,20*log10(abs(H))); 
    title('巴特沃斯滤波器')
    xlabel('频率');
    ylabel('增益(dB)');
    
    f1=10;%第一个点频信号分量频率
    f2=30;%第二个点频信号分量频率
    f3=45;%第三个点频信号分量频率
    fs=100;%采样率
    T=2;%间隔长度
    n=round(T*fs);%采样点个数
    t=linspace(0,T,n);
    y=cos(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t)+randn(size(t));
    figure;
    subplot(2,1,1);
    plot(t,y);
    title('输入信号时域图像');
    xlabel('t/s');
    ylabel('V');
    fft_y=fftshift(fft(y));
    f=linspace(-fs/2,fs/2,n);
    subplot(2,1,2);
    plot(f,abs(fft_y));
    title('输入信号频域图像');
    xlabel('f/Hz');
    ylabel('V');
    axis([ 0 50 0 100]);
    
    figure;
    final=filter(bz, az, y); 
    subplot(2,1,1);
    plot(t,final);  
    title( '滤波后信号波形时域波形' );
    xlabel('t/s');
    ylabel('V');
    
    finall=fftshift(fft(final));
    subplot(2,1,2);
    plot(f,abs(finall));
    title( '滤波后信号频域波形' );
    axis([ 0 50 0 100]);
    
    

    注:课本指程佩青,数字信号处理教程,清华大学出版社。

    展开全文
  • 巴特沃斯低通滤波器的简化快速设计 里面有计算过程,还有设计实例
  • 巴特沃斯低通滤波器的c语言实现

    热门讨论 2014-11-02 10:23:15
    用c 语言实现的巴特沃斯低通滤波器,输出结果与matlab仿真设计结果一直
  • 本资源为一个matlab源代码和一个纯净的音乐信号,通过对音乐信号加高频余弦噪声,得到掺杂高频余弦噪声的音乐信号;后通过设计巴特沃斯低通滤波器以及频域分析,实现高频噪声的去除,重新得到纯净的音乐信号。
  • 信号课程设计中低通滤波器的设计仿真程序,有源四阶巴特沃斯低通滤波器
  • 巴特沃斯低通滤波器和基于凯塞窗的FIR滤波器设计以及布莱克曼窗(三阶升余弦窗)的FIR滤波器
  • 本资源内包含一个matlab源代码和一个纯净的音乐信号,通过对音乐信号加高频余弦噪声,得到掺杂高频余弦噪声的音乐信号;后通过设计巴特沃斯低通滤波器以及频域分析,实现高频噪声的去除,重新得到纯净的音乐信号。
  • 看到这三个人的名字,学过模电的同学应该有点面熟,他们出现在有源滤波那一部分。要是学过《信号与系统》和《数字信号处理》课程的,对这三个名字就更熟了。...巴特沃斯滤波器也被称作最大平坦滤波器, 其特点是...
  • 基于matlab的IIR巴特沃斯滤波器设计,利用双线性变换法转换模拟到数字。
  • 采用脉冲响应不变法设计一个巴特沃斯型IIR低通数字滤波器,是一个很简单的例子。要求见文件里的。
  • 本题选择IIR巴特沃斯低通滤波器设计一个IIR滤波器需要一下步骤: a. 根据技术指标通带截止频率fs、阻带截止频率fp,通带最大衰减ap、 阻带最小衰减as,求出滤波器的阶数N。 b.求出归一化极点pk,将pk代入,得到...
  • 听首歌放松下作 者:良知使者排 版:良知使者IIR数字滤波器的设计 一、实验目的1、掌握IIR数字滤波器设计原理及方法;2、掌握并理解FFT快速傅里叶变换的用法3、掌握设计IIR数字滤波器的冲激响应不变法;4、掌握IIR...
  • 龙源期刊网http://www.qikan.com.cn巴特沃斯数字低通滤波器设计及应用作者:汪其锐王桂华王永军来源:《山东工业技术》2016年第24期摘要:现实生活中存在各种各样的干扰和波动,但随着科技的发展与追求质量的要求,...
  • 2.1的设计难点主要在于前置放大和低通滤波器。下图是电源电路图:电源电路图双12V交流电压经过整流滤波,得到双15V。C1、C2滤除电源纹波,选择上,耐压要大于输出电压。C3、C4滤除高频噪声,选择上,常用瓷片电容。...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 240
精华内容 96
关键字:

巴特沃斯低通滤波器设计