湖南大学信号与系统实验七.docx
- 文档编号:28694791
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:34
- 大小:652.91KB
湖南大学信号与系统实验七.docx
《湖南大学信号与系统实验七.docx》由会员分享,可在线阅读,更多相关《湖南大学信号与系统实验七.docx(34页珍藏版)》请在冰豆网上搜索。
湖南大学信号与系统实验七
一.实验目的:
(1)、掌握用MATLAB绘制离散信号波形图的方法,学会常见波形的绘制;
(2)、掌握用MATLAB绘制离散信号的周期性的方法,掌握离散信号能量的计算方法;
(3)、学习并掌握用迭代法求解差分方程的方法;
(4)、掌握MATLAB离散卷积运算的数值方法和解析方法,加深对离散卷积的理解;
二.实验内容:
(1)k=-20:
20;
f=cos(k*pi/8);
stem(k,f,'filled');
此处取W=pi/8
(2)k=-20:
20;
f=sin(k*pi/8);
stem(k,f,'filled');
此处取W=pi/8
(3)
functiondszsu(c,a,k1,k2)
%c:
指数序列的幅度
%a:
指数序列的底数
%k1:
绘制序列的起始序号
%k2:
绘制序列的终止序号
k=k1:
k2;
x=c*(a.^k);
stem(k,x,'filled')
holdon
plot([k1,k2],[0,0])
holdoff
调用函数:
dszsu(1,5/4,0,40)
xlabel('k')
title('f1(k)')
调用函数:
dszsu(1,-3/4,0,40)
xlabel('k')
title('f1(k)')
(4)
functiondwxulie(k1,k2,f1,f2,f3)
k=k1:
k2;
n=length(k);
f=zeros(1,n);
f(1,-f1-k1+1)=2;
f(1,-f2-k1+1)=1;
f(1,-f3-k1+1)=-3;
stem(k,f,'filled')
axis([k1,k2,-4,4])
调用函数
dwxulie(-8,8,5,0,-6);
(5)
function[f,k]=lsxj(f1,f2,k1,k2)
%实现f(k)=f1(k)+f2(k),f1,f2,k1,k2是参加运算的二离散序列及其对应的时间序列向量,f和k
为返回的和序列及其对应的时间序列向量
k=min(min(k1),min(k2)):
max(max(k1),max(k2));%构造和序列的长度
s1=zeros(1,length(k));s2=s1;%初始化新向量
s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;%将f1中在和序列范围
内但又无定义的点赋值为零
s2(find((k>=min(k2))&(k<=max(k2))==1))=f2;%将f2中在和序列范围内
但又无定义的点赋值为零
f=s1+s2;%两长度相等序列求和
stem(k,f,'filled')
axis([(min(min(k1),min(k2))-1),(max(max(k1),max(k2))+1),(min(f)-0.5),(max(f)+0.5)])
%坐标轴显示范
调用函数
k1=-5:
10;
f1=ones(1,length(k1));
k2=6:
12;
f2=ones(1,length(k2));
subplot(1,3,1);
stem(k1,f1,'filled')
axis([-5,10,-2.5,2.5]);
subplot(1,3,2);
stem(k2,f2,'filled');
axis([6,12,-2.5,2.5]);
subplot(1,3,3);
[f,k]=lsxj(f1,f2,k1,k2);
axis([0,12,-2.5,2.5]);
(6)
k=-5*pi:
5*pi;
f=(0.9.^k).*cos(k*pi/5);
stem(k,f,'filled');
(7)
k=0:
40;
f=(0.8.^k).*ones(1,length(k));
stem(k,f,'filled');
(8)
functionjyxulie(k1,k2,k0)
k=k1:
-k0-1;
kk=-k0:
k2;
n=length(k);
nn=length(kk)
u=zeros(1,n);%k0前信号赋值为零
uu=ones(1,nn);%k0后信号赋值为一
stem(kk,uu,'filled')
holdon
stem(k,u,'filled')
holdoff
title('单位阶跃序列')
axis([k1k201.5])
调用函数:
jyxulie(-3,8,0)
(9)
functiondwxulie(k1,k2,k0)
k=k1:
k2;
n=length(k);
f=zeros(1,n);
f(1,-k0-k1+1)=1;%在k0时刻,信号赋值为一
stem(k,f,'filled')
axis([k1,k2,0,1.5])
title('单位序列d(k)')
调用函数;
dwxulie(-5,5,0);
function[f,k]=lsfz(f1,k1)
f=fliplr(f1);k=-fliplr(k1);
%调用fliplr函数实现向量f1和k1的反折
stem(k,f,'filled')
axis([min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5])
function[f,k]=lsyw(ff,kk,k0)
%ff,kk是未平移前的离散序列及其对应的时间序列向量,k0是平移量,f和k为返回的平移之后的序列及其对应的时间序列向量
k=kk+k0;f=ff;
stem(k,f,'filled')
axis([min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5])
调用函数
k=-2:
4;
f=0.8.^k;
subplot(2,3,1);
stem(k,f,'filled');
axis([-6,6,0,1.5]);
title('f(k)');
subplot(2,3,2)
[f1,k1]=lsfz(f,k);
axis([-6,6,0,1.5]);
title('f(-k)');
subplot(2,3,3);
[f2,k2]=lsyw(f,k,3);
axis([-6,6,0,1.5]);
title('f(k-3)');
subplot(2,3,4);
[f3,k3]=lsyw(f,k,-3);
axis([-6,6,0,1.5]);
title('f(k+3)');
subplot(2,3,5);
[f4,k4]=lsyw(f1,k1,-2);
axis([-6,6,0,1.5]);
title('f(-k-2)');
subplot(2,3,6);
[f5,k5]=lsyw(f1,k1,2);
axis([-6,6,0,1.5]);
title('f(-k+2)');
subplot(2,2,1);
k1=1:
4;
f1=ones(1,length(k1));
k2=5:
10;
f2=zeros(1,length(k2));
k3=-1:
0;
f3=zeros(1,length(k3));
stem(k1,f1,'filled');holdon
stem(k2,f2,'filled');holdon
stem(k3,f3,'filled');
axis([-1,10,-0.5,1.5]);
subplot(2,2,2);
k4=1:
2;
f4=ones(1,length(k4));
k5=3:
7;
f5=zeros(1,length(k5));
stem(k4,f4,'filled');holdon
stem(k5,f5,'filled');holdon
stem(k3,f3,'filled');
axis([-1,7,-0.5,1.5]);
subplot(2,2,3);
k6=[24]
f6=[11]
k7=[3]
f7=[0]
k8=-1:
1;
f8=zeros(1,length(k8));
k9=5:
9;
f9=zeros(1,length(k9));
stem(k6,f6,'filled');holdon
stem(k7,f7,'filled');holdon
stem(k8,f8,'filled');holdon
stem(k9,f9,'filled');
axis([-1,9,-0.5,1.5]);
subplot(2,2,4);
k10=2:
3;
f10=ones(1,length(k10));
k11=-1:
1;
f11=zeros(1,length(k11));
k12=4:
10;
f12=zeros(1,length(k12));
stem(k10,f10,'filled');holdon
stem(k11,f11,'filled');holdon
stem(k12,f12,'filled');
axis([-1,10,-0.5,1.5])
functiony=recur(a,b,n,f,f0,y0);
N=length(a);y=[y0zeros(1,length(n))];
M=length(b)-1;f=[f0f];
a1=a(N:
-1:
1);
b1=b(M+1:
-1:
1);
fori=N+1:
N+length(n),
y(i)=-a1*y(i-N:
i-1)'+b1*f(i-N:
i-N+M)';
end
y=y(N+1:
N+length(n));
调用函数
a=[-1.51];b=[002];
y0=[21];f0=[00];
k=0:
30;
subplot(2,1,1)
f=ones(1,length(k));
y=recur(a,b,k,f,f0,y0);
stem(k,y,'o'),
xlabel('k'),ylabel('y(k)')
subplot(2,1,2)
n=length(k);
f=zeros(1,n);
f(1,1)=1;
y=recur(a,b,k,f,f0,y0);
stem(k,y,'o'),
xlabel('k'),ylabel('y(k)')
(1)
a=[1-1.51]
b=[002];
t=0:
30;
x=ones(1,length(t));
y=filter(b,a,x);
stem(t,y);
title('离散系统单位阶跃响应')
xlabel('k');
ylabel('g(k)')
(2)a=[1-1.51]
b=[002];
impz(b,a);
title('离散系统单位样值响应')
1.
a=[1-1-2]
b=[1];
subplot(1,2,1);
impz(b,a);
title('离散系统单位样值响应')
subplot(1,2,2);
t=0:
15;
x=ones(1,length(t));
y=filter(b,a,x);
stem(t,y);
title('离散系统单位阶跃响应')
xlabel('k');
ylabel('g(k)')
2.
a=[10-8]
b=[1-1];
subplot(1,2,1);
impz(b,a);
title('离散系统单位样值响应')
subplot(1,2,2);
t=0:
15;
x=ones(1,length(t));
y=filter(b,a,x);
stem(t,y);
title('离散系统单位阶跃响应')
xlabel('k');
ylabel('g(k)')
3.
a=[1-10.9]
b=[1];
subplot(1,2,1);
impz(b,a);
title('离散系统单位样值响应')
subplot(1,2,2);
t=0:
15;
x=ones(1,length(t));
y=filter(b,a,x);
stem(t,y);
title('离散系统单位阶跃响应')
xlabel('k');
ylabel('g(k)')
4.
a=[2-21]
b=[132];
subplot(1,2,1);
impz(b,a);
title('离散系统单位样值响应')
subplot(1,2,2);
t=0:
15;
x=ones(1,length(t));
y=filter(b,a,x);
stem(t,y);
title('离散系统单位阶跃响应')
xlabel('k');
ylabel('g(k)')
(1)
a=[1-0.250.5];
b=[11];
t=0:
20;
x=(1/2).^t;
y=filter(b,a,x)
subplot(2,1,1)
stem(t,x)
title('输入序列')
subplot(2,1,2)
stem(t,y)
title('响应序列')
(2)
a=[121];
b=[1];
t=0:
20;
x=(1/4).^t;
y=filter(b,a,x)
subplot(2,1,1)
stem(t,x)
title('输入序列')
subplot(2,1,2)
stem(t,y)
title('响应序列')
(3)
a=[144];
b=[13];
t=0:
20;
x=exp(-t);
y=filter(b,a,x)
subplot(2,1,1)
stem(t,x)
title('输入序列')
subplot(2,1,2)
stem(t,y)
title('响应序列')
function[f,k]=dconv(f1,f2,k1,k2)
%Thefunctionofcomputef=f1*f2
%f:
卷积和序列f(k)对应的非零样值向量
%k:
序列f(k)的对应序号向量
%f1:
序列f1(k)非零样值向量
%f2:
序列f2(k)的非零样值向量
%k1:
序列f1(k)的对应序号向量
%k2:
序列f2(k)的对应序号向量
f=conv(f1,f2)%计算序列f1与f2的卷积和f
k0=k1
(1)+k2
(1);%计算序列f非零样值的起点位置
k3=length(f1)+length(f2)-2;%计算卷积和f的非零样值的宽度
k=k0:
k0+k3%确定卷积和f非零样值的序号向量
subplot(2,2,1)
stem(k1,f1)%在子图1绘序列f1(k)时域波形图
title('f1(k)')
xlabel('k')
ylabel('f1(k)')
subplot(2,2,2)
stem(k2,f2)%在图2绘序列f2(k)时波形图
title('f1(k)')
xlabel('k')
ylabel('f2(k)')
subplot(2,2,3)
stem(k,f);%在子图3绘序列f(k)的波形图
title('f(k)f1(k)与f2(k)的卷积和f(k)')
xlabel('k')
ylabel('f(k)')
h=get(gca,'position');
h(3)=2.5*h(3);
set(gca,'position',h)%将第三个子图的横坐标范围扩为原来的2.5倍
调用函数
(1)
k1=0:
20;
f1=sin(0.2*k1);
k2=0:
10;
f2=sin(0.5*k2);
[f,k]=dconv(f1,f2,k1,k2);
(2)k1=0:
20;
f1=0.9.^k1;
k2=0:
10;
f2=0.8.^k2;
[f,k]=dconv(f1,f2,k1,k2);
(3)
k1=0:
20;
f1=0.3.^k1;
k2=0:
10;
f2=0.5.^k2;
[f,k]=dconv(f1,f2,k1,k2);
(4)
k1=-2:
7;
f1=ones(1,length(k1));
k2=3:
10;
f2=ones(1,length(k2));
[f,k]=dconv(f1,f2,k1,k2);
axis([-10,30,-3,10])
(5)
k1=-3:
4;
f1=0.5.^k1;
k2=0:
10;
f2=0.5.^k2;
[f,k]=dconv(f1,f2,k1,k2);
axis([-10,20,-10,10])
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖南大学 信号 系统 实验