打印

matlab 对两个时域函数求卷积的函数是什么?

[复制链接]
9220|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本人最近在搞一个pwm信号转直流信号的电路其框图如下:

Vi(t)、系统传递函数已知,要求的是Vo(t)。我的思路是先把传递函数进行拉普拉斯逆变换的到一个时域函数M,然后把M与Vi(t)进行卷积,得到的结果应该是Vo(t)。不知到这个思路对不对,想跟大家一起讨论下!
还有一个就是怎样在matlab中对两个时域函数进行卷积,不是把他们离散的那种。

相关帖子

沙发
HWM| | 2011-9-18 21:09 | 只看该作者
既然已经用到了“拉普拉斯逆变换”,那不如将输入(Vi)经拉普拉斯变换后乘传递函数,然后再逆变换得时域输出(Vo)。

使用特权

评论回复
板凳
wangjun403| | 2011-9-18 22:24 | 只看该作者
matlab只能对有限长的序列进行卷积,不然计算机是处理不了的
你必须先离散

使用特权

评论回复
地板
virtualtryon| | 2011-9-19 08:29 | 只看该作者
可以用matlab的符号运算.
连续卷积实际上是积分.x(t)*y(t)= ∫x(m)y(t-m)dm.用matlab的不定积分就可以完成了.

使用特权

评论回复
5
longjun198806|  楼主 | 2011-9-19 20:30 | 只看该作者
其实输入信号是一个 +-5v的方波,按你的思路就是想把输入信号进行拉普拉斯变化,再与G相乘之后再对其进行逆变化,这样的话确实会方便一下,可是我不知道+-5v的方波的拉普拉斯变换后的函数,所以才用到了后面的卷积

使用特权

评论回复
6
wangjun403| | 2011-9-20 10:44 | 只看该作者
假方波信号周期为T,u(t)为阶跃信号
+-5v的方波可以这样表示
5*( u(t+NT)-2u(t-T/2+NT)+u(t+T+NT) )
自己算下拉普拉斯吧

PS:可能对,也可能不对,自己好好看看

使用特权

评论回复
7
longjun198806|  楼主 | 2011-9-20 21:27 | 只看该作者
其实主要的问题不是一个+-5v方波信号的时域函数形式,把方波转换成一个步长很小很小的序列(因为频率比较大,所以需要步长很小), matlab不知道要多久才能算的出来,上次试了一下5分钟都没算出来,步长是10^-12,唉!总的来讲我觉得我帖子里提到的思路应该不会错,因为我拿一个比较经典的积分电路试过,结果没错!

使用特权

评论回复
8
highgear| | 2011-9-20 23:26 | 只看该作者
不知道楼主的目的是什么,求解析解还是数值解。

如果是解析解,如果你不是一个微积分超人那么就忘掉时域卷积吧。时域的卷积在 s 域为乘积,因此很容易得到输出:输入乘以传递函数,然后变换到时域可得 Vo(t),这一步也可以使用 matlab 来做,不过最后的结果不一定很精简。

如果是数值解,那么你该打,你几个帖子也没有说明要做什么,不要让人费神猜测你的目的,去回答这种笼统空泛的题目。
如果是数值解,忘掉时域卷积吧,卷积运算量极大。可以通过 Vo(s) = Vi(s)*G(s) 的脉冲响应 (impulse 命令)得到输出,也可用 lsim 命令通过时域输入与 G(s) 得到输出。

使用特权

评论回复
9
ar_dong| | 2011-9-21 09:25 | 只看该作者
conv好像

使用特权

评论回复
10
longjun198806|  楼主 | 2011-9-22 11:49 | 只看该作者
8楼的朋友说的对,确实该打,我一定会改正,原来MATLAB里还有这样的已知输入和传递函数可求输出的LSIM.受教育了啊,,,,,,,,,,,,,,,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

24

帖子

1

粉丝