第二章实验离散时间系统的时域分析课案.docx
- 文档编号:27267766
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:34
- 大小:425.04KB
第二章实验离散时间系统的时域分析课案.docx
《第二章实验离散时间系统的时域分析课案.docx》由会员分享,可在线阅读,更多相关《第二章实验离散时间系统的时域分析课案.docx(34页珍藏版)》请在冰豆网上搜索。
第二章实验离散时间系统的时域分析课案
南昌大学实验报告
学生姓名:
******学号:
6103413001专业班级:
***********
实验类型:
□验证□综合□设计□创新实验日期:
实验成绩:
第二章:
离散时间信号的时域分析
一、实验目的:
1、学会用MATLAB在时域中产生一些基本的离散时间信号,并对这些信号进行一些基本的运算。
2、学会使用基本的MATLAB命令,并将它们应用到简单的数字信号处理问题中。
二、实验要求:
1、学习并调试本章所给的例子。
2、回答书后给出的问题。
3、实验报告仅回答奇数信号的例子。
三、实验程序及结果
Q2.1对M=2,运行上述程序,生成输入x[n]=s1[n]+s2[n]的输出信号。
输入x[n]
的哪个分量被该离散时间系统抑制?
Project2.1滑动平均系统
%程序P2_1
%一个M点滑动平均滤波器的仿真
%产生输入信号
n=0:
100;
s1=cos(2*pi*0.05*n);%一个低频正弦
s2=cos(2*pi*0.47*n);%一个高频正弦
x=s1+s2;
%M点滑动平均滤波器的实现
M=input('滤波器所需的长度=');
num=ones(1,M);
y=filter(num,1,x)/M;
clf;
subplot(2,2,1);
plot(n,s1);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('低频正弦');
subplot(2,2,2);
plot(n,s2);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('高频正弦');
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.3对滤波器长度M和正弦信号s1[n]和s2[n]的频率取其他值,运行程序P2.1,算出结果。
n=0:
100;
s1=cos(2*pi*0.02*n);
s2=cos(2*pi*0.46*n);
x=s1+s2;
%M点滑动平均滤波器的实现
M=input('滤波器所需的长度=');
num=ones(1,M);
y=filter(num,1,x)/M;
clf;
figure,
subplot(2,2,1);
plot(n,s1);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('低频正弦');
subplot(2,2,2);
plot(n,s2);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('高频正弦');
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;
num=[1,-ones(1,M-1)];
y=filter(num,1,x)/M;
figure,
subplot(2,2,1);
plot(n,s1);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('低频正弦');
subplot(2,2,2);
plot(n,s2);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('高频正弦');
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;
输入部分
的高频成分
成分被抑制了。
closeall
n=0:
100;
s1=cos(2*pi*0.02*n);
s2=cos(2*pi*0.46*n);
x=s1+s2;
%M点滑动平均滤波器的实现
M=input('滤波器所需的长度=');
num=ones(1,M);
y=filter(num,1,x)/M;
clf;
figure,
subplot(2,2,1);
plot(n,s1);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('低频正弦');
subplot(2,2,2);
plot(n,s2);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('高频正弦');
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;
num=[1,-ones(1,M-1)];
y=filter(num,1,x)/M;
figure,
subplot(2,2,1);
plot(n,s1);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('低频正弦');
subplot(2,2,2);
plot(n,s2);
axis([0,100,-2,2]);
xlabel('时间序号n');ylabel('振幅');
title('高频正弦');
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;
仿真结果如下图所示:
修改程序中的num=ones(1,M)为num=[1,-ones(1,M-1)]。
运行结果如下图,可以看出输出信号保留了输入信号x[n]的高频分量,即保留了s2[n]分量,低频部分s1[n]被抑制了。
Q2.5用不同频率的正弦信号作为输入信号,计算每个输入信号的输出信号。
输出信号是如何受到输入信号频率的影响的?
从数学上对你的结论加以证明。
%程序P2_2
%产生一个正弦输入信号
clf;
n=0:
200;
f=input('Pleaseinputthevalueoff:
')
x=cos(2*pi*f*n);
%计算输出信号
x1=[x00];%x1[n]=x[n+1]
x2=[0x0];%x2[n]=x[n]
x3=[00x];%x3[n]=x[n-1]
y=x2.*x2-x1.*x3;
y=y(2:
202);
%画出输入和输出信号
subplot(2,1,1)
plot(n,x)
xlabel('时间序列n');ylabel('振幅');
title('输入信号')
subplot(2,1,2)
plot(n,y)
xlabel('时间信号n');ylabel('振幅');
title('输出信号');
分别取F=0.05,F=0.47,F=0.5以及F=0,仿真结果如下所示:
F=0.05
F=0.47
F=0.5
F=0
证明:
设输入信号为
,则
以及
。
则
Q2.7运行程序P2.3,对由加权输入得到的y[n]在与相同权系数下输出y1[n]和y2[n]相加得到的yt[n]进行比较,这两个序列是否相等?
该系统是线性系统么?
程序P2.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('差信号');
仿真结果如下图所示:
该仿真结果说明这两个序列相等,该系统是线性系统。
Q2.9当初始条件非零时重做习题Q2.7。
解:
令ic=[1020];则仿真结论如下所示:
这两个序列相等,该系统为线性系统。
Q2.11假定另一个系统为y[n]=x[n]x[n-1],修改程序P2.3,计算这个系统的输出序列y1[n],y2[n]和y[n]。
比较y[n]和yt[n]。
这两个序列是否相等?
该系统是线性系统吗?
解:
这两个序列不相等。
该系统是非线性系统。
n=0:
40;
a=2;b=-3;
x11=[0cos(2*pi*f1*n)0];x12=[00cos(2*pi*f1*n)];
x21=[0cos(2*pi*f2*n)0];x22=[00cos(2*pi*f2*n)];
y1=x11.*x12;y2=x21.*x22;
yt=a*y1+b*y2;
y=(a*x11+b*x21).*(a*x12+b*x22);
d=y-yt;
subplot(3,1,1)
stem([0n0],y);
ylabel('振幅');
title('加权输入:
a\cdotx_{1}[n]+b\cdotx_{2}[n]的输出');
subplot(3,1,2)
stem([0n0],yt);
ylabel('振幅');
title('加权输出:
a\cdoty_{1}[n]+b\cdoty_{2}[n]');
subplot(3,1,3)
stem([0n0],d);
xlabel('时间序号n');ylabel('振幅');
title('差信号');
仿真结果如下所示:
这两个序列不相等,该系统不是线性系统。
Q2.13采用三个不同的延时变量D的值重做习题Q2.12。
解:
三个不同的延时D分别为2612,图形分别见下图:
D=2;
D=6;
D=12;
该系统是时不变系统,满足y[n-D]=yd[n]。
Q2.15在非零的初始条件下重做习题Q2.12,该系统是时不变系统吗?
解:
设ic=[510];
仿真结果如下所示:
该仿真结果说明该系统是时变系统。
Q2.17考虑另一个系统:
y[n]=nx[n]+x[n-1],修改程序P2.4,以仿真上面的系统并确定该系统是否为时不变系统。
解:
%程序P2_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];
nd=0:
length(xd)-1;
y=(n.*x)+[0x(1:
40)];
yd=(nd.*xd)+[0xd(1:
length(xd)-1)];
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-10]的输出');grid;
subplot(3,1,3)
stem(n,d);
xlabel('时间序号n');ylabel('振幅');
title('差值信号');
grid;
仿真结果如下所示:
从仿真结果看,该系统是时变系统。
Q2.19运行程序P2.5,生成式(2.15)所给的离散系统的冲激响应。
解:
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;
仿真结果如下所示:
Q2.21利用filter命令编写一个MATLB程序,生成式(2.17)给出的因果线性时不变系统的冲激响应,计算并画出前40个的样本。
把你的结果和习题Q2.20中得到的结果相比较。
%ProgramQ2_21
%Computetheimpulseresponsey
clf;
N=40;
num=[0.9-0.450.350.002];
den=[1.00.71-0.46-0.62];
%input:
unitpulse
x=[1zeros(1,N-1)];
%output
y=filter(num,den,x);
%Plottheimpulseresponse
%NOTE:
thetimeaxiswillbeWRONG;h[0]will
%beplottedatn=1;butthiswillagreewith
%theINCORRECTplottingthatwasalsodone
%byprogramP2_5.
stem(y);
xlabel('Timeindexn');ylabel('Amplitude');
title('ImpulseResponse');grid;
仿真结果如下所示:
Q2.23运行程序P2.6,计算输出序列y[n]和y2[n]以及差值信号d[n]。
y[n]和y2[n]相等吗?
%ProgramP2_6
%CascadeRealization
clf;
x=[1zeros(1,40)];%Generatetheinput
n=0:
40;
%Coefficientsof4thordersystem
den=[11.62.281.3250.68];
num=[0.06-0.190.27-0.260.12];
%Computetheoutputof4thordersystem
y=filter(num,den,x);
%Coefficientsofthetwo2ndordersystems
num1=[0.3-0.20.4];den1=[10.90.8];
num2=[0.2-0.50.3];den2=[10.70.85];
%Outputy1[n]ofthefirststageinthecascade
y1=filter(num1,den1,x);
%Outputy2[n]ofthesecondstageinthecascade
y2=filter(num2,den2,y1);
%Differencebetweeny[n]andy2[n]
d=y-y2;
%Plotoutputanddifferencesignals
subplot(3,1,1);
stem(n,y);
ylabel('Amplitude');
title('Outputof4thorderRealization');grid;
subplot(3,1,2);
stem(n,y2)
ylabel('Amplitude');
title('OutputofCascadeRealization');grid;
subplot(3,1,3);
stem(n,d)
xlabel('Timeindexn');ylabel('Amplitude');
title('DifferenceSignal');grid;
仿真结果如下所示:
y(n)和y2(n)相等。
Q2.25用任意的非零初始向量ic,ic1和ic2来重做习题Q2.23。
clf;
x=sin(2*pi*0.2*n);%Generatetheinput
n=0:
40;
%Coefficientsof4thordersystem
den=[11.62.281.3250.68];
num=[0.06-0.190.27-0.260.12];
xi=[1234];
%Computetheoutputof4thordersystem
y=filter(num,den,x,xi);
%Coefficientsofthetwo2ndordersystems
num1=[0.3-0.20.4];den1=[10.90.8];
num2=[0.2-0.50.3];den2=[10.70.85];
xi1=[12];
%Outputy1[n]ofthefirststageinthecascade
y1=filter(num1,den1,x,xi1);
xi2=[34];
%Outputy2[n]ofthesecondstageinthecascade
y2=filter(num2,den2,y1,xi2);
%Differencebetweeny[n]andy2[n]
d=y-y2;
%Plotoutputanddifferencesignals
subplot(3,1,1);
stem(n,y);
ylabel('Amplitude');
title('Outputof4thorderRealization');grid;
subplot(3,1,2);
stem(n,y2)
ylabel('Amplitude');
title('OutputofCascadeRealization');grid;
subplot(3,1,3);
stem(n,d)
xlabel('Timeindexn');ylabel('Amplitude');
title('DifferenceSignal');grid;
仿真结果如下图所示:
Q2.27用任意非零初始向量ic,ic1和ic2来重做习题Q2.26。
%ProgramP2.27
%CascadeRealization
clf;
x=[1zeros(1,40)];%Generatetheinput
n=0:
40;
%Coefficientsof4thordersystem
den=[11.62.281.3250.68];
num=[0.06-0.190.27-0.260.12];
ic=[410212]
%Computetheoutputof4thordersystem
y=filter(num,den,x,ic);
%Coefficientsofthetwo2ndordersystems
num1=[0.3-0.20.4];den1=[10.90.8];
num2=[0.2-0.50.3];den2=[10.70.85];
%Outputy1[n]ofthefirststageinthecascade
y1=filter(num2,den2,x,ic(1:
2));
%Outputy2[n]ofthesecondstageinthecascade
y2=filter(num1,den1,y1,ic(3:
4));
%Differencebetweeny[n]andy2[n]
d=y-y2;
%Plotoutputanddifferencesignals
subplot(3,1,1);
stem(n,y);
ylabel('Amplitude');
title('Outputof4thorderRealization');grid;
subplot(3,1,2);
stem(n,y2)
ylabel('Amplitude');
title('OutputofCascadeRealization');grid;
subplot(3,1,3);
stem(n,d)
xlabel('Timeindexn');ylabel('Amplitude');
title(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 实验 离散 时间 系统 时域 分析