巴特沃兹滤波器

巴特沃兹滤波器 (Butterworth)

特点:具有通带内最大平坦的振幅特性,且随f单调

其幅度平方函数具有如下形式:

式中,N为整数,称为滤波器的阶数,N越大,通带和阻带的近似性越好,过渡带也越陡。如下图所示:

图 巴特沃兹filter 振幅平方函数

过渡带:通带→阻带间过渡的频率范围,

Ωc:截止频率。

理想滤波器的过渡带为O,阻带|H(jΩ)|=0,通带内幅度|H(jΩ)|=常数,H(jΩ)线性相 位。通带内,分母Ω/Ωc

A(Ω)→1,在过渡带

和阻带,Ω/Ωc>1,随N的增加,Ωe/Ωc>>1,所以A(Ω2)快速下降。 2

Ω=Ωc

时,

,幅

,相

可分解为2N个一次因式令分母为零,→

图 三阶A(-s2)的极点分布

考虑到系统的稳定性, Butterworth 滤波器的系统函数是由s平面左半部分的极点(SP3,SP4,SP5

)组成的,它们分别为:

式中

是为

关于数字滤波器

滤波器有很多种,讨论下对信号频率具有选择性的滤波器。这又分为模拟滤波器和数字滤波器。模拟滤波器是在传统模拟电路中发展起来的,其实就是RC电路网络。随着数字技术的发展,数字滤波器则越来越受到青睐。

数字滤波器分为递归型和非递归型,所谓递归即滤波器内部存在反馈回路,这种滤波器对单位冲击响应可以延续到无限长的时间,所以也叫 IIR (infinite impulse response filter) ;相应的,非递归型即内部不存在反馈,也叫 FIR(finite impulse response filter),其传递函数不存在除零点意外的极点。数字滤波器的一般形式为:

a(0)*y(n) = b(0)*x(n) + b(1)*x(n-1) + ... + b(nb)*x(n-nb)

- a(1)*y(n-1) - ... - a(na)*y(n-na)

相应于上面的讨论,则a都为零则为IIR,a 有非零的则为FIR。显然,a(0)=1 方便讨论和设计滤波器,所以在matlab中滤波器设计都是 a(0)=1。容易看出,无内部反馈的FIR总是稳定的,具有IIR所没有的特点,但也可以证实,客观模拟电路中,FIR是无法实现的,只有通过数字处理技术设计,而且,要获得性能符合要求的FIR,滤波器的阶数必须设计得非常高,比如,一个常用的矩形窗,一般性能下就要求有100阶左右来拟合,计算代价太大。一般情况下,n阶IIR与2n阶FIR性能相同。实际情况下,20阶的Butterworth IIR 滤波器可以实现近似理想相位线性。

频率滤波器大概分为带通、带阻、高通、低通。特性不同的模拟滤波器中经典滤波器有Butterworth 和 Chebyshev 。其中,Butterworth 滤波器特点是通带处幅值特性平坦,而 Chebyshev 滤波器则比前者的截至特性要好,但通带处的幅值有振荡。前面提到,对于数字滤波器而言,可以采用不同阶数逼近相应滤波器,滤波器性能还与滤波器的阶数有关,一般而言,阶数越高,则逼近越精确,但计算代价也随之上升,所以性能与代价总需要寻求一个平衡点。对性能要求一定的情况下,如果对频率截至特性没有特殊要求,考虑采用Butterworth IIR滤波器。因为 Chebeshev 滤波器的波纹可能大多数情况下不能忍受。

接着我们看看怎么借助 Matlab 设计符合我们需求的Butterworth 数字滤波器。当然,我们尽可能了解 Butterworth Filter 的原理以及可能的话,再了解数字滤波器设计的方法理论,但是,我们不必自己动脑筋根据需求去设计每个系数,Matlab 内建有设计Filter 的函数。这里仅仅讨论 Butter,其语法格式为:

[B,A] = butter(N,Wn,S)

其中,N 为要求设计的滤波器阶数,该参数的设定参照前面的讨论,如果没有实时性要求的话,可以定为 20 ,实话,慢~相当的慢~;

S 为字符串,表明设计的滤波器类型,low低通/high高通/stop带阻

Wn 为要求的标准化截至频率,单位为rad/sample,如果是带阻滤波器,则Wn为长度为2的向量[w1 w2]。关于标准化的频率计算为:设要求的频率为f(Hz),采样率为Fs(Hz),则Wn = (2*pi*f/Fs)/pi = 2*f/Fs,所以,标准化截至频率在区间[0,1]内。

滤波器设计出来了啦,其实就是两组系数b(i)、a(j),其中,i、j为从0到N的自然数(各位不要挑剔,我印象中新的教材里已经把0归到自然数里了)。对应上面滤波器一般形式里的参数,前面已经提到,一般a(0)=1。

滤波器既然设计出来了,理应对其性能进行分析,以检验其是否能达到预期的效果。可以使用Matlab 提供的内建函数freqz,可以求得滤波器系统的频率

相应特性。其使用语法格式为:

[H,F] = freqz(B,A,N,Fs)

其中

B/A 提供滤波器系数

N 表示选取单位圆的上半圆等间距的N个点作为频响输出;

Fs 为采样频率,该参数可以省略

H 为N个点处的频率响应复值输出向量,其模即为频响幅值曲线幅值20log10(abs(H))DB,其幅角angle(H)即为频响相位曲线相位值。

