计算机仿真技术课程结业报告.doc
文本预览下载声明
二 〇 一 年 月
编程练习
试用MATLAB命令求解以下离散时间系统的单位取样响应。
(1)
(2)
已知某系统的单位取样响应为,试用MATLAB求当激励信号为时,系统的零状态响应。
答案:
a=[3 4 1];
b=[1 1];
n=0:30;
impz(b,a,30),grid on
titl(系统单位取样响应h(n))
a=[2.5 6 10];
b=[1];
n=0:30;
impz(b,a,30),grid on
titl(系统单位取样响应h(n))
nx=-1:5; %x(n)向量显示范围(添加了附加的零值)
nh=-2:10; %h(n)向量显示范围(添加了附加的零值)
x=uDT(nx)- uDT (nx-5);
h=(7/8).^nh.*( uDT (nh)- uDT (nh-10));
y=conv(x,h);
ny1=nx(1)+nh(1); %卷积结果起始点
%卷积结果长度为两序列长度之和减1,即0到(length(nx)+length(nh)-2)
%因此卷积结果的时间范围是将上述长度加上起始点的偏移值
ny=ny1+(0:(length(nx)+length(nh)-2));
subplot(311)
stem(nx,x,fill),grid on
xlabel(n),title(x(n))
axis([-4 16 0 3])
subplot(312)
stem(nh,h,fill),grid on
xlabel(n),title(h(n))
axis([-4 16 0 3])
subplot(313)
stem(ny,y,fill),grid on
xlabel(n),title(y(n)=x(n)*h(n))
axis([-4 16 0 5])
在MATLAB中,冲激序列可以通过编写uDT.m文件来实现,即
function y=uDT(n)
y=n=0; %当参数为非负时输出1
调用该函数时n也同样必须为整数或整数向量。
实验七 IIR数字滤波器的MATLAB实现
1、基于chebyshev1型模拟滤波器原型使用冲激不变转换方法设计数字滤波器,要求具有下面的参数指标:
通带截止频率: 通带波动值:
阻带截止频率: 阻带波动值:
2、一个椭圆数字滤波器的设计,要求采用双线性变换方法,指标参数如下:
通带截止频率: 通带波动值:
阻带截止频率: 阻带波动值:
答案:
wp=0.2*pi;
ws=0.3*pi;
Rp=1;
As=15;
[cs,ds]=cheb1ord(wp,ws,Rp,As);
[num,den]=cheby1(cs,Rp,ds);
freqz(num,den);
[num1,den1]=impinvar(num,den);
freqz(num1,den1);
Wp1=0.2*pi;
Ws1=0.3*pi;
Rp=1.5;
As=20;
fs=1;
[cs,ds];
[num,den]=ellip(cs,Rp,As,ds);
[num1,den1]=bilinear(num,den,fs);
Freqz(num1,den1);
实验八 FIR数字滤波器的MATLAB实现
1. 利用hamming窗设计一个48阶的FIR带通滤波器,通带为Wn=[0.35 0.65]。
2. 用矩形窗设计一个线性相位高通滤波器。其中
答案:
wn=[0.35 0.65] %设置阻带范围
b=fir1(48,wn); %调用fir1函数
freqz(b); %绘制滤波器的频率响应曲线
figure
stem(b,.); %绘制单位冲激响应序列
line([0,25],[0,0]);xlabel(n);ylabel(h(n));
tr_width=ws-wp;
M=ceil(6.6*pi/tr_width)+1;
% 生成hamming窗
w_ham=(hamming(M))
wn =
0.3500 0.6500
w_ham =
Columns 1 through 10
0.0800 0.0986 0.1530 0.2388 0.3489 0.4745 0.6055 0.7311 0.8412 0.9270
Columns 11 through 20
0.9814 1.0000 0.9814 0.9270 0.8412 0.7311 0.6055 0.474
显示全部