数字信号处理实验二精选.docx

上传人:b****6 文档编号:7057287 上传时间:2023-01-16 格式:DOCX 页数:16 大小:368.36KB
下载 相关 举报
数字信号处理实验二精选.docx_第1页
第1页 / 共16页
数字信号处理实验二精选.docx_第2页
第2页 / 共16页
数字信号处理实验二精选.docx_第3页
第3页 / 共16页
数字信号处理实验二精选.docx_第4页
第4页 / 共16页
数字信号处理实验二精选.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数字信号处理实验二精选.docx

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

数字信号处理实验二精选.docx

数字信号处理实验二精选

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

实验室名称:

实验时间:

姓名:

学号:

专业:

指导教师:

 

成绩

 

 

教师签名:

年月日

一、实验目的

1.利用MATLAB仿真简单的离散时间系统,研究其时域特性;

2.对线性时不变系统进行重点分析研究,掌握其特性。

二、实验内容

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

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

2.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]的影响是什么?

2.4修改程序P2.1,用一个长度为101、最低频率为0、最高频率为0.5的扫频正弦信号作为输入信号(见程序P1.7),计算其输出信号。

你能用该系统对扫频信号的响应来解释习题Q2.1和习题Q2.2的结果吗?

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

该系统是线性系统吗?

2.12运行程序P2.4并比较输出序列y[n]和yd[n-10]。

这两个系列之间有什么关系?

该系统是时不变系统吗?

2.19运行程序P2.5,生成式(2.15)所给离散时间系统的冲激响应。

2.20修改程序P2.5,产生如下因果线性时不变系统的冲激响应的前45个样本:

2.23运行程序P2.6,计算输出序列y[n]和y2[n]以及差值信号d[n]。

Y[n]和y2[n]相等吗?

2.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]?

三、实验器材及软件

1.微型计算机1台

2.MATLAB7.0软件

四、实验原理

1.三点平滑滤波器是一个线性时不变的有限冲激响应系统,将输出延时一个抽样周期,可得到三点平滑滤波器的因果表达式,生成的滤波器表示为

归纳上式可得

此式表示了一个因果M点平滑FIR滤波器。

2.对线性离散时间系统,若y1[n]和y2[n]分别是输入序列x1[n]和x2[n]的响应,则输入

的输出响应为

则系统称为线性系统。

3.对于离散时不变系统,若y1[n]是x1[n]的响应,则输入

x[n]=x1[n-n0]

的输出响应为

y[n]=y1[n-n0]

则称系统为时不变系统。

五、实验步骤

2.1首先利用MATLAB产生一个高频正弦信号和一个低频正弦信号,利用两个信号生成一个输入信号,接着利用filter函数生成输出信号,最后利用plot函数画出4

个信号,再对输出信号进行分析。

2.2在2.1的基础上编写num=ones[1-1],运行程序得出结论。

2.4分别用扫频信号通过2.1、2.2的系统,进行比较分析。

2.7分别计算出y1[n]和y2[n],得到yt[n];再利用filter函数求得y[n],计算差值输出,比较y[n]和yt[n]。

2.20根据impz函数的调用方式,得到

num=[0.9-0.450.350.002]den=[10.71-0.46-0.62],再调用impz函数,画出图像。

2.23首先产生序列x[n],把它作为四阶系统的输入,生成y[n]。

然后将同样的输入x[n]应用到第一级得到y1[n]。

接着用相同的方法得到y2[n]。

最后求得两者的差,并画出图像。

2.28分别用conv函数和filter函数求得输出,进行图像比较。

 

六、实验记录(数据、图表、波形、程序等)

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

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

%ProgramP2_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;

2.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]的影响是什么?

在M=2的基础上,线性时不变系统由y[n]=0.5(x[n]+x[n-1])变成y[n]=0.5(x[n]-x[n-1]),则在MATLAB上,程序P2.1更改:

num可以直接表示为num=[1-1],通用的表达式为:

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

得到图像为

2.4修改程序P2.1,用一个长度为101、最低频率为0、最高频率为0.5的扫频正弦信号作为输入信号(见程序P1.7),计算其输出信号。

