kaiserord

Kaiser窗FIR滤波器的设计估计参数

描述

[<一个href="#mw_79fd65d6-3048-4a3e-8562-df4372dcc2f9" class="intrnllnk">ñ,<一个href="#mw_12b3523e-1af5-49e4-927c-2baab97bba3d" class="intrnllnk">WN,<一个href="#mw_cf102488-a153-44f5-bb98-bc342d98634e" class="intrnllnk">β,<一个href="#mw_57390b13-9fb3-4551-a0b5-8eb480a5608c" class="intrnllnk">ftype] = kaiserord(<一个href="#mw_db9987c4-bf7b-4386-9518-3edd3e2d5d6b" class="intrnllnk">F,<一个href="#mw_fd13d216-6e0b-47ef-a286-219d879e590f" class="intrnllnk">一个,<一个href="#mw_63658874-1da3-4b96-979a-da054d8566b1" class="intrnllnk">开发返回一个过滤器顺序ñ,归一化频带边缘WN,以及形状因子β属性指定一个Kaiser窗口用于<一个href="//www.tianjin-qmedu.com/help/signal/ref/fir1.html">FIR1功能。为了设计FIR滤波器b大约有满足给出的规格F一个,开发,使用B = FIR1(N,WN,凯瑟(N + 1,β),FTYPE, 'noScale,则')

[<一个href="#mw_79fd65d6-3048-4a3e-8562-df4372dcc2f9" class="intrnllnk">ñ,<一个href="#mw_12b3523e-1af5-49e4-927c-2baab97bba3d" class="intrnllnk">WN,<一个href="#mw_cf102488-a153-44f5-bb98-bc342d98634e" class="intrnllnk">β,<一个href="#mw_57390b13-9fb3-4551-a0b5-8eb480a5608c" class="intrnllnk">ftype] = kaiserord(<一个href="#mw_db9987c4-bf7b-4386-9518-3edd3e2d5d6b" class="intrnllnk">F,<一个href="#mw_fd13d216-6e0b-47ef-a286-219d879e590f" class="intrnllnk">一个,<一个href="#mw_63658874-1da3-4b96-979a-da054d8566b1" class="intrnllnk">开发,<一个href="#mw_27bf94c7-066b-4407-bf63-598976ad1e32" class="intrnllnk">FS使用样本率FS单位为Hz。

C= kaiserord(<一个href="#mw_db9987c4-bf7b-4386-9518-3edd3e2d5d6b" class="intrnllnk">F,<一个href="#mw_fd13d216-6e0b-47ef-a286-219d879e590f" class="intrnllnk">一个,<一个href="#mw_63658874-1da3-4b96-979a-da054d8566b1" class="intrnllnk">开发,<一个href="#mw_27bf94c7-066b-4407-bf63-598976ad1e32" class="intrnllnk">FS,'细胞')返回一个单元阵列,其元素为参数,以FIR1

例子

全部折叠

设计一个低通滤波器,通带为0 ~ 1khz,阻带为1500hz ~ 4khz。指定通带纹波为5%,阻带衰减为40db。

fsamp = 8000;fcuts = [1000 1500];弹匣= [1 0];开发者= [0.05 0.01];[n, n,β,ftype] = kaiserord (fcuts、杂志、开发者、fsamp);HH = FIR1(N,WN,FTYPE,凯瑟(N + 1,β),'noScale,则');fsamp freqz (hh, 1024)

设计一个奇数长度的带通滤波器。注意,奇数长度的装置甚至顺序,所以输入到FIR1必须是偶数。

fsamp = 8000;fcuts = [1000 1300 2210 2410];mags = [0 1 0];devs = [0.01 0.05 0.01];[n, n,β,ftype] = kaiserord (fcuts、杂志、开发者、fsamp);n = n + rem(n,2);HH = FIR1(N,WN,FTYPE,凯瑟(N + 1,β),'noScale,则');[H,F] = freqz(11H,1,1024,FSAMP);情节(F,ABS(H))格

设计通带截止频率1500 Hz,阻带截止频率2000 Hz,通带纹波0.01,阻带纹波0.1,采样率8000 Hz的低通滤波器。设计一个等效滤波器'细胞'选择。

FS = 8000;[N,WN,β,FTYPE] = kaiserord([1500 2000],[1 0],...[0.01 0.1],FS);B = FIR1(N,WN,FTYPE,凯瑟(N + 1,β),'noScale,则');C = kaiserord([1500 2000],[1 0],[0.01 0.1],FS'细胞');B细胞= FIR1(C {:});hfvt = fvtool(B,1,B细胞,1,“Fs”fs);传奇(hfvt'B'“bcell”

输入参数

全部折叠

带边,指定为一个向量。的长度F的长度的两倍2 *长度(a)-2

带幅,指定为矢量。振幅在所定义的频带上指定F。在一起,F一个定义一个分段恒定响应函数。

最大容许偏差,指定为矢量。开发是矢量的大小相同一个指定每个频带输出滤波器的频率响应与其频带振幅之间允许的最大偏差。的条目开发请指定通带纹波和阻带衰减。指定开发为正数,表示绝对过滤器增益(无单位)。

采样率,指定为赫兹测得的正标量。如果不指定参数FS,或者如果你将它指定为空载体[],采样率默认为2赫兹,并奈奎斯特频率为1赫兹。使用此语法指定缩放到一个特定的应用程序的采样率带边缘。频带边缘在F必须是从0到FS/ 2。

输出参数

全部折叠

滤波器的阶数,返回一个正整数。

归一化频带边缘,作为实向量返回。

形状因子,返回为正实标量。的参数β影响窗口傅里叶变换的旁瓣衰减。

过滤器类型,旨在与使用<一个href="//www.tianjin-qmedu.com/help/signal/ref/fir1.html">FIR1,返回:

  • “低”- 使用截止频率的低通滤波器<一个href="#mw_12b3523e-1af5-49e4-927c-2baab97bba3d" class="intrnllnk">WN

  • '高'- 高通与截止频率滤波器WN

  • “带通”- 带通滤波器,如果WN是一个两元素矢量。

  • “停止”- 带阻滤波器如果WN是一个两元素矢量。

  • 'DC-0'- 多频带滤波器的第一频带是阻带。

  • 'DC-1'- 多频带滤波器的第一频带是通带。

FIR参数,返回为单元阵列。

提示

  • 要小心区分过滤器长度和过滤器顺序的含义。该过滤器长度为FIR滤波器中的脉冲响应样本数。一般来说,脉冲响应是由ñ= 0ñ=大号- 1,其中大号是过滤器的长度。该过滤器订购是滤波器的z变换表示中的最高功率。对于FIR传递函数,这种表示是一个多项式ž这里的权力最高ž大号-1和最低功率ž0。滤波器的阶数是一个小于长度(大号- 1),也等于0的个数ž多项式。

  • 如果在载体<一个href="#mw_63658874-1da3-4b96-979a-da054d8566b1" class="intrnllnk">开发,当您指定不同频带之间的偏差不相等时,将使用最小的指定偏差,因为Kaiser窗口方法被约束为在所有频带中产生偏差最小的滤波器。

  • 在某些情况下,kaiserord低估或高估的顺序ñ。如果过滤器不符合规范,请尝试更高的级别,如n + 1个N + 2,等等,或一试低位。

  • 结果是不准确的,如果截止频率接近0或奈奎斯特频率,或如果开发很大(大于10%)。

算法

给定一组频域的参数,kaiserord估计最小FIR滤波器的顺序,将大致满足规格。kaiserord给定的滤波器的规格转换成通带和阻带波纹和转换的截止频率到所需要的窗口式FIR滤波器的设计形式。

kaiserord使用经验推导公式估计低通滤波器的阶数,以及微分器和希尔伯特变压器。多频带滤波器(如带通滤波器)的估计是由低通设计公式推导出来的。

设计公式背后凯塞窗并将其应用到FIR滤波器的设计是

β = { 0.1102 α - 8.7 α > 50 0.5842 α - 21 0.4 + 0.07886 α - 21 21 α 50 0 α < 21

哪里α= -20log10δ阻带衰减用分贝表示吗

ñ = α - 7.95 2.285 Δ ω

哪里ñ过滤器秩序和Δ吗ω是最小的过渡区域的宽度。

参考文献

[1] IEEE声学,语音和信号处理学报数字信号处理委员会编在数字信号处理论文选编。卷二世。纽约:IEEE出版社,1976。

[2]凯泽,詹姆斯·“非递归数字滤波器设计使用一世0sinh窗口函数。”1974年IEEE电路与系统国际研讨会论文集。1974年,20页。

奥本海姆,艾伦五世,罗纳德W.谢弗和约翰R.巴克。离散时间信号处理。上马鞍河,NJ:Prentice Hall出版社,1999年。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

也可以看看

||

之前介绍过的R2006a