1 / 14
文档名称:

数字信号处理--《信号处理算法》课程设计.doc

格式:doc   页数:14
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数字信号处理--《信号处理算法》课程设计.doc

上传人:164922429 2014/1/6 文件大小:0 KB

下载得到文件列表

数字信号处理--《信号处理算法》课程设计.doc

文档介绍

文档介绍:课程设计(综合实验)报告
( 2013 -- 2014 年度第一学期)
名称: 数字信号处理
题目:《信号处理算法》课程设计
院系: 电信系
班级: 电子1101班
学号:
学生姓名:
指导教师:
设计周数: 两周
成绩:

日期: 2013年 12月 15
一、课程设计的目的与要求
掌握《数字信号处理基础》课程的基本理论;
掌握应用MATLAB进行数字信号处理的程序设计方法。
二、主要内容
设计题目及设计要求:
已知低通数字滤波器的性能指标如下:
,,,
要求:
选择合适的窗函数,设计满足上述指标的数字线性相位FIR低通滤波器。用一个图形窗口,包括四个子图,分析显示滤波器的单位冲激响应、相频响应、幅频响应和以dB为纵坐标的幅频响应曲线。
就几种窗函数的比较,在本课设中我选择了hamming窗,Matlab里提供了相应的子程序来实现窗函数。
w_ham=hamming(N) %数组w_ham中返回N点hamming窗函数
具体实现代码如下:
clear;
wp=*pi; %通带截止频率
ws=*pi; %阻带截止频率
Rp=;
As=50;
T=1;
Fs=1/T;
tr_width=ws-wp;
N=ceil(*pi/tr_width)+1;
n=0:N-1;
wc=(wp+ws)/2;
hd=ideal_lp(wc,N); %理想冲激响应、
w_ham=(hamming(N))';
h=hd.*w_ham; %对FIR滤波器低通冲激响应加窗,h为低通滤波器的实际冲击响应
[db,mag,pha,grd,w]=freqz_m(h,[1]); %频率响应
delta_w=2*pi/1000; %将2pi等分1000份
Rp=-(min(db(1:wp/delta_w+1))); %求通带最大衰减
As=-round(max(db(ws/delta_w+1:1:501))); %求阻带最小衰减
figure(1);
subplot(2,2,1);
stem(n,h);title('实际冲激响应');grid;
ylabel('h(n)');xlabel('n');
subplot(2,2,2);
plot(w/pi,pha);title('相频响应');grid;
ylabel('相位');xlabel('以/pi为单位的频率');
subplot(2,2,3);
plot(w/pi,mag);title('幅频响应');grid;
ylabel('幅度');xlabel('以/pi为单位的频率');
subplot(2,2,4);
plot(w/pi,db);title('幅频响应(dB)');grid;
ylabel('对数幅度/dB');xlabel('以/pi为单位的频率');
调试结果如图:
用双线性变换法,设计满足上述指标的数字Chebyshev I型低通滤波器。用一个图形窗口,包括三个子图,分析显示滤波器的幅频响应、以dB为纵坐标的幅频响应和相频响应。
这个要求用到了四个子程序:
(1),Matlab提供的[b,a]=bilinear(cs,ds,Fs)函数,用于双线性变换法
(2),Matlab提供了一个称为[z,p,k]=cheblap(N,Rp)的函数用于设计一个阶数为N,通带波纹为Rp的归一化切比雪夫I型模拟原型滤波器,而我们需要设计任意c的非归一化的切比雪夫I型滤波器,于是便形成了一个称为cheb1ap_o函数用于设计非归一化的切比雪夫I型滤波器,这个函数表示如下:
function[b,a]=cheb1ap_o(N,Rp,omega)
[z,p,k]=cheb1ap(N,Rp);
a=real(poly(p));
aNn=a(N+1);
p=p*omega;
a=real(poly(p));
aNu=a(N+1);
k=k*aNu/aNn;
b0=k;
B=real(poly(z));
b=k*B;
(3),已知滤波器技术要求,利用cheb1ap_o函数,则提供了一个称为afd_cheb1的函数用于设计模拟切比雪夫I型低通滤波器,这个函数表示如下:
function[b,a]=afd_cheb1(wp,ws,Rp,As)
%
if wp<=0
error('通带必须大于0');
end
if ws<=wp
error('阻带边缘必须大于通带边缘');
end
if(Rp<=0)||(As<0)
error('通带波动或阻带衰减必须大于0');
end
%
ep=sqrt(10^(Rp/