matlab计算两个有限长序列的卷积,并附上程序和图形结果。

已知系统输入信号X(n)=u(n)-u(n-10),系统的脉冲响应h(n)=(-0.65)^n*U(n)(1)用卷积求系统单位阶跃响应;(2)用matlab计算两个有限长... 已知系统输入信号X(n)=u(n)-u(n-10),系统的脉冲响应h(n)=(-0.65)^n*U(n)
(1) 用卷积求系统单位阶跃响应;
(2) 用matlab计算两个有限长序列的卷积,并附上程序和图形结果。
展开
 我来答
三野深月11
2016-05-17 · TA获得超过360个赞
知道小有建树答主
回答量:338
采纳率:100%
帮助的人:61.1万
展开全部
原理方法
1
基本数学原理
我们假设有两个长度有限的任意序列A(n)和B(n),其中A(n)和B(n)的具体数学表达式可以看下图一。那么这两个有限长序列的卷积就应该为C(n)=A(n)*B(n),其具体表达式请参看一下图二。

2
相关函数指令
Matlab中的conv和deconv指令不仅可以用于多项式的乘除运算,还可以用于两个有限长序列的卷积和解积运算。
Matlab提供的函数conv,语法格式:w=conv(u,v),其中u和v分别是有限长度序列向量,w是u和v的卷积结果序列向量。如果向量u和v的长度分别为N和M,则向量w的长度为N+M-1.如果向量u和v是两个多项式的系数,则w就是这两个多项式乘积的系数。下面我们看一下deconv指令。功能:求向量反褶积和进行多项式除法运算。语法格式:[q,r]=deconv(v,u) ,参数q和r分别返回多项式v除以多项式u的商多项式和余多项式。具体实例请看下一步。

3
conv和deconv指令实例
具体实例请看下图,这里我们求多项式(x2+2x+1)与多项式(2x2+x+3)的积,再求积与(x2+2x+1)的商。需要注意的是向量c代表多项式(2x4+5x3+7x2+7x+3)。

END
两个有限长序列的卷积实例
具体序列的数学形式
在这一步我们将具体的有限长时间序列按数学方式显示,具体请看下图。

解法一:循环求合法求卷积
在本例中我们将按照原理方法第一步中图二的方式进行卷积计算,即循环求合法求卷积。具体的代码及结果请看下图。图一是是生成有限长度时间序列,图二是根据原理方法第一步中图二的方式即循环求合法求卷积的具体代码,图三是是图二的计算结果。

解法二:0起点序列法
下面就说一下第二种方法,即“0起点序列法”,所采用的指令就是我们在原理方法中介绍的conv函数指令。具体代码看下图。

解法三:非平凡区间序列法
下面就说一下第二种方法,即“0起点序列法”,所采用的指令就是我们在原理方法中介绍的conv函数指令。具体代码看下图。图一为计算代码,图二为计算结果。

绘图比较
这一步我们将解法二和解法三的计算结果绘制在一张图片中进行比较,其中第一幅是“0起点法”的计算结果图,第二幅是“非平凡区间法”的计算结果图。其中画图代码为:
subplot(2,1,1),stem(kc,c),text(20,6,'0 起点法') %画解法二的结果
CC=[zeros(1,KC(1)),C]; %补零是为了两子图一致
subplot(2,1,2),stem(kc,CC),text(18,6,'非平凡区间法') %画解法三的结果
xlabel('n')

小结
有以上可以得出如下结论:
1、“解法三”最简洁、通用;
2、“解法二”使用于序列起点时刻N1或(和)M1小于0的情况,比较困难;
3、“解法一”最繁琐,效率低下。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式