matlab三角波发生器精度改为定点型,关于matlab simulink中三角波模块的问题!

问题描述:

关于matlab simulink中三角波模块的问题!

为什么我把时间参数换一下,产生的三角波会越来越乱,最后干脆不产生了?

1个回答

分类:

综合

2014-11-20

问题解答:

我来补答

“repeating sequence ”这个模块产生的波形是根据“time values ”和“output values ”两个值确定的,就是说: time values =[ t1 t2 .tn],output values =[ v1 v2 .vn]这样产生的波形是:在t1时刻波形的幅值是v1、t2时刻波形的幅值是v2……tn时刻波形的幅值是vn,之后,重复这一波形.波形的重复次数跟你simulink时候的simlulation stop time值有关.

另外,你的最后一个图,time values =[ 0 0.001],output values =[ 1 2],你把simlulation stop time设成0.01,会看到三角波的~

再问: 按照您说的确实出来了三角波,output[1 2] 但是三角波幅值在1.8,2之间跳动 这是怎么回事?然后我出来的三角波为什么会和simlulation stop time有关,要是我需要连续输出1秒的三角波呢??

再答: 我的理解是matlab计算和scope的显示都是是有误差的,所以会波动…… simlulation stop time是总的仿真时间,你的time values 是0~0.001,就是波形的周期是0.001秒,如果仿真时间是1,那就是要仿真1秒,这样就的有1/0.001=1000个三角波,估计scope的显示没这么高的精度,所以,就看不到…… 你仿真1s的时候,scope看到的是直线,是它显示的问题,真实的数据是有的,你用“to workspace”模块,双击它把采样时间设成“0.0001”(比你在time values 里设的时间要短,不然还是什么都采样不出来),然后运行。simlulink里运行完之后,到matlab界面下的workspace里找“simout”变量,“simout”是个结构体,它的“signal”成员里的“values”子成员是个数组,在这个数组里你会看到“repeating sequence ”产生的值~

展开全文阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值