数字信号处理实验Word格式.docx
《数字信号处理实验Word格式.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
3.运用MATLAB程序得出线性时不变离散时间系统的冲激响应。
4.熟悉相应的MATLAB命令,如filter,impz。
5.实验与理论相结合,能达到对理论的更好理解。
二、实验内容
1.滑动平均系统的仿真;
2.线性和非线性系统的仿真;
3.线性时不变离散时间系统的仿真;
Q2.1对M=2,运行上述程序,生成输入x[n]=s1[n]+s2[n]的输出信号。
输入x[n]的哪个分量被该离散时间系统抑制?
Q2.2若线性时不变系统由y[n]=0.5(x[n]+x[n-1])变成y[n]=0.5(x[n]-x[n-1]),对输入x[n]=s1[n]+s2[n]有什么影响?
Q2.4修改程序P2.1,用一个长度为101,最低频率为0,最高频率为0.5的扫频正弦信号作为输入信号,计算其输出信号。
Q2.7运行程序P2.3,对由加权输入得到的y[n]与在相同权系数下输出y1[n]和y2[n]相加得到的yt[n]进行比较,这两个序列是否相等?
该系统是线性系统吗?
Q2.12采用三个不同的延时变量D的值运行程序P2.4并比较输出序列y[n]和yd[n-10]。
这两个序列之间有什么关系?
该系统是时不变系统吗?
Q2.19运行程序P2.5,生成2.15所给离散时间系统的冲激响应。
y[n]-0.4y[n-1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2]
Q2.20修改程序P2.5,产生如下因果线性时不变系统的冲激响应的前45个样本:
y[n]+0.71y[n-1]-0.46y[n-2]-0.62y[n-3]=0.9x[n]-0.45x[n-1]+0.35x[n2]+0.002x[n-3]
Q2.23运行程序p2.6,计算输出序列y[n]和y2[n]以及差值信号d[n],y[n]和y2[n]相等
Q2.28运行程序p2.7,对序列h[n]和y[n]求卷积,生成y[n],并用FIR
滤波器h[n]对输入x[n]滤波,求得y1[n]。
y[n]和y1[n]有差别吗?
为什么要使用对x[n]补零后得到的x1[n]作为输入来产生y1[n]?
计算线性时不变离散时间系统的冲激响应,运用MATLAB命令y=impz(num,den,N),得出冲激响应的前N个样本。
三、实验器材及软件
1.微型计算机1台
2.MATLAB7.0软件
四、实验原理
1.若y1[n]和y2[n]分别是因果离散时间系统输入信号u1[n]和u2[n]的响应,则当
u1[n]=u2[n]n<
N时,有y1[n]=y2[n]n<
N
2.对于离散时不变系统,若y1[n]是x1[n]的响应,则输入x[n]=x1[n=n0]的输出响应为y[n]=y1[n-n0]。
3.描述因果线性时不变离散时间系统,可用命令filter进行仿真。
计算冲激响应可用函数impz表示计算冲击响应钱N个样本可用y=impz(num,den,N)来表示。
五、实验步骤
按照课本上的例题书写程序。
六实验记录(数据、图表、波形、程序等)
Q2.1
clf;
n=0:
100;
s1=cos(2*pi*0.05*n);
s2=cos(2*pi*0.47*n);
x=s1+s2;
M=input('
滤波器所需的长度='
);
num=ones(1,M);
y=filter(num,1,x)/M;
subplot(2,2,1);
plot(n,s1);
axis([0,100,-2,2]);
xlabel('
时间序号n'
ylabel('
振幅'
title('
信号#1'
subplot(2,2,2);
plot(n,s2);
信号#2'
subplot(2,2,3);
plot(n,x);
输入信号'
subplot(2,2,4);
plot(n,y);
输出信号'
axis;
Q2.2
num=[1,-ones(1,M-1)];
Q2.4
a=pi/2/100;
b=0;
arg=a*n.*n+b*n;
x=cos(arg);
subplot(2,1,1);
stem(n,x);
subplot(2,1,2);
Q2.7
40;
a=2;
b=-3
x1=cos(2*pi*0.1*n);
x2=cos(2*pi*0.4*n);
x=a*x1+b*x2;
num=[2.24032.49082.2403];
den=[1-0.40.75];
ic=[00];
y1=filter(num,den,x1,ic);
y2=filter(num,den,x2,ic);
y=filter(num,den,x,ic);
yt=a*y1+b*y2;
d=y-yt;
subplot(3,1,1)
stem(n,y);
加权输入:
a\cdotx_{1}[n]+b\cdotx_{2}[n]的输出'
subplot(3,1,2)
加权输出:
a\cdotx_{1}[n]+b\cdotx_{2}[n]'
subplot(3,1,3)
stem(n,d);
差信号'
Q2.12
D=10;
a=3.0;
b=-2;
x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n);
xd=[zeros(1,D),x];
%设置初始条件
yd=filter(num,den,xd,ic);
d=y-yd(1+D:
41+D);
%计算差值输出
d[n]subplot(3,1,1)stem(n,y);
输出y[n]'
grid;
subplot(3,1,2)stem(n,yd(1:
41));
由于延时输入的输出'
subplot(3,1,3);
Q2.19%p2.5%计算冲激响应clf;
N=40;
num=[2.2403
2.4908
2.2403];
den=[1
-0.4
0.75];
y=impz(num,den,N);
stem(y);
冲激响应'
Q2.20
num=[0.9-0.450.350.002];
den=[10.71-0.46-0.62];
Q2.23
%p2.6
%级联实现
x=[1zeros(1,40)];
den=[11.62.281.3250.68];
num=[0.06-0.190.27-0.260.12];
y=filter(num,den,x);
num1=[0.3-0.20.4];
den1=[10.90.8];
num2=[0.2-0.50.3];
den2=[10.70.85];
y1=filter(num1,den1,x);
%级联第一级输出
y2=filter(num2,den2,y1);
d=y-y2;
四阶实现的输出'
stem(n,y2);
级联实现的输出'
Q2.28
%p2.7
h=[321-210-403];
%冲激
x=[1-23-4321];
y=conv(h,x);
14;
用卷积得到的输出'
x1=