F 为与第N点处对应的频率值f(Hz),如果Fs 参数省略时,则频率值w为rad/sample,w = 2*pi*f/Fs

有了这组系数,就可以按照前面的滤波器一般形式的表达式对数据进行依次求值了,也就是滤波计算了。不过,别忙,其实Matlab里已经内建了滤波器函数filter,其语法格式为: Y = filter(B,A,X)

其中

B/A 提供滤波器系数,X为滤波前序列,Y为滤波结果序列。 设计合适的滤波器对待分析处理的信号进行滤波预处理,可以有效的去除信号中的噪音以及非目标频段信号,从而使得信号背景干净,突出信号本身,提高目标处理的算法有效性,降低算法难度。例如,对语音信号,可以去除大多数的辅音以及高频共振峰。

[B,A] = butter(N,Wn,S)

其中,N 为要求设计的滤波器阶数,该参数的设定参照前面的讨论,如果没有实时性要求的话,可以定为 20 ,实话,慢~相当的慢~;

S 为字符串,表明设计的滤波器类型,low低通/high高通/stop带阻

Wn 为要求的标准化截至频率,单位为rad/sample,如果是带阻滤波器,则Wn为长度为2的向量[w1 w2]。关于标准化的频率计算为:设要求的频率为f(Hz),采样率为Fs(Hz),则Wn = (2*pi*f/Fs)/pi = 2*f/Fs,所以,标准化截至频率在区间[0,1]内。

滤波器设计出来了啦,其实就是两组系数b(i)、a(j),其中,i、j为从0到N的自然数(各位不要挑剔,我印象中新的教材里已经把0归到自然数里了)。对应上面滤波器一般形式里的参数,前面已经提到,一般a(0)=1。

滤波器既然设计出来了,理应对其性能进行分析,以检验其是否能达到预期的效果。可以使用Matlab 提供的内建函数freqz,可以求得滤波器系统的频率

相应特性。其使用语法格式为:

[H,F] = freqz(B,A,N,Fs)

其中

B/A 提供滤波器系数

N 表示选取单位圆的上半圆等间距的N个点作为频响输出;

Fs 为采样频率,该参数可以省略

H 为N个点处的频率响应复值输出向量,其模即为频响幅值曲线幅值20log10(abs(H))DB,其幅角angle(H)即为频响相位曲线相位值。

F 为与第N点处对应的频率值f(Hz),如果Fs 参数省略时,则频率值w为rad/sample,w = 2*pi*f/Fs

有了这组系数,就可以按照前面的滤波器一般形式的表达式对数据进行依次求值了,也就是滤波计算了。不过,别忙,其实Matlab里已经内建了滤波器函数filter,其语法格式为: Y = filter(B,A,X)

其中

B/A 提供滤波器系数,X为滤波前序列,Y为滤波结果序列。 设计合适的滤波器对待分析处理的信号进行滤波预处理,可以有效的去除信号中的噪音以及非目标频段信号,从而使得信号背景干净,突出信号本身,提高目标处理的算法有效性,降低算法难度。例如,对语音信号,可以去除大多数的辅音以及高频共振峰。

dBm, dBi, dBd, dB, dBc都是什么意思,区别是什么 很多专业书籍的范例中都会出现计算,而往往很多计算结果的意义让我们困惑

我就遇到过这种问题,不知道家是否被dBm, dBi, dBd, dB, dBc这些术语的意义所困惑 今天在这想简单的就我自己的理解介绍一下

1、dBm

dBm是一个表征功率绝对值的量,计算公式为:10lgP(功率值/1mw)。

[例1] 如果发射功率P为1mw,折算为dBm后为0dBm。

[例2] 对于40W的功率,按dBm单位进行折算后的值应为:10lg(40W/1mw)=10lg(40000)=10lg4+10lg10+10lg1 000=46dBm。

2、dBi 和dBd

dBi和dBd是表征增益的量(功率增益),两者都是一个相对值, 但参考基准不一样。 dBi的参考基准为全方向性天线,dBd的参考基准为偶极子,所以两者略有不同。 一般认为,表示同一个增益,用dBi表示出来比用dBd表示出来要大2. 15。

[例3] 对于一面增益为16dBd的天线,其增益折算成单位为dBi时,则为18.15dBi(一般忽略小数位,为18dBi)。

[例4] 0dBd=2.15dBi。

[例5] GSM900天线增益可以为13dBd(15dBi),GSM1800天线增益可以为15dBd(17dBi)。

3、dB

dB是一个表征相对值的量,当考虑甲的功率相比于乙功率大或小多少个dB时,按下面计算公式:10lg(甲功率/乙功率)

[例6] 甲功率比乙功率大一倍,那么10lg(甲功率/乙功率)=10lg2=3dB。也就是说,甲的功率比乙的功率大3 dB,则功率大一倍。

[例7] 7/8 英寸GSM900馈线的100米传输损耗约为3.9dB。

[例8] 如果甲的功率为46dBm,乙的功率为40dBm,则可以说,甲比乙大6 dB。

[例9] 如果甲天线为12dBd,乙天线为14dBd,可以说甲比乙小2 dB。

4、dBc

有时也会看到dBc,它也是一个表示功率相对值的单位,与dB的计算方法完全一样。 一般来说,dBc 是相对于载波(Carrier)功率而言,在许多情况下,用来度量与载波功率的相对值,如用来度量干扰(同频干扰、互调干扰、交调干扰、带外干扰等)以及耦合、杂散等的相对量值。 在采用dBc的地方,原则上也可以使用dB替代。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn