embedded matlab subset中的帧信号(frame-based signals)

  以下内容参考matlab的help文档Simulink/User's Guide/Managing Blocks/Using the Embedded MATLAB Function Block/Working with Frame-Based Signals

 

 

关于frame-based signal

    embedded matlab function模块可以输入输出帧信号。一帧数据就是单通道或多通道的序列信号采样的集合。若想产生帧信号,必须安装Signal Processing Blockset。

    embedded matlab function模块按以下规则处理输入的帧信号:

  1. 将单通道帧信号转换为matlab中的向量(N×1);
  2. 将多通道帧信号转换为matlab中的矩阵。一个M×N的矩阵表示N个独立通道的M个连续样值。

    为了可以将向量或矩阵转换为帧信号,embedded matlab提供了一种叫“Sampling mode” 数据属性使得用户可以选择输出是帧信号还是sample-based信号。

 

 

"Sampling mode"的修改

     首先注意一点:输入端口是没有"Sampling mode"这个属性的,所以embedded matlab function block中不能选择输入是Frame-based还是Sample-based。

     “Sampling mode”可以再Model Explorer(Ctrl+h,或者模型浏览器中的View->Model Explorer中启动)中修改,也可以再Ports and Data Manager(从embedded matlab editor中的tools->edit data/ports中启动),详见“Embedded matlab function中参数parameter的设置问题 "这篇文章。

 

 

 

一个例子

  该例子中,单通道变双通道,并且对输入的帧信号做3倍增益作为一路输出。模型如下:

  embedded matlab subset中的帧信号(frame-based signals)_第1张图片

 

  ”Sampling mode“的设置如图:

embedded matlab subset中的帧信号(frame-based signals)_第2张图片  

 

   embedded matlab function模块中的代码如下:

   function y = fcn(u) %#eml x=ones(6,1); y=[u*3 x]; 

 

   Vector Scope 如下图:

   embedded matlab subset中的帧信号(frame-based signals)_第3张图片

你可能感兴趣的:(function,vector,manager,matlab,processing,Signal)