我是靠谱客的博主 怕孤独毛豆,最近开发中收集的这篇文章主要介绍MATLAB&Simulink的重复方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MATLAB&Simulink的重复方式

以Simulink里面的repeat的模块为例再了解一下MATLAB的frame basedsample based的两种处理方式。

repeat的参考页面

repeat就是进行重复,除了指定重复率(L)之外,还有几种常用的重复设置,这些设置选项在downsample等等模块当中也很常见。从两种重复思路Frame-Based ProcessingSample-Based Processing来说。

沿着原来的例子操作,搞一下原网页没说清楚的内容。与原网页的设置一致,这里假设输入数据的形状为(M_i-by-N),上采样率为(L)

Frame-Based Processing

  • Enfore single-rate processing:此时输入数据是(N)个不同的通道,此时采样的时候是对每个通道进行上采样。因为是single-rate processing,所以输入输出的数据速率是一样的。所以上采样的数据会在行的方向扩展。比如说2倍上采样,那么(M_i)行数据会间隔重复,变成(2M_i)行。所以最终输出数据格式为(2M_i-by-N)
  • Allow multirate processing:此时仍然是(N)个独立的通道,但是因为是multirate,所以输入输出的形状是一样的。假如说上采样率是2,那么假如说有(M_i-by-N)的数据进去,你得到的就应该是两个重复的(M_i-by-N)的数据(注意不是把相邻通道重复)其实就是上面间隔的结果拆分,也就是说原来一个样本的时间周期内,输出应该是single rate下上半段加上single rate下半段。

举个例子,输入为reshape(1:16,8,2),2倍repeat,采样时间为1,multi rate下得到的样本为

simout(:,:,1)=
     1     9
     1     9
     2    10
     2    10
     3    11
     3    11
     4    12
     4    12
simout(:,:,2)=
     5    13
     5    13
     6    14
     6    14
     7    15
     7    15
     8    16
     8    16

single rate下得到的样本为

simout(:,:,1)=

     1     9
     1     9
     2    10
     2    10
     3    11
     3    11
     4    12
     4    12
     5    13
     5    13
     6    14
     6    14
     7    15
     7    15
     8    16
     8    16

Sample-Based Processing

  • 他会把(M_i-by-N)的输入当成是(M_i times N)个独立的通道。repeat模块此时只有一个选项就是multirate。假如说上采样率是2,那么假如说有(M_i-by-N)的数据进去,你得到的就应该是两个重复的(M_i-by-N)的数据(注意不是把上面的间隔重复)。这时候对于repeat模块来说只有multirate可选。
  • 其他情况:
    • 对于downsample模块结果会有些不同;这里允许single rate的选项。但是这里的结果说出来有点扯蛋的是,实际上这里还是会进行时域上的采样,但是输出的size和sample time都一样,实际上这里被采掉的部分做了个前面的重复。似乎不太像是真正的采样了。

同样是上面的设置,因为这里是对时间进行重复所以完全看不来任何变化就是重复的

simout(:,:,1)=
     1     9
     2    10
     3    11
     4    12
     5    13
     6    14
     7    15
     8    16
simout(:,:,2)=
     1     9
     2    10
     3    11
     4    12
     5    13
     6    14
     7    15
     8    16

总结就是,这里说的通道就是进行操作的牢锢。比如说Frame Based的情况下,columns就是通道,所以就对列进行操作,而不是时域上的操作。sample Based的情况就是每个样本都是通道,对时域上进行操作。

以上。

posted on 2018-12-28 21:35  luckfyzh 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lafiizh/p/10193003.html

最后

以上就是怕孤独毛豆为你收集整理的MATLAB&Simulink的重复方式的全部内容,希望文章能够帮你解决MATLAB&Simulink的重复方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部