差分方程的迭代解法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验23 迭代法及离散卷积的计算
1
实验目的


学习用Matlab计算离散信号的功率和能量。
学习并掌握用迭代法求解差分方程的方法 。 掌握用Matlab进行离散卷积运算的数值方法 和解析方法。加深对离散卷积的理解。
2
实验原理与说明
离散信号的能量与功率
与连续信号类似,离散信号也可分为能量信号和 功率信号。对于非周期信号,信号能量定义为
差分方程的迭代解法
a y (k i ) b f (k i )
i 0 i i 0 l
N
M
y (k ) ai y (k i ) bi f (k i )
i 1 i 0
N
M
4
实验原理与说明
令上式中,有
y(0) a1 y(1) a 2 y(2) a N y( N ) b0 f (0) b1 f (1) bM f ( M )
1
0
其它
2
0
其它
解 用Matlab并调用DSCONV()函数,程序如下:
% 计算离散信号的卷积 exp23_2a.m n1=-2;f1=[2 2 2 2 2 2]; % 序列的起始点,序列值 n2=0;f2=[1 1 1 1 1 1]; % 序列的起始点,序列值 M=6; % 将卷积值显示在中间,左右插入M点 dsconv(f1,n1,f2,n2,M) 在命令窗口显示的卷积结果 y= 2 4 6 8 10 12 10 8 6 4 2
9
计算示例
例2 求下述差分方程的解 y(k ) 1.5 y(k 1) y(k 2) 2 f (k 2) y (2) 2 。 其中输入信号 f (k ) (k ) ,初始条件 y (1) 1 ,
解 Matlab程序如下: % 计算例2的程序 exp23_1.m a=[-1.5 1];b=[0 0 2]; y0=[2 1];f0=[0 0]; n=0:30; f=ones(1,length(k)); y=recur(a,b,n,f,f0,y0); stem(n,y,'.'), xlabel('k'),ylabel('y(k)')
y(1) a1 y(0) a 2 y(1) a N y( N 1) b0 f (1) b1 f (0) bM f ( M 1)
以此类推,通过反复迭代,就可以求出任意时
刻的响应值。这种迭代方法最适合用计算机计 算,下面我们用Matlab来实现这种计算。
10
运行程序后,系统响应波形如图7-13所示。
图23-1 例1的系统响应波形
11
例3 用Matlab求下列序列的卷积和。 (a) f1 (k ) [2, 2, 2 , 2, 2, 2] , f 2 (k ) [1, 1, 1, 1, 1, 1] 。 1 k 5 k 1 2k 2 (b) f (k ) , f (k )
12
运行后显示的波形如图23-2(a)所示。
图23-2 离散卷积的图形 (a)
13
% 计算离散信号的卷积 exp23_2b.m n1=-2:2;f1=[1 1 1 1 1]; % 序列的起始点,序列值 n2=1:5;f2=n2; % 序列的起始点,序列值 M=6; % 将卷积值显示在中间,左右插入M点 dsconv(f1,n1,f2,n2,M) 在命令窗口显示的卷积结果 y= 1 3 6 10 15 14 12 9 5 运行后显示的波形如图23-2(b)所示。

7
实验原理与说明
对于有限长序列,我们建立一个通用函数,它可
以计算并画出两个有限长序列卷积的结果和波形 。能使三个波形的横坐标统一,间隔相同。卷积 结果显示在横坐标的中间位置。这个函数取名为 DSCONV(),程序自己阅读.
8
计算示例
例1 计算下列离散信号的能量或功率。
f (k ) 3(0.5) k , k 0
14
图23-2 离散卷积的图形 (b)
15
实验内容
1、画出下列各信号的波形,求能量或功率。 (a) f (k ) [6, 4, 2, 2]

(b) f (k ) [3, 2, 1, 0, 1] (c) f (k ) cos(0.5k ) (d) f (k ) 8(0.5) k (k )
5
实验原理与说明
百度文库
迭代计算的一般规律
y (k ) ai y (k i ) bi f (k i )
i 1 i 0
N
M

第一项
a y(k i) a
i 1 i
N
N
a N 1
y (k N ) y (k N 1 a1 y ( k 1 )

第二项与上类似
6
实验原理与说明
离散卷积的计算 Matlab信号处理工具箱提供了一个计算两个离散序列 卷积和的函数conv(),其调用格式为 y=conv(f,h) 式中,f、h分别为待卷积的两序列的向量表示,y是 卷积的结果。 如 >> f1=[2 2 2]; >> f2=[1 4 9]; >> y=conv(f1,f2) y = 2 10 28 26 18
E
k


f (k )
2
对于周期的离散信号,由于其能量无限大,故常
常用功率来作其测量参数。设有一周期为离散信 号,其功率定义为:
1 P N

k 0
N 1
f (k )
2
3
实验原理与说明
能量有限的信号称为能量信号。功率有限的信号称 为功率信号。所有周期信号都是功率信号。 离散序列的求和在MATLAB中可利用sum函数来实 现,其调用形式为 y=sum(f(n:m))
k=0:10;fk=3*(0.5).^k;E=sum(abs(fk).^2)
f (k ) 6 cos( 2 k / 4)
k=0:3;fk=6*cos(0.5*pi.*k); E=sum(abs(fk).^2);P=E/4
f (k ) 6e j 2 k / 4
k=0:3;fk=6*exp(j*0.5*pi.*k); E=sum(abs(fk).^2);P=E/4
相关文档
最新文档