你能用该系统对扫频信号的响应来解释习题Q2.1和习题Q2.2的结果吗?

%扫频信号通过2.1系统:

clf;

n=0:

100;

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

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

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

%扫频信号通过2.2系统:

clf;

n=0:

100;

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

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

a=pi/2/100;

b=0;

arg=a*n.*n+b*n;

x=cos(arg);

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

num=[1-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;

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

该系统是线性系统吗?

%ProgramP2_3

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)

stem(n,yt);

ylabel('振幅');

title('加权输出:

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

subplot(3,1,3)

stem(n,d);

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

title('差信号');

2.12运行程序P2.4并比较输出序列y[n]和yd[n-10]。

这两个系列之间有什么关系?

该系统是时不变系统吗?

%ProgramP2_4

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

subplot(3,1,1)

stem(n,y);

ylabel('振幅');

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

subplot(3,1,2)

stem(n,yd(1:

41));

ylabel('振幅');

title(['由于延时输入x[n',num2str(D),']的输出']);grid;

subplot(3,1,3)

stem(n,d);

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

title('差值信号');grid;

2.19运行程序P2.5,生成式(2.15)所给离散时间系统的冲激响应。

%ProgramP2_5

clf;

N=40;

num=[2.24032.49082.2403];

den=[1-0.40.75];

y=impz(num,den,N);

stem(y);

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

title('冲激响应');grid;

 

2.20修改程序P2.5,产生如下因果线性时不变系统的冲激响应的前45个样本:

clf;

N=45;

num=[0.9-0.450.350.002];

den=[10.71-0.46-0.62];

y=impz(num,den,N);

stem(y);

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

title('冲激响应');grid;

 

2.23运行程序P2.6,计算输出序列y[n]和y2[n]以及差值信号d[n]。

Y[n]和y2[n]相等吗?

%ProgramP2_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)

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

title('差值信号');grid;

2.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]?

%ProgramP2_7

clf;

h=[321-210-403];

x=[1-23-4321];

y=conv(h,x);

n=0:

14;

subplot(2,1,1);

stem(n,y);

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

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

x1=[xzeros(1,8)];

y1=filter(h,1,x1);

subplot(2,1,2);

stem(n,y1);

xlabel('时间序号n');ylabel('振幅');title('由滤波生成的输出');grid;

7、实验思考题及解答

2.1由图像可知,输出信号只保留了输入信号中的信号#1(低频)部分,抑制了高频分量,将其滤除,该滤波器为一个低通滤波器。

2.2由图可知,输入信号的系数改变,输出信号为输入信号的高频部分,低频部分受到了抑制,则滤波器为高通滤波器。

2.4当扫频正弦信号经过2.1的系统,根据其输入输出信号可以观察出,当输入信号的频率低时,输出信号的衰减小,随着频率增加,其衰减增大。

由于输入信号为f1=0.05和f2=0.47两信号的叠加,观察扫频信号,当n=10时,几乎无衰减,当n=94时,衰减很多,即s2高频信号受到了抑制,所以2.1的输出为低频信号。

当扫频正弦信号经过2.2的系统,根据其输入输出信号可以观察出,当输入信号的频率低时,输出信号的衰减大,随着频率增加,其衰减减小。

由于输入信号为f1=0.05和f2=0.47两信号的叠加,观察扫频信号,当n=94时,几乎无衰减,当n=10时,衰减很多,即s1低频信号受到了抑制,所以2.2的输出为高频信号。

2.7因为差值信号的数量级为10-15,是非常小的,所以两个序列应为相等的;根据线性系统的定义,该系统是线性系统。

2.12yd[n-10]是y[n]延时10个单位。

因为x[n]→y[n],x[n-10]→y[n-10],所以该系统是一个时不变系统。

2.23因为差值信号的数量级为10-14,非常小,所以两个信号是相等的。

2.28y[n]与y1[n]没有差别;

因为fliter函数产生的输出向量y的长度与输入序列x的长度相同,而conv函数输出向量的长度为冲激h与输入序列x的长度之和减一,两者的长度不等,所以要对x[n]补零,使得x1[n]的长度与conv输出向量的长度相等。

 

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

当前位置:首页 > 高等教育 > 艺术

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

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