【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《数字信号_加窗_凯撒窗》,欢迎阅读!
研究型学习报告
一、问题重述
7.6 我们要用Kaiser窗法设计一个实值的一般线性相位的FIR滤波器,且满足以下指标:
0.9H(ej)1.1,
0||0.2
3||0.4 750.06H(ej)0.06, 0.0.525||1.9H(ej)2.1,
将Kaiser窗加到理想实值的脉冲响应上可以满足该指标,与该脉冲响应有关的理想频域响应为H(e):
j
(a)满足指标的最大值是多少?相应的值是多少?清楚地说明你的理由。 (b)满足指标的最大值是多少?相应的M值是多少?清楚地说明你的理由。
二、问题求解
(a) 我们知道,Kaiser窗法滤波器可以看成是一个低通滤波器加上一个高通滤波器。
根据理想的H(e),我们容易知道对应的参数分别为和2。在指标要求的带阻范围0.3||0.475内,这两个误差参数应该相加,并且我们容易得到:
j
20.06
从而求得以下参数:
max0.02;
A20log(0.02)33.9794;
0.5842(A21)0.40.07886(A21)2.65。
(b) 易知过渡带宽度为0.5250.4750.05,能够满足题目指标。
从而容易得到相关的阶数:
M
A7.95
173.18973
2.286()
三、仿真验证
根据题目的要求指标,我们已经得到对应Kaiser窗的参数和M,从而我们可以验证Kaiser窗设计的FIR滤波器性能。 Kaiser窗的窗函数表达式为:
I(1(1
w(n)
2n2
))
N1,0nN1 I0()
)是第一类变形零阶贝塞尔函数,是一个可以自由选择的参数,它可以同时调其中,I0(
整主瓣宽度和旁瓣电平。
我们用matlab中的kaiser命令来产生响应的w(n)。
窗函数法设计滤波器的步骤如下: 1) 给定所要求的频率响应函数Hd(ej);
2) 求出对应的脉冲响应hd(n)IDTFT[Hd(ej)];
3) 利用满足条件计算得到的值和M值,选定窗w(n)的形状。 4) 求得所设计的FIR滤波器的单位抽样响应
h(n)hd(n)w(n), n0,1,...N,
5) 求得滤波器频域表达函数H(e),检验是否满足设计指标。
根据以上步骤,我们进行了matlab仿真,仿真结果如下:
j
Figure 1 w(n)时域和频域特性
Figure 2 加窗后的脉冲时域响应和频域对数特性
Figure 3 加窗后的频域线性特性
通过仿真线性结果figure3的显示,该Kaiser窗法设计的FIR滤波器能够满足我们要求的指标。可见Kaiser窗性能优越。
作为对比,我们列出了矩形窗设计FIR滤波器作为比较:
Figure 4 矩形窗FIR滤波器(dB)
Figure 5 矩形窗FIR滤波器(linear)
由上观察,显然矩形窗设计的滤波器峰值误差不满足指标要求。
Matlab设计Kaiser窗程序如下:
clc,clear all; %%
Hd=[2,1,2]; %% N=73; r=(N-1)/2; syms w; for I=1:1:N
hd0=0;hd1=0;hd2=0;
hd0=double(int(exp(i*w*(I-r))*Hd(1),w,-pi,-0.5*pi)); hd1=double(int(exp(i*w*(I-r))*Hd(2),w,-0.25*pi,0.25*pi)); hd2=double(int(exp(i*w*(I-r))*Hd(3),w,0.5*pi,pi)); hd(I)=(hd0+hd1+hd2)/(2*pi); end %%
beita=2.65;
wn=kaiser(N,beita); wvtool(wn); %%
for I=1:N;
hn(I)=wn(I)*hd(I); end
wvtool(hn);
%%通过DTFT求和得到H(ej)。
本文来源:https://www.wddqxz.cn/942215e4a2c7aa00b52acfc789eb172ded6399d8.html