精华内容
下载资源
问答
  • 为了进一步探究滤波这条知识线路,今天对巴特沃斯滤波器滤波器进行了研究。 1、什么是巴特沃斯滤波器? 巴特沃斯(Butterworth)滤波器是一种具有最大平坦幅度响应的低通滤波器,它在通信领域里已有广泛应用,在电...

    前面的几篇文章对一阶低通滤波器的原理及其数字化进行了探究。为了进一步探究滤波这条知识线路,今天对巴特沃斯滤波器滤波器进行了研究。

    1、什么是巴特沃斯滤波器?

    巴特沃斯(Butterworth)滤波器是一种具有最大平坦幅度响应的低通滤波器,它在通信领域里已有广泛应用,在电测中也具有广泛的用途,可以作检测信号的滤波器。文献[张殿龙 王福文.巴特沃斯低通滤波器在电动机测试中的应用[J]成功地将巴特沃斯低通滤波器应用于电动机测试中。 补充一下通带频率和阻带频率的概念,能够通过滤波器的频率信号范围构成通带(pass-bands),而被衰减的频率信号则不能在输出端输出,这些被衰减的频率范围构成了滤波器的阻带(stop-bands)。通带与阻带交界点的频率称为截止频率。理想的滤波器其频率响应于通带区没有插入损耗(insertion-loss),而于阻带则有无限大衰减以阻绝讯号通过。然而实际电路无法同时满足上述要求,故在设计电路时应选择适当滤波器种类以符合所需的规格。 

    2、巴特沃斯滤波器的特点

    (1)最大平坦性。幅频特性的前2n-1阶导数均为零,因此在截止频率前较为平坦,这个平坦也保证了信号的原始值,不会因为滤波被衰减。巴特沃斯低通滤波器的通频带最大扁平效应使通频带的增益得到扁平优化.

    (2)幅频特性是单调下降,相频特性也是单调下降。巴特沃斯低通滤波器是全极点滤波器,所有零点都在无穷远处;它的幅度随频率的增加而单调下降,且频率无穷大时它的幅度才衰减完

    (3)无论阶数n是什么数,都会通过[ω=ωb,|G(jω)|=1/槡2]点。而且n越大,其幅频响应就越逼近理想情况

     3、巴特沃斯滤波器的设计

    在了解基本概念后,如何设计巴特沃斯滤波器滤波器是最关键的。对于巴特沃斯滤波器而言,n 阶巴特沃斯低通滤波器的振幅和频率关系可用如下的公式表示:

    而巴特沃斯低通滤波器将其写为传递函数的形式,可以写为:

     如果根据需要的截止频率、滤波器的阶数计算出上式中的所有系数b,即可完成对巴特沃斯滤波器的设计。以前其实是需要很完整的推导和计算的,现在matlab的实时更新对于巴特沃斯滤波器的工具箱进行充盈,在此记录一些工具函数的用法。

    1、[N,wn]=buttord(wp,ws,rp,rs,'s')  buttord函数

    此函数的功能是根据数字滤波器的通带、阻带截止频率、通带衰减倍数、阻带衰减倍数来计算巴特沃斯数字滤波器的阶数N和3dB截止频率wn。

    其中,调用参数wp,ws分别为数字滤波器的通带、阻带截止频率,当ws≤wp时,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时w n 也是二元向量。rp,rs分别为通带最大衰减和组带最小衰减(dB)。

    2 [B,A]=butter(N,wn‘,ftype’butter 函数

    此函数的功能是根据滤波器阶数N和截止频率 wn计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量B、A。其中,调用参数N和wn分别为巴特沃斯数字滤波器的阶数和3 d B 截止频率,一般是可与buttord格式计算N和wn配合使用。系数B、A是按照z-1的升幂排列,ftype为滤波器的类型。N,wn为butter函数的调用参数。

    3 buttap 函数 [Z,P,K] = buttap(N)

    函数可设计出N阶巴特沃斯低通滤波器的零、极点。

    以一个例子来说说这个滤波器的设计过程,由于芯片计算能力有限,假如我们需要一个二阶的巴特沃斯滤波器,并且截止频率也设定为100rad/s。那么此时就可以直接用[B,A]=butter(N,wn‘,ftype’)函数,输入代码如下:

    N = 2;
    wc = 100;
    [B,A]= butter(N,wc,'s');  %代入N和wn设计低通巴特沃斯模拟滤波器
    x = B
    y = A
    grid;
    

     计算得出:

     因此,此时可以得到传递函数的表达式如下所示:

      4、巴特沃斯滤波器的性能测试

    这个滤波器的优点好多地方已经介绍出来了,但是实际效果如何还是看波形最直接了,由于上述设计的巴特沃斯滤波器的截止频率为 100rad/s ,因此设计输入为 幅值为100,频率为10rad/s初始正弦信号,叠加一个幅值为100,频率为100rad/s的正弦波。将叠加波分别通过截止频率为100rad/s的低通滤波器及巴特沃斯低通滤波器。其波形如下图所示,图中第一行波形为原始信号,第二行为一阶低通滤波器滤波后信号,第三行为二阶巴特沃斯低通滤波器后的信号,可以从仿真波形看到,巴特沃斯低通滤波器的性能要远优于一阶低通滤波器。

     接下来对两种低通滤波器的bode图进行分析,如下图所示,可以从图中看出两者的截止频率完全一致,但是在截止频率后的衰减巴特沃斯滤波器明显要比一阶低通滤波器更大,所以在稳态裕度允许的条件下,巴特沃斯滤波器性能更优。

    小结:

     1、巴特沃斯(Butterworth)滤波器是一种具有最大平坦幅度响应的低通滤波器,保证了信号的原始值,不会因为滤波被衰减。

    2、巴特沃斯滤波器的性能明显优于一阶低通滤波器。

    3、n越大,其幅频响应就越逼近理想情况。(这个还未做,有兴趣的同学可以在我的基础上往下深入探究一下)

    4、如果需要巴特沃斯滤波器模型的同学同志,可以在评论区留下你们的邮箱,我看到就会发过去。

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 本文件为基于LabVIEW的巴特沃斯滤波器设计,无错误,可直接运行。
  • 什么是巴特沃斯滤波器巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。这种滤波器最先由英国工程师斯替芬·巴特沃斯(StephenButterworth)在1930年发表在英国《无线电工程》...
    b69eadb485c319e50b358f6cb7e25f6d.png

    什么是巴特沃斯滤波器

    巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。这种滤波器最先由英国工程师斯替芬·巴特沃斯(StephenButterworth)在1930年发表在英国《无线电工程》期刊的一篇论文中提出的。巴特沃斯滤波器的振幅对角频率单调下降,并且也是唯一的无论阶数,振幅对角频率曲线都保持同样的形状的滤波器。巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。二阶巴特沃斯滤波器的衰减率为每倍频12分贝、三阶巴特沃斯滤波器的衰减率为每倍频18分贝、如此类推。

    巴特沃斯滤波器特性

    巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。

    一阶巴特沃斯滤波器的衰减率为每倍频6分贝,每十倍频20分贝。二阶巴特沃斯滤波器的衰减率为每倍频12分贝、三阶巴特沃斯滤波器的衰减率为每倍频18分贝、如此类推。巴特沃斯滤波器的振幅对角频。单调下降,并且也是唯一的无论阶数,振幅对角频率曲线都保持同样的形状的滤波器。只不过滤波器阶数越高,在阻频带振幅衰减速度越快。其他滤波器高阶的振幅对角频率图和低级数的振幅对角频率有不同的形状。

    de0b87c70232d6692e414aec0c7b8cf9.png

    巴特沃斯滤波器原理

    巴特沃斯型滤波器在现代设计方法设计的滤波器中,是最为有名的滤波器,由于它设计简单,性能方面又没有明显的缺点,又因它对构成滤波器的元件Q值较低,因而易于制作且达到设计性能,因而得到了广泛应用。其中,巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。

    滤波器的截止频率的变换是通过先求出待设计滤波器的截止频率与基准滤波器的截止频率的比值M,再用这个M去除滤波器中的所有元件值来实现的,其计算公式如下:M=待设计滤波器的截止频率/基准滤波器的截止频率。

    滤波器的特征阻抗的变换是通过先求出待设计滤波器的特征阻抗与基准滤波器的特征阻抗的比值K,再用这个K去乘基准滤波器中的所有电感元件值和用这个K去除基准滤波器中的所有电容元件值来实现的。

    巴特沃斯滤波器与其它滤波器比较

    下图是巴特沃斯滤波器(左上)和同阶第一类切比雪夫滤波器(右上)、第二类切比雪夫滤波器(左下)、椭圆函数滤波器(右下)的频率响应图。

    7c5968b44c18a7b3310a59bf72542349.png

    特沃斯滤波器优点

    巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。在振幅的对数对角频率的波得图上,从某一边界角频率开始,振幅随着角频率的增加而逐渐减少,趋向负无穷大。

    一阶巴特沃斯滤波器的衰减率为每倍频6分贝,每十倍频20分贝。二阶巴特沃斯滤波器的衰减率为每倍频12分贝,三阶巴特沃斯滤波器的衰减率为每倍频18分贝,如此类推。巴特沃斯滤波器的振幅对角频率单调下降,并且也是唯一的无论阶数、振幅对角频率曲线都保持同样的形状的滤波器。只不过滤波器阶数越高,在阻频带振幅衰减速度越快。其他滤波器高阶的振幅对角频率图和低级数的振幅对角频率有不同的形状。

    巴特沃斯滤波器是滤波器的一种设计分类,类同于切比雪夫滤波器,它有高通,低通,带通,高通,带阻等多种滤波器。它在通频带内外都有平稳的幅频特性,但有较长的过渡带,在过渡带上很容易造成失真,我在调用MATLAB里的巴特沃斯滤波器做仿真时,信号总会在第一个周期略微有些失真,但往后的幅频特性就非常的好。

    巴特沃斯滤波器主要参数介绍

    (1)[N,wc]=buttord(wp,ws,RP,As,’s’)

    该格式用于计算巴特沃斯模拟滤波器的阶数N和3db截止频率wc。Wp、ws和wc是实际模拟角频率(rads)。Rp和As为通带最大衰减和最小衰减。

    (2)[Z,P,k]=buttap(N)

    该格式用于计算N阶巴特沃斯归一化模拟低通原型滤波器系统函数的零、极点和增益因子,返回长度为N的列向量Z和P,分别给出N个零点和极点的位置,K表示滤波器增益。

    (3)Y=filter(b,a,x)

    式中b表示系统传递函数的分子多项式的系数矩阵;a表示系统传递函数的分母多项式的系数矩阵;x表示输入序列;filter表示输出序列。IIR函数实现的直接形式。

    (4)[b,a]=butter(N,wc,‘ftype’)

    计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。

    说明:调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值,一般是调用buttord格式(1)计算N和wc。系数b、a是按照z-1的升幂排列。

    (5)[B,A]=butter(N,Ωc,‘ftype’,‘s’)

    计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量。

    说明:调用参数N和Ωc分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角频率),可调用buttord(2)格式计算N和Ωc。系数B、A按s的正降幂排列。

    tfype为滤波器的类型:

    ◇ftype=high时,高通;Ωc只有1个值。

    ◇ftype=stop时,带阻;Ωc=[Ωcl,Ωcu],分别为带阻滤波器的通带3dB下截止频率和上截止频率。

    ◇ftype缺省时:若Ωc只有1个值,则默认为低通;若Ωc有2个值,则默认为带通;其通带频率区间Ωcl《Ω《Ωcu。

    (6)[H,w]=freqz(b,a,N)

    b和a分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H则包含了离散系统频响在0~pi范围内N个频率等分点的值(其中N为正整数),w则包含了范围内N个频率等分点。调用默认的N时,其值是512。可以先调用freqz()函数计算系统的频率响应,然后利用abs()和angle()函数及plot()函数,绘制出系统的频响曲线。

    (7)lp2lp函数

    [bt,at]=lp2lp(b,a,w0)

    该函数用于实现由低通模拟原型滤波器至低通滤波器的频率变换,可以用传递函数和状态空间进行转换,但无论哪种形式,其输入必须是模拟滤波器原型。

    (8)[bz,az]=impinvar(b,a,fs)

    把具有[b,a]模拟滤波器传递函数模型转换为采样频率为fs的数字滤波器的传递函数模型[bz,az],如果在函数中没有确定频率fs时,函数默认为1Hz.

    低通巴特沃斯数字滤波器的实例

    一、Matlab计算滤波器系数

    Matlab计算巴特沃斯低通滤波器系数过程如下:

    ①根据给定的通带截止频率、通带截止增益、阻带截止频率、阻带截止增益,利用buttord函数计算巴特沃斯滤波器所需的最小阶数和截止频率。(由于要求中已给出截止频率,故这步省去)

    (图是网上扒拉的,指标与本设计不符)

    ②根据上述计算得到的阶数,利用buttap函数计算出巴特沃斯滤波器原型。

    ③利用lp2lp函数,将原型滤波器转换成目标截止频率的滤波器。

    ④利用脉冲响应不变法(impinvar函数)或是双线性变换法(bilinear函数)将模拟滤波器转换为数字滤波器。数字滤波器形式为z域有理函数,分子分母系数即为滤波器系数。

    我这里选用的是脉冲响应不变法,因为计算得到的滤波器比较简单,运算速度比较快。

    (从左到右:滤波器原型、模拟滤波器、数字滤波器)

    设计过程matlab源码如下:

    Fs=15;%采样频率

    Nn=12800;

    N=2;%阶数

    Wc=1*2*pi;%截止频率

    [z,p,k]=buttap(N);%计算巴特沃斯滤波器原型

    [Bap,Aap]=zp2tf(z,p,k);%转换成多项式模式

    [b,a]=lp2lp(Bap,Aap,Wc);%根据截止频率计算模拟巴特沃斯滤波器系数

    [bz,az]=impinvar(b,a,Fs);%用脉冲响应不变法离散化

    figure(1)

    [H,W]=freqz(bz,az,Nn,Fs);%绘制频率特性曲线

    subplot(2,1,1)

    plot(W,20*log10(abs(H)));

    gridon;

    subplot(2,1,2)

    plot(W,180/pi*unwrap(angle(H)));

    gridon;

    二、Matlab计算验证

    先在Matlab中验证滤波函数。先编写带噪声的输入函数,然后经过滤波器函数后,观察滤波效果。其中滤波器函数写法为:

    Filter函数为Matlab自带函数,其算法为:

    其中,a即为z域传递函数的分母系数,b为分子系数。例如本应用中:

    则算法为az(1)*y(k)=bz(1)*x(k)+bz(2)*x(k-1)–az(2)*y(k-1)–az(3)*y(k-2)

    Matlab中得到的结果如下(信号频率0.1Hz,噪声频率6Hz):

    三、C语言函数编写与验证

    将上述算法翻译成C语言,写入单片机中。利用信号源输出各种波形,单片机AD采样进去之后,对采样点进行滤波处理,将原始数据和滤波后的数据发送到上位机进行绘图,得到图像对比如下:

    C函数源码如下:

    constfloatbz[2]={0,0.128580115806658};//分子

    constfloataz[3]={1,-1.42252474659021,0.553007125840971};//分母

    floatData_Output[DATA_LENTH];//输出数据

    float*but_filter(unsignedintlen,float*x)//len为输入数据数组长度,x为输入数据数组指针

    {

    unsignedinTI=2;

    staTIcfloaTInit[2]={0,0};//初值,一开始设为0

    if(len《2)//如果长度小于2,直接返回

    returnData_Output;

    Data_Output[0]=init[0];//赋初值

    Data_Output[1]=init[1];

    for(i=2;i《len;i++)

    {

    Data_Output[i]=bz[0]*x[i]+bz[1]*x[i-1]-az[1]*Data_Output[i-1]-az[2]*Data_Output[i-2];

    /*算法为a1*y(k)=b1*x(k)+b2*x(k-1)-a(2)*y(k-1)-a(3)*y(k-2)*/

    /*由于a1=1,故不做除法*/

    }

    init[0]=Data_Output[len-2];//考虑到会被连续调用,此次的终值作为下次的初值

    init[1]=Data_Output[len-1];

    returnData_Output;

    }

    展开全文
  • 巴特沃斯低通滤波器课程设计目的学会运用MATLAB实现低通滤波器设计并进行结果显示。双线性变换实现巴特沃斯低通滤波器的技术指标:采样频率10Hz。通带截止频率fp=0.2*pi Hz。阻带截止频率fs=0.3*pi Hz。4.通带衰减...

    巴特沃斯低通滤波器

    课程设计目的

    学会运用MATLAB实现低通滤波器的设计并进行结果显示。

    双线性变换实现巴特沃斯低通滤波器的技术指标:

    采样频率10Hz。

    通带截止频率fp=0.2*pi Hz。

    阻带截止频率fs=0.3*pi Hz。

    4.通带衰减小于1dB,阻带衰减大于20dB

    低通滤波器概念

    低通滤波器是指车载功放中能够让低频信号通过而不让中、高频信号通过的电路,其作用是滤去音频信号中的中音和高音成分,增强低音成分以驱动扬声器的低音单元。由于车载功放大部分都是全频段功放,通常采用AB类放大设计,功率损耗比较大,所以滤除低频段的信号,只推动中高频扬声器是节省功率、保证音质的最佳选择。此外高通滤波器常常和低通滤波器成对出现,不论哪一种,都是为了把一定的声音频率送到应该去的单元。

    对于不同滤波器而言,每个频率的信号的减弱程度不同。当使用在音频应用时,它有时被称为高频剪切滤波器, 或高音消除滤波器。

    低通滤波器概念有许多不同的形式,其中包括电子线路(如音频设备中使用的hiss 滤波器、平滑数据的数字算法、音障(acoustic barriers)、图像模糊处理等等,这两个工具都通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。

    低通滤波器在信号处理中的作用等同于其它领域如金融领域中移动平均数(moving average)所起的作用;

    低通滤波器有很多种,其中,最通用的就是巴特沃斯滤波器和切比雪夫滤波器。

    巴特沃斯滤波器原理

    巴特沃斯滤波器通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零等特点。 在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。它的特性如下: 一阶巴特沃斯滤波器的衰减率为每倍频6分贝,每十倍频20分贝。 二阶巴特沃斯滤波器的衰减率为每倍频12分贝。 三阶巴特沃斯滤波器的衰减率为每倍频18分贝。 如此类推。巴特沃斯滤波器的振幅对角频率单调下降,并且也是唯一的无论阶数,振幅对角频率曲线都保持同样的形状的滤波器。只不过滤波器阶数越高,在阻频带振幅衰减速度越快。其他滤波器高阶的振幅对角频率图和低级数的振幅对角频率有不同的形状。

    巴特沃斯滤波器是滤波器的一种设计分类,其采用的是巴特沃斯传递函数,有高通、低通、带通、带阻等多种滤波器类型。巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。巴特沃斯滤波器在通频带内外都有平稳的幅频特性,但有较长的过渡带,在过渡带上很容易造成失真。

    参数

    1. buttord

    (1)[N,wc]=buttord(wp,ws,αp,αs)

    用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。

    调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0≤wp≤1,0≤ws≤1。1表示数字频率pi。

    αp,αs分别为通带最大衰减和组带最小衰减(dB)。

    当ws≤wp时,为高通滤波器;

    当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。

    N,wc作为butter函数的调用参数。

    (2)[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’)

    用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。

    Ωp,Ωs,Ωc均为实际模拟角频率。

    说明:buttord函数使用阻带指标计算3dB截止频率,这样阻带会刚好满足要求,而通带会有富余。

    2.buttap(N)

    [z0,p0,k0]=buttap(N)

    用于计算N阶巴特沃斯归一化(3dB截止频率Ωc=1)模拟低通原型滤波器系统函数的零、极点和增益因子。

    说明:如果要从零、极点模型得到系统函数的分子、分母多项式系数向量ba、aa,可调用

    [B,A]=zp2tf(z0,p0,k0)

    3.butter

    (1)[b,a]=butter(N,wc,‘ftype’)

    计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。

    调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于pi归一化),一般是调用buttord(1)格式计算N和wc。

    系数b、a是按照z-1的升幂排列。

    (2)[B,A]=butter(N,Ωc,‘ftype’,‘s’)

    计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量ba、aa。

    调用参数N和Ωc分别为巴特

    展开全文
  • 本篇论文叙述了数字滤波器的基本原理、IIR数字滤波器的设计方法和IIR数字高通滤波器设计在MATLAB上的实现与IIR数字滤波器在实际中的应用
  • 对信号进行去渲染、水平倾斜校正和低通滤波(巴特沃斯滤波器,4阶;截止频率10Hz) Butterworth filter 定义:巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。这种滤波器...

    对信号进行去渲染、水平倾斜校正和低通滤波(巴特沃斯滤波器,4阶;截止频率10Hz)

    Butterworth filter

    定义:巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。这种滤波器最先由英国工程师斯替芬·巴特沃斯(StephenButterworth)在1930年发表在英国《无线电工程》期刊的一篇论文中提出的。巴特沃斯滤波器的振幅对角频率单调下降,并且也是唯一的无论阶数,振幅对角频率曲线都保持同样的形状的滤波器。巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。二阶巴特沃斯滤波器的衰减率为每倍频12分贝、三阶巴特沃斯滤波器的衰减率为每倍频18分贝、如此类推。

    巴特沃斯滤波器特性

    巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。

    一阶巴特沃斯滤波器的衰减率为每倍频6分贝,每十倍频20分贝。二阶巴特沃斯滤波器的衰减率为每倍频12分贝、三阶巴特沃斯滤波器的衰减率为每倍频18分贝、如此类推。巴特沃斯滤波器的振幅对角频。单调下降,并且也是唯一的无论阶数,振幅对角频率曲线都保持同样的形状的滤波器。只不过滤波器阶数越高,在阻频带振幅衰减速度越快。其他滤波器高阶的振幅对角频率图和低级数的振幅对角频率有不同的形状。

    巴特沃斯滤波器原理

    巴特沃斯型滤波器在现代设计方法设计的滤波器中,是最为有名的滤波器,由于它设计简单,性能方面又没有明显的缺点,又因它对构成滤波器的元件Q值较低,因而易于制作且达到设计性能,因而得到了广泛应用。其中,巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。

    滤波器的截止频率的变换是通过先求出待设计滤波器的截止频率与基准滤波器的截止频率的比值M,再用这个M去除滤波器中的所有元件值来实现的,其计算公式如下:M=待设计滤波器的截止频率/基准滤波器的截止频率。

    滤波器的特征阻抗的变换是通过先求出待设计滤波器的特征阻抗与基准滤波器的特征阻抗的比值K,再用这个K去乘基准滤波器中的所有电感元件值和用这个K去除基准滤波器中的所有电容元件值来实现的。

    巴特沃斯滤波器与其它滤波器比较

    下图是巴特沃斯滤波器(左上)和同阶第一类切比雪夫滤波器(右上)、第二类切比雪夫滤波器(左下)、椭圆函数滤波器(右下)的频率响应图。

    巴特沃斯滤波器优点

    巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。在振幅的对数对角频率的波得图上,从某一边界角频率开始,振幅随着角频率的增加而逐渐减少,趋向负无穷大。

    一阶巴特沃斯滤波器的衰减率为每倍频6分贝,每十倍频20分贝。二阶巴特沃斯滤波器的衰减率为每倍频12分贝,三阶巴特沃斯滤波器的衰减率为每倍频18分贝,如此类推。巴特沃斯滤波器的振幅对角频率单调下降,并且也是唯一的无论阶数、振幅对角频率曲线都保持同样的形状的滤波器。只不过滤波器阶数越高,在阻频带振幅衰减速度越快。其他滤波器高阶的振幅对角频率图和低级数的振幅对角频率有不同的形状。

    巴特沃斯滤波器是滤波器的一种设计分类,类同于切比雪夫滤波器,它有高通,低通,带通,高通,带阻等多种滤波器。它在通频带内外都有平稳的幅频特性,但有较长的过渡带,在过渡带上很容易造成失真,我在调用MATLAB里的巴特沃斯滤波器做仿真时,信号总会在第一个周期略微有些失真,但往后的幅频特性就非常的好。

    巴特沃斯滤波器主要参数介绍

    (1)[N,wc]=buttord(wp,ws,RP,As,’s’)

      该格式用于计算巴特沃斯模拟滤波器的阶数N和3db截止频率wc。Wp、ws和wc是实际模拟角频率(rad\s)。Rp和As为通带最大衰减和最小衰减。

    (2)[Z,P,k]=buttap(N)

      该格式用于计算N阶巴特沃斯归一化模拟低通原型滤波器系统函数的零、极点和增益因子,返回长度为N的列向量Z和P,分别给出N个零点和极点的位置,K表示滤波器增益。

      (3)Y=filter(b,a,x)

      式中b表示系统传递函数的分子多项式的系数矩阵;a表示系统传递函数的分母多项式的系数矩阵;x表示输入序列;filter表示输出序列。IIR函数实现的直接形式。

    (4)[b,a]=butter(N,wc,‘ftype’)

      计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。

      说明:调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值,一般是调用buttord格式(1)计算N和wc。系数b、a是按照z-1的升幂排列。

      (5)[B,A]=butter(N,Ωc,‘ftype’,‘s’)

      计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量。

      说明:调用参数N和Ωc分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角频率),可调用buttord(2)格式计算N和Ωc。系数B、A按s的正降幂排列。

      tfype为滤波器的类型:

      ◇ftype=high时,高通;Ωc只有1个值。

      ◇ftype=stop时,带阻;Ωc=[Ωcl,Ωcu],分别为带阻滤波器的通带3dB下截止频率和上截止频率。

      ◇ftype缺省时:若Ωc只有1个值,则默认为低通;若Ωc有2个值,则默认为带通;其通带频率区间Ωcl《Ω《Ωcu。

      (6)[H,w]=freqz(b,a,N)

      b和a分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H则包含了离散系统频响在0~pi范围内N个频率等分点的值(其中N为正整数),w则包含了范围内N个频率等分点。调用默认的N时,其值是512。可以先调用freqz()函数计算系统的频率响应,然后利用abs()和angle()函数及plot()函数,绘制出系统的频响曲线。

      (7)lp2lp函数

      [bt,at]=lp2lp(b,a,w0)

      该函数用于实现由低通模拟原型滤波器至低通滤波器的频率变换,可以用传递函数和状态空间进行转换,但无论哪种形式,其输入必须是模拟滤波器原型。

      (8)[bz,az]=impinvar(b,a,fs)

      把具有[b,a]模拟滤波器传递函数模型转换为采样频率为fs的数字滤波器的传递函数模型[bz,az],如果在函数中没有确定频率fs时,函数默认为1Hz.

      低通巴特沃斯数字滤波器的实例

      一、Matlab计算滤波器系数

      Matlab计算巴特沃斯低通滤波器系数过程如下:

      ①根据给定的通带截止频率、通带截止增益、阻带截止频率、阻带截止增益,利用buttord函数计算巴特沃斯滤波器所需的最小阶数和截止频率。(由于要求中已给出截止频率,故这步省去)

      (图是网上扒拉的,指标与本设计不符)

      ②根据上述计算得到的阶数,利用buttap函数计算出巴特沃斯滤波器原型。

      ③利用lp2lp函数,将原型滤波器转换成目标截止频率的滤波器。

      ④利用脉冲响应不变法(impinvar函数)或是双线性变换法(bilinear函数)将模拟滤波器转换为数字滤波器。数字滤波器形式为z域有理函数,分子分母系数即为滤波器系数。

      我这里选用的是脉冲响应不变法,因为计算得到的滤波器比较简单,运算速度比较快。

      (从左到右:滤波器原型、模拟滤波器、数字滤波器)

      设计过程matlab源码如下:

      Fs=15;%采样频率

      Nn=12800;

      N=2;%阶数

      Wc=1*2*pi;%截止频率

      [z,p,k]=buttap(N);%计算巴特沃斯滤波器原型

      [Bap,Aap]=zp2tf(z,p,k);%转换成多项式模式

      [b,a]=lp2lp(Bap,Aap,Wc);%根据截止频率计算模拟巴特沃斯滤波器系数

      [bz,az]=impinvar(b,a,Fs);%用脉冲响应不变法离散化

      figure(1)

      [H,W]=freqz(bz,az,Nn,Fs);%绘制频率特性曲线

      subplot(2,1,1)

      plot(W,20*log10(abs(H)));

      gridon;

      subplot(2,1,2)

      plot(W,180/pi*unwrap(angle(H)));

      gridon;

      二、Matlab计算验证

      先在Matlab中验证滤波函数。先编写带噪声的输入函数,然后经过滤波器函数后,观察滤波效果。其中滤波器函数写法为:

      Filter函数为Matlab自带函数,其算法为:

      其中,a即为z域传递函数的分母系数,b为分子系数。例如本应用中:

      则算法为az(1)*y(k)=bz(1)*x(k)+bz(2)*x(k-1)–az(2)*y(k-1)–az(3)*y(k-2)

      Matlab中得到的结果如下(信号频率0.1Hz,噪声频率6Hz):

      三、C语言函数编写与验证

      将上述算法翻译成C语言,写入单片机中。利用信号源输出各种波形,单片机AD采样进去之后,对采样点进行滤波处理,将原始数据和滤波后的数据发送到上位机进行绘图,得到图像对比如下:

      C函数源码如下:

      constfloatbz[2]={0,0.128580115806658};//分子

      constfloataz[3]={1,-1.42252474659021,0.553007125840971};//分母

      floatData_Output[DATA_LENTH];//输出数据

      float*but_filter(unsignedintlen,float*x)//len为输入数据数组长度,x为输入数据数组指针

      {

      unsignedinti=2;

      staticfloatinit[2]={0,0};//初值,一开始设为0

      if(len《2)//如果长度小于2,直接返回

      returnData_Output;

      Data_Output[0]=init[0];//赋初值

      Data_Output[1]=init[1];

      for(i=2;i《len;i++)

      {

      Data_Output[i]=bz[0]*x[i]+bz[1]*x[i-1]-az[1]*Data_Output[i-1]-az[2]*Data_Output[i-2];

      /*算法为a1*y(k)=b1*x(k)+b2*x(k-1)-a(2)*y(k-1)-a(3)*y(k-2)*/

      /*由于a1=1,故不做除法*/

      }

      init[0]=Data_Output[len-2];//考虑到会被连续调用,此次的终值作为下次的初值

      init[1]=Data_Output[len-1];

      returnData_Output;

      }

    展开全文
  • 用MATLAB编程产生原始信号,设计(分步设计与直接设计巴特沃斯滤波器(包括IIR低通高通、FIR低通高通)并进行滤波。绘制图形观察。原理叙述清晰,注释明了,便于依据实际需要进行修改。
  • ButterWorthFIlter(巴特沃斯滤波器)

    万次阅读 多人点赞 2019-11-10 23:32:39
    ButterWorthFIlter(巴特沃斯滤波器) 一、背景 这种滤波器最先由英国工程师斯蒂芬·巴特沃斯(Stephen Butterworth)在1930年发表在英国《无线电工程》期刊的一篇论文中提出的。 二、特点 巴特沃斯滤波器的特点是...
  • 最近有个光纤振动监测的软件,需要用到巴特沃斯滤波器,奈何水平有限,一时没有明白原理及实现思路。正好有个labview的项目有用到巴特沃斯滤波器,labview本身包含滤波器的相关实现,使用非常简单,如果c#能直接调用...
  • 2015 年 6 月 25 日 1 目 录 一设计目的 3 二设计要求 3 三设计内容 4 3.1 选择巴特涡斯低通数据滤波器及双线性变换法的原因 4 3.2 巴特沃思低通滤波器的基本原理 4 3.3 双线性变换法原理 5 3.4 数字滤波器设计流程...
  • 之前搞了一些数字信号处理算法编程(OC),一直没来得及整理,现在整理一下,包括FFT、巴特沃斯滤波器(高通、低通、带通、带阻)、数据差值(线性、sinc、三次样条*)、数据压缩(等距、平均、峰值检测)和模仿...
  • 数字信号处理课程设计 日25 年 6 月2015 1 目 录 一设计目的 .3 二设计要求 .3 三设计内容 .4 3.1选择巴特涡斯低通数据滤波器及双线性变换法的原因 .4 3.2巴特沃思低通滤波器的基本原理 .4 3.3双线性变换法原理 .
  • Butterworth (巴特沃斯滤波器设计参考,适合研究滤波器的硬件工程师参考使用
  • 基于Matlab巴特沃斯低通滤波器的设计谢继杨(成都理工大学工程技术学院,四川乐山,614000)摘要:现如今已经有相当成熟的技术去模拟滤波器,人们为了更加深入的理解巴特沃斯滤波器,于是巴特沃斯模拟滤波器便基于...
  • 按照最佳逼近特性或者滤波通带特性分类,主要为巴特沃斯滤波器(Butterworth)、切比雪夫滤波器(Chebyshev)、贝塞尔滤波器(Bessel)和椭圆滤波器(Elliptic)四种。每种MATLAB都有相应的函数,用起来也比较方便,...
  • C语言实现巴特沃斯IIR滤波器

    千次阅读 2014-06-09 15:00:55
     1.1巴特沃斯滤波器的次数  根据给定的参数设计模拟滤波器,然后进行变数变换,求取数字滤波器的方法,称为滤波器的间接设计。做为数字滤波器的设计基础的模拟滤波器,称之为原型滤波器。这里,我们首先介绍的是...
  • 本次设计围绕四阶巴特沃斯低通滤波器,从电路设计,时域分析,频率分析,S域分析几个方面着手,通过理论分析、仿真实验、真实测量来研究和验证整个系统的性质。在时域上验证系统的冲激响应和阶跃响应以及零输入响应...
  • 在Matlab里设计了一种巴特沃斯带通滤波器,适合初学者使用
  • [DSP] Butterworth (巴特沃斯)数字滤波器设计参考

    万次阅读 多人点赞 2015-01-25 12:50:34
    Butterworth (巴特沃斯滤波器设计参考 在嵌入式音频产品开发过程中经常会到LPF(Low Pass Filter 低通滤波器)和HPF(High Pass Filter 高通滤波器),一般情况下都是离线用工具(如: Matlab)设计好滤波器的参数...
  • 1、背景对于微弱的信号的处理方式一般是:放大和滤波,这个过程中就涉及到放大电路的选取、滤波器的选择以及偏置电路的设计。本例以实例的方式讲解并附带参数计算、仿真、实物测试三个环节。假设需要处理一个20mV的...
  • 巴特沃斯低通滤波器

    万次阅读 2019-03-24 10:00:46
    搞四旋翼的时候,算法里遇到巴特沃斯低通滤波器,作为一个机械的本科生,很多原理都不懂。 因此,我在这里,对于巴特沃斯,只想做到“能够清楚地知道修改什么来得到什么结果” 阶数越高,阻带衰减越快,系统相延越...
  • 1、背景对于微弱的信号的处理方式一般是:放大和滤波,这个过程中就涉及到放大电路的选取、滤波器的选择以及偏置电路的设计。本例以实例的方式讲解并附带参数计算、仿真、实物测试三个环节。假设需要处理一个20mV的...
  • @[TOC] 关于本文滤波器具体原理可参考课程设计:...# 实例1 数字高通巴特沃斯滤波器设计 注:如果freqz_m函数报错,是由于您的Matlab版本过高,可将文章附录freqz_m.m文件复制到运行目录即可 要求:抽样.
  • 传统的带通滤波器设计方法中涉及了很多复杂的理论分析和计算。针对上述缺点,介绍一种使用EDA软件进行带通滤波器的设计方案,详细阐述了使用FilterPro软件进行有源带通滤波器电路的设计步骤,然后给出了在Proteus中...
  • IIR滤波器设计.docx

    2020-03-24 11:00:22
    实验目的:(1)熟悉巴特沃斯滤波器的频率特性; (2)掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的具体设计方法及其原理; (3)熟练使用MATLAB进行滤波器仿真设计及幅频特性和相频特性分析;
  • 用双线性变换法设计一个巴特沃斯低通IIR数字滤波器设计指标参数为:在通带内频率低于0.2π时,最大衰减问题补充:用matlab程序写,谢谢大家●fp=100HZ,fs=300HZ,αp=3dB,αs=20dB,抽样频率为Fs=1000HZfp=100;fs=...
  • 二阶有源带通滤波器滤波原理

    万次阅读 多人点赞 2017-01-18 17:20:35
    请注意有源滤波器因为运放的有效识别电压和响应频率的影响,适用于低频信号的滤波,对于高频信号最好使用无缘滤波。 名词解释 一阶低通滤波器,包含一组RC构成的滤波器,将谐波过滤一次;两阶低通滤波器,包含两组...
  • 产生信道高斯白噪声,设计信道带通滤波器对高斯白噪声进行滤波,得到窄带高斯噪声。对信道带通滤波器的输入输出的噪声的时域、频域特性进行统计和分析,画出其时域和频域的图形。 高斯白噪声产生 首先确定采样频率和...
  • 2.2.1 巴特沃斯滤波器及最小阶数的选择 14 2.2.2低通原型滤波器的系统函数 20 2.2.3 椭圆滤波器及最小阶数的选择 21 2.2.4贝塞尔滤波器 22 第3章 IIR数字滤波器的设计 23 3.1 IIR数字滤波器的设计方法 23 3.2 IIR...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 462
精华内容 184
关键字:

巴特沃斯滤波器设计原理