好文档 - 专业文书写作范文服务资料分享网站

实验 三 用凯塞窗设计线性相位带通FIR滤波器 - 副本

天下 分享 时间: 加入收藏 我要投稿 点赞

中国地质大学(北京)

实 验 报 告

课程名称:数字信号处理

实验名称:用凯塞窗设计线性相位带通FIR滤波器 姓 名: 张淑坤 学 号: 1004133105 班 级:10041331 指导教师:陈玉东 评 分:

实验时间:2015-12-31

用凯塞窗设计线性相位带通FIR滤波器

实验目的:

基于MATLAB环境,熟悉利用窗函数法设计线性相位FIR滤波器的原理和方法。

实验环境:

硬件环境:计算机,软件环境:MATLAB平台。

实验环境原理:

凯塞窗是对于给定的阻带衰减,使主瓣具有最大能量意义下的最佳窗函数,因此具有最陡的过渡带。

窗函数的形式为

I0[ ?1?(1?wk(n)?2n2) ]N?1 , 0?n?N?1 I0(?)?其中?为形状参数,I0[x]是第一类修正零阶贝塞尔函数,其幂函数展开式为

1xI0[x]?1??[()k]2

k?1k!2给定滤波器的过渡带宽度?? (rad)和阻带衰减As(dB),则滤波器的长度和形状参数?可由下列经验公式给出:

N?As?7.95

2.286Δ?As?50dB?0.1102(As?8.7),?β??0.5842(As?21)0.4?0.07886(As?21),21?As?50dB

?0,As?21dB?设计流程图

输入带通指标:?p1、?p2、?s1、?s2、As、 编写函数dbpfilter_FIR.m用以计算理想带通滤波器单位抽样响应h(n) 计算N(N为奇数)及? 显示N及? 编写函数kaiser_WF.m计算凯塞窗函数用stem(wk)显示wk(n) 计算h (n)=hd(n)·wk(n) 计算滤波器的幅频及对数幅频特性 并打印结果,验证指标要求 实验内容要求:

1. 编写计算理想带通滤波器单位抽样响应hd(n)的M函数文件dbpfilter_FIR.m,各变量定义

如下:

dbpfilter_FIR(d_omega, N, beta)

% d_omega ---输入数字频率数组(向量); % d_omega(1)---阻带下边缘截止频率 % d_omega(2)---通带下边缘截止频率 % d_omega(3)---通带上边缘截止频率 % d_omega(4)---阻带上边缘截止频率 % N ---数字带通滤波器的长度

% hd ---理想数字带通滤波器单位冲激响应

% h ---实际数字带通滤波器单位冲激响应(所设计的) %wk ---凯泽窗序列 % beta ---凯泽窗参数

2. 编写计算凯泽窗函数wk(n)的M函数文件kaiser_WF.m,各变量定义如下: function wk= kaiser_WF(N, beta)

% N ---凯泽窗序列的长度 % beta---凯泽窗参数 % wk ---凯泽窗序列

计算贝塞尔函数的参考程序bessel_IM.m如下:

function s=bessel_IM (x)

eps= 10^(-12); n=1; s=1; D= 1; while D>(eps*s) T= x/(2*n); D= D *T^2; s= s+D;

n= n+l;

end

3. 编写 .m程序文件,通过调用dbpfr.m和kaiser_WF.m文件,设计下列带通FIR滤波器: 通带允许起伏 ≤l dB,?p1=0.3?,?p2=0.5?

阻带衰减 ≤40 dB,?s1=0.15?,?s2=0.65

实验内容及结果 1、MATLAB程序

function [hd]=ideal_LP(wc,N)

%Ideal Lowpass filter computation %------------------------------------------ %[hd]=ideal_LP(wc,M)

%hd ---理想低通滤波器单位冲激响应(0<=n<=(n-1)) %wc ---截至频率(单位弧度/秒) %N ---理想低通滤波器的长度 % %

alpha=(N-1)/2; n=[0:(N-1)]; m=n-alpha+eps;

hd=sin(wc*m)./(pi*m);

function wk= kaiser_WF(N, beta) for n=1:1:N

wk(n)=bessel_IM (beta*sqrt(1-(1-2*(n-1)/(N-1))^2))/bessel_IM(beta); end

function s=bessel_IM (x) N=49;

n=[0:1:N-1];

eps= 10^(-12); n=1; s=1; D= 1; while D>(eps*s) T= x/(2*n); D= D *T^2; s= s+D; n= n+1;

End

function dbpfilter_FIR(d_omega, N, beta)

As=60;

d_omega=[0.15,0.3,0.5,0.65]*pi delta_w=d_omega(2)-d_omega(1); N=(As-7.95)/(2.286*delta_w) N=ceil(N) M=N;

n=[0:1:N-1];

beta=0.1102*(As-8.7); wk=kaiser_WF(N,beta);

wc_lower=(d_omega(1)+d_omega(2))/2

wc_upper=(d_omega(3)+d_omega(4))/2

hd=ideal_LP(wc_upper,N)-ideal_LP(wc_lower,N); h=hd.*wk;

[H,w]=freqz(h,1,1000,'whole'); H=(H(1:501))'; w=(w(1:501))'; mag=abs(H);

db=20*log10((mag+eps)/max(mag));

figure(1);clf; subplot(221); stem(n,hd);

title('理想数字带通滤波器单位冲激响应'); axis([-1,N,-0.4,0.6]); ylabel('h_d(n)');

subplot(222); stem(n,wk); title('凯泽窗'); axis([-1,N,0,1.3]); ylabel('w_k(n)');

subplot(223); stem(n,h);

axis([-1,N,-0.4,0.6]); ylabel('h(n)')

title('设计出的滤波器单位冲激响应');

实验 三 用凯塞窗设计线性相位带通FIR滤波器 - 副本

中国地质大学(北京)实验报告课程名称:数字信号处理实验名称:用凯塞窗设计线性相位带通FIR滤波器姓名:张淑坤学号:1004133105班级:10041331指导教师:陈玉东评分:
推荐度:
点击下载文档文档为doc格式
1ezc87qseu2cg5g8iu9k
领取福利

微信扫码领取福利

微信扫码分享