数字信号处理实验2.docx

上传人:b****7 文档编号:11101484 上传时间:2023-02-25 格式:DOCX 页数:14 大小:82.54KB
下载 相关 举报
数字信号处理实验2.docx_第1页
第1页 / 共14页
数字信号处理实验2.docx_第2页
第2页 / 共14页
数字信号处理实验2.docx_第3页
第3页 / 共14页
数字信号处理实验2.docx_第4页
第4页 / 共14页
数字信号处理实验2.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数字信号处理实验2.docx

《数字信号处理实验2.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验2.docx(14页珍藏版)》请在冰豆网上搜索。

数字信号处理实验2.docx

数字信号处理实验2

实验二离散时间系统的时域分析

 

实验室名称:

计算机基础实验室(信息学院2202)实验时间:

2015年9月24日

姓名:

王凤琼学号:

20131060114专业:

电子信息工程指导教师:

柏正尧

 

成绩

 

 

教师签名:

年月日

一、实验目的

1.通过MATLAB仿真一些简单的离散时间系统,并研究它们的时域特性。

2.了解滑动平均系统的特性,仿真滑动平均系统,与理论课相结合,分析系统特性。

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

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);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅');

title('信号#2');

subplot(2,2,3);

plot(n,x);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅');

title('输入信号');

subplot(2,2,4);

plot(n,y);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅');

title('输出信号');

axis;

Q2.2

clf;

n=0:

100;

s1=cos(2*pi*0.05*n);

s2=cos(2*pi*0.47*n);

x=s1+s2;

M=input('滤波器所需的长度=');

num=[1,-ones(1,M-1)];

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);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅');

title('信号#2');

subplot(2,2,3);

plot(n,x);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅');

title('输入信号');

subplot(2,2,4);

plot(n,y);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅');

title('输出信号');

axis;

Q2.4

clf;

n=0:

100;

a=pi/2/100;

b=0;arg=a*n.*n+b*n;x=cos(arg);

M=input('滤波器所需的长度=');

num=ones(1,M);

y=filter(num,1,x)/M;

subplot(2,1,1);

stem(n,x);

axis([0,100,-2,2]);

xlabel('时间序号n');

ylabel('振幅');

title('输入信号');

subplot(2,1,2);

plot(n,y);

axis([0,100,-2,2]);

xlabel('时间序号n');

ylabel('振幅');

title('输出信号');

axis; 

 

Q2.7

clf;

n=0:

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);

ylabel('振幅');

title('加权输入:

a\cdotx_{1}[n]+b\cdotx_{2}[n]的输出');

subplot(3,1,2)

ylabel('振幅');

title('加权输出:

a\cdotx_{1}[n]+b\cdotx_{2}[n]');

subplot(3,1,3)

stem(n,d);

xlabel('时间序号n');ylabel('振幅');

title('差信号');

 

Q2.12

clf;

n=0:

40;

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];

num=[2.24032.49082.2403];

den=[1-0.40.75];

ic=[00];%设置初始条件

y=filter(num,den,x,ic);

yd=filter(num,den,xd,ic);

d=y-yd(1+D:

41+D);%计算差值输出

d[n]subplot(3,1,1)stem(n,y);

ylabel('振幅');

title('输出y[n]');

grid;

subplot(3,1,2)stem(n,yd(1:

41));

ylabel('振幅');

title('由于延时输入的输出');

grid;

subplot(3,1,3);

stem(n,d);

ylabel('振幅');

xlabel('时间序号n');

title('差信号');

grid;

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);

ylabel('振幅');

xlabel('时间序号n');

title('冲激响应');

 

Q2.20

clf;

N=40;

num=[0.9-0.450.350.002];

den=[10.71-0.46-0.62];

y=impz(num,den,N);

stem(y);

ylabel('振幅');

xlabel('时间序号n');

title('冲激响应');

Q2.23

%p2.6

%级联实现

clf;

x=[1zeros(1,40)];

n=0:

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;

subplot(3,1,1)

stem(n,y);

ylabel('振幅');

title('四阶实现的输出');grid;

subplot(3,1,2)

stem(n,y2);

ylabel('振幅');

title('级联实现的输出');grid;

subplot(3,1,3);

stem(n,d);

ylabel('振幅');

xlabel('时间序号n');

title('差信号');grid;

Q2.28

%p2.7

clf;

h=[321-210-403];%冲激

x=[1-23-4321];

y=conv(h,x);

n=0:

14;

subplot(2,1,1);

stem(n,y);

ylabel('振幅');

xlabel('时间序号n');

title('用卷积得到的输出');

x1=[xzeros(1,8)];

y1=filter(h,1,x1);

subplot(2,1,2);

stem(n,y);

ylabel('振幅');

xlabel('时间序号n');

title('由滤波生成的输出');

 

七、实验思考题及解答

Q2.1

对M=2,运行上述程序,生成输入x[n]=s1[n]+s2[n]的输出信号。

输入x[n]的哪个分量被该离散时间系统抑制?

答:

由图一可以看出,输出信号只保留了输入信号x[n]的s1[n]部分,即低频正弦部分,输入x[n]的s2[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]的影响是什么?

答:

线性时不变系统由y[n]=0.5(x[n]+x[n-1])变成y[n]=0.5(x[n]-x[n-1])可以修改程序中的num=ones(1,M)为num=[1,-ones(1,M-1)]。

看程序运行结果,可以看出输出信号保留了输入信号x[n]的高频部分,低频部分被抑制了。

该系统将由低通滤波器变为高通滤波器。

它会让s2信号的高频成分通过,而把s1信号的低频成分滤除。

Q2.7

运行程序P2.3,对由加权输入得到的y[n]与在相同权系数下输出y1[n]和y2[n]相加得到的yt[n]进行比较,这两个序列是否相等?

该系统是线性系统吗?

答:

根据线性系统的定义,若x1[n]y1[n],x2[n]y2[n],得出a*x1[n]+b*x2[n]a*y1[n]+b*y2[n],故该系统是线性系统。

由图得到,两个序列是相等的,满足y[n]=yt[n],所以该系统是线性的。

Q2.12

运行程序p2.4,并比较输出序列y[n]和yd[n-10],这两个序列之间有什么关系?

该系统是时不变系统吗?

答:

yd[n-10]是y[n]延时10个样本的序列,该系统是时不变系统。

Q2.23

运行程序p2.6,计算输出序列y[n]和y2[n]以及差值信号d[n],y[n]和y2[n]相等吗?

答:

相等。

Q2.28

运行程序p2.7,对序列h[n]、x[n]求卷积,生成y[n],并用滤波器h[n]对输入x[n]滤波,求得y1[n]。

y[n]和y1[n]有差别吗?

为什么要使用x[n]补零后得到的x1[n]作为输入来产生y1[n]?

答:

由图可以看出y[n]和y1[n]没有差别,序列h[n]、x[n]的卷积得到的y[n]的长度是h[n]和x[n]的长度之和减去1,为15,用滤波器h[n]对输入x[n]滤波得y1[n]长度与x[n]相同,所以要对x[n]补零后得到的x1[n]作为输入来产生y1[n]。

八、实验结果分析与总结

通过本次实验,我知道了滑动平均滤波器的使用,线性和非线性系统的判断,以及线性时不变离散时间系统的冲激响应的计算。

了解了一些函数的使用,impz和filter。

通过实验,我发现一些理论课中比较难理解的部分得到很好的理解,例如滑动平均滤波器,通过图像的显示,直观的看出是它如何进行滤波的。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1