- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab基础2015-3
—— 离散时间信号与系统
MATLAB基础
课程安排
内容
内容
离散时间系统的时域分析
1
单位样值(单位冲激)响应
常系数线性差分方程的求解
卷积、解卷积
常系数线性差分方程的求解
MATLAB 提供数值解法(即迭代法)计算差分方程的完全解。即给定传递函数、激励序列和边界条件后,用filter 函数得到输出序列
[y, wf] = filter(b, a, x, wi), wi 和wf分别表示系统的初始状态和终止状态
常系数线性差分方程的求解
ZN(n)=bNx(n)-aNy(n)
ZN-1(n)=ZN(n-1)+bN-1x(n)-aN-1y(n)
……
Z1(n)=Z2(n-1)+b1x(n)-a1y(n)
y(n)=Z1(n-1)+b0x(n)
wi = [Z1(-1), Z2(-1), ..., ZN(-1)]T
a = [1, -1, 0.24]; %定义差分方程左侧系数矢量a
b = [1, -1]; %定义差分方程右侧系数矢量b
n = [0:20]‘; %生成仿真序列时间n
x = n.^2; %生成激励信号x(n)
wi = [-a(3)*(-2)-a(2)*(-1),-a(3)*(-1)]; %定义初始状态wi
[y wf] = filter(b, a, x, wi); %滤波得到输出序列
常系数线性差分方程的求解
常系数线性差分方程的求解
a = [1, -0.9, 0.3];
b = 0.05;
n = [0:20];
u = (n=0); %生成激励序列u(n)
uz = zeros(size(u)); %生成零输入信号
wi1 = [-a(3); 0]; %定义两个初始状态
wi2 = [-a(2); -a(3)];
[yzs wf] = filter(b, a, [u,u]); %滤波得到零状态响应
[yzi wf] = filter(b, a, [uz,uz], [wi1,wi2]); %滤波得到零输入响应
[y wf] = filter(b, a, [u,u],[wi1,wi2]); %滤波得到完全响应
常系数线性差分方程的求解
常系数线性差分方程的求解
对处理一维信号(矢量)的函数,如果以二维信号(矩阵)作输入, 那么MATLAB会把它当成多个一维信号同时进行处理
和理论中常用的表达方法一样,MATLAB默认信号以列矢量形式表示
其他数学和逻辑函数也是如此
单位样值(单位冲激)响应
可以用filter 函数实现离散时间系统的单位样值响应
鉴于单位样值响应的重要性,MATLAB 提供了用impz 函数直接实现单位样值响应的方法
a = [1, -0.5, 0.6];
b = [1, 0, -0.3];
n = [0:20];
[hi, t] = impz(b,a,n); %用impz函数计算单位样值响应hi(n)
x = (n == 0); %以单位样值序列为激励信号
hf = filter(b,a,x); %经filter函数滤波得到hf(n)
单位样值(单位冲激)响应
两种方法得到的结果完全相同
卷积、解卷积
conv 函数可以计算离散时间卷积和
根据筛选特性,序列通过线性系统就是序列和系统单位样值响应进行卷积,因而卷积运算也可以用filter函数实现,即将两个待卷积序列分别理解为系统单位样值响应和激励序列
a = 0.8; %定义系数a=0.8
N = 6; %定义激励长度N=6
n = [0:20]‘; %定义时间
h = (a.^n).*(n=0); %生成单位样值响应h(n)
x = (n=0nN); %生成激励信号x(n)
yc = conv(h, x); %用conv计算卷积,注意yc长度变化(方法1:直接卷积)
yf1 = filter(x, 1,
文档评论(0)