使用nargin命令的目的是表明函数M文件体内变量的数目。
Q7.14 (a)线性相位FIR滤波器的阶数估算,其中采样频率改为FT = 20
kHz ,则结果为 N=91。
(b) 线性相位FIR滤波器阶数的估计,其中通带波纹改成?p = 0.002和
?s = 0.002 结果为 N=57。
(c)线性相位FIR滤波器的阶数估算,其中阻带宽度改成?s = 2.3 kHz ,结果为N=76.
从上述结果和7.13的对比我们可以观察到:
滤波器阶数和采样频率的关系为–对于一个给定的模拟过渡带宽,采样频率的增加导致估算阶数也相应增加,朝下一个整数取整。 其中模拟过渡带宽|Fp-Fs|和Δω的关系:Δω=2pi*|Fp-Fs|/FT。 因此增加FT会减小Δω。
滤波器阶数和通带波纹宽度的关系为估计的阶数大致和log(底数为10)成比例的扩散。
滤波器阶数和过渡带宽度的关系为在舍入的时候,阶数随着过渡带宽成比例的改变。
有两个因素增加过渡带宽来分割顺序。
Q7.15 线性相位FIR低通滤波器阶数的估算,其中滤波器满足7.13
给的规格,使用kaiserord的结果为N=54
正确结果:kaiserord([2000 2500],[1 0],[0.005 0.005],10000) 将上述结果和7.13比较我们观察到:用凯瑟来估算阶数是较小的。因为凯瑟使用了一个不同的近似估计。这种估计经常和FIR设计的
凯瑟窗一起用。
Q7.16 线性相位FIR低通滤波器的阶数估算满足的规格和7.13中的
一样,使用remezord函数的结果为N=47.
正确结果:firpmord([2000 2500],[1 0],[0.005 0.005],10000) 通过和7.13和7.15比较我们可以观察到:在这里,firpmord给了一个比凯尔更大比凯瑟更小一点的结果。使用凯尔则更接近与一般情况。而使用凯瑟和firpmord则有专门的用途。
Q7.17 线性相位带通FIR滤波器的阶数估算满足如下规格:通带边
界为1.8和3.6kHz,阻带边界为1.2kHz到4.2kHz,通带波纹?p = 0.01,阻带波纹 ?s = 0.02,FT = 12 kHz。
使用kaiord 函数求得的结果为:通带波纹δp= 0.1,得到的结果为:kaiord([1800 3600],[1200 4200],0.1,0.02,12000),N=20。但是当δp=
0.01
时
结
果
为
:
kaiord([1800
3600],[1200
4200],0.01,0.02,12000),得到的N=33。所以答案不唯一,可以选择其中一个。
Q7.18 线性相位带通FIR滤波器的阶数估算,其中FIR滤波器的规格
和7.17一样,则使用kaiserord的结果为同样,它也有矛盾。当使用δp= 0.1时,得到的结果为:kaiserord([1200 1800 3600 4200],[0 1 0],[0.02 0.1 0.02],12000),则N=37.
当用δp= 0.01时,结果为:kaiserord([1200 1800 3600 4200],[0 1 0],[0.02 0.01 0.02],12000),此时N=45.
和7.17的结果比较我们观察到通过kaiserord函数估计的阶数要更高,但如果你要设计Kaiser窗的话则结果更精确。
Q7.19 线性相位带通FIR滤波器的阶数估算,其中FIR滤波器的规格
和7.17一样,使用函数remezord。
当取δp= 0.01时,结果为firpmord([1200 1800 3600 4200],[0 1 0],[0.02 0.1 0.02],12000),此时N=22.
而如果δp= 0.01,则结果为:firpmord([1200 1800 3600 4200],[0 1 0],[0.020.01 0.02],12000),此时N=35.可以从中任意选择。 和7.17和7.18的结果比较我们可以观察到通过firpmord来估算的阶数在另外两个的中间,在设计Parks-McClellan时更准确。
Q7.20 使用matlab程序设计并画出线性相位FIR滤波器增益和相位
反应,使用fir1如下。通过使用函数kaiserord.来估计滤波器阶数,输出结果为滤波器的系数。低通滤波器满足7.20所要求的规格的系数如下:
增益和相位响应如下:
从增益图像我们可以知道这个设计不能满足规格.这个滤波器满足规格的阶数为N=66.为了满足规格,图如下:
Q7.21 汉宁窗: