zoukankan      html  css  js  c++  java
  • 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 imes 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的情况就是每个样本都是通道,对时域上进行操作。

    以上。

  • 相关阅读:
    巩固基础前台
    super 、static、final关键字加深记忆哦!还有父子类构造函数调用问题
    java异常了解
    spring粗略整体认识
    java枚举新认识
    泛型集合注意事项
    java反射基础
    对java集合类的认识——基础很重要
    多线程(C++ And POSIX)
    v2代理原理,应用
  • 原文地址:https://www.cnblogs.com/lafiizh/p/10193003.html
Copyright © 2011-2022 走看看