主要内容

缓冲和框架处理

缓冲输入帧

多通道信号的帧尺寸1可以缓冲到多通道信号的帧的大小l使用缓冲块。l大于1。

下图是一个图形表示的信号帧大小1被转换成一个信号的帧的大小l由缓冲块。

在接下来的例子中,一个双通道1样本每帧信号缓冲成双通道4样品每帧信号使用缓冲块:

打开ex_buffer_tut模型。

双击信号从工作空间块。信号从工作区对话框打开。设置参数如下:

  • 信号= (1:10;1:1:-10)”

  • 样品时间= 1

  • 样品每帧= 1

  • 最后的数据值后的形式输出=设置为零

基于这些参数,信号从工作区块输出信号的帧长度1和一个示例1秒。因为你设置了样品每帧参数设置为1时,信号从工作区块输出双通道样本在每个样本一次。

保存这些参数并关闭对话框点击好吧

双击缓冲块。缓冲对话框打开。设置参数如下:

  • 每通道输出缓冲区大小()= 4

  • 缓冲重叠= 0

  • 初始条件= 0

因为你设置了输出缓冲区的大小参数设置为4,缓冲块输出帧信号帧大小4。

运行模型。

下图是一个图形化的解释在仿真模型的行为。

此外,您可以设置样品每帧信号从工作区中块的参数上面4和创建相同的信号不使用一个缓冲块。信号从工作区块执行内部缓冲,以输出一个双通道框架。

缓冲信号帧重叠

在某些情况下是有用的处理数据表示原始信号的重叠部分。例如,在估计信号的功率谱,通常需要计算FFT重叠部分的数据。重叠的缓冲区也需要计算统计数据在一个滑动窗口,或自适应滤波。

缓冲重叠缓冲块的参数指定数量的重叠点L .重叠情况下(L > 0),输出的帧周期(Mo-L) * Tsi, Tsi在哪里输入样本和密苏里州缓冲区大小

请注意:设置缓冲重叠参数一个负值来实现输出帧速率慢于不重叠的情况。输出帧周期仍然是Tsi * (Mo-L),但现在与L < 0。仅包括密苏里州最新输入输出缓冲区。前面的L输入被丢弃。

在接下来的例子中,一个四通道信号帧的长度是1和样品周期1是信号帧缓冲大小3和帧周期2。由于缓冲区重叠,输入样本时期并不保守,和输出样本周期是2/3:

打开ex_buffer_tut3模型。

另外,变量sp_examples_src是加载到MATLAB工作区。这个变量的定义如下:

sp_examples_src = [1 1 5 1;2 1 5 2;3 0 5 3;4 0 5 4;5 1 5 5;6 1 5 6);

双击信号从工作空间块。信号从工作区对话框打开。组块的参数如下:

  • 信号= sp_examples_src

  • 样品时间= 1

  • 样品每帧= 1

  • 形成最终的数据值后输出=设置为零

基于这些参数,信号从工作区块输出信号与示例1秒。因为你设置了样品每帧参数设置为1时,信号从工作区块输出四通道样本在每个样本一次。保存这些参数并关闭对话框点击好吧

双击缓冲块。缓冲对话框打开。设置块参数如下所示,然后单击好吧:

  • 每通道输出缓冲区大小()= 3

  • 缓冲重叠= 1

  • 初始条件= 0

因为你设置了输出缓冲区的大小参数3、缓冲块输出信号帧大小3。另外,因为你设置缓冲重叠参数1,最后一个样品从前面的输出帧是首样在接下来的输出帧。

运行模型。

下图是一个图形化的解释在仿真模型的行为。

在MATLAB命令提示符,键入sp_examples_yout

sp_examples_yout = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 5 1 2 1 2 2 1 2 3 5 0 5 3 4 5 0 5 4 4 0 4 5 1 5 5 6 5 6 6 1 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

注意,输入才开始出现在输出第五行,第二行第二帧。这是由于块延迟。

看到多余的算法延迟(任务延迟)关于算法的一般信息延迟。说明如何计算缓冲延迟,请参阅缓冲延迟和初始条件

缓冲帧输入到其他帧输入

在接下来的例子中,一个双通道信号帧尺寸4是rebuffered信号帧尺寸3和帧周期2。由于重叠,输入样本时期并不保守,和输出样本周期是2/3:

打开ex_buffer_tut4模型。

的变量sp_examples_src是加载到MATLAB工作区。这个变量的定义是:

sp_examples_src = [1 1;2 1;3 0;4 0;5 1;6 1;7 0;8 0]

双击信号从工作空间块。信号从工作区对话框打开。组块的参数如下:

  • 信号=sp_examples_src

  • 样品时间= 1

  • 样品每帧= 4

基于这些参数,信号从工作区块输出双通道信号样本的1秒内和外框尺寸为4。保存这些参数并关闭对话框点击好吧

双击缓冲块。缓冲对话框打开。设置块参数如下所示,然后单击好吧:

  • 每通道输出缓冲区大小()= 3

  • 缓冲重叠= 1

  • 初始条件= 0

基于这些参数,缓冲块输出双通道信号的帧尺寸3。

运行模型。

下图是在仿真模型的图形化表示行为。

注意,输入才开始出现在输出的最后一行第三输出矩阵。这是由于块延迟。

看到多余的算法延迟(任务延迟)关于算法的一般信息延迟。说明如何计算缓冲延迟,和看到的缓冲延迟和初始条件

缓冲延迟和初始条件

例子中缓冲信号帧重叠缓冲帧输入到其他帧输入,输入信号延迟了一定数量的样品。初始输出对应于指定的值的样本初始条件参数。初始条件为零在上面提到的例子。

在大多数情况下,缓冲Unbuffer块有一定的延迟或延迟。这延迟取决于块参数设置和仿真软件金宝app®任务模式。您可以使用rebuffer_delay函数来确定物体的长度延迟的任意组合帧大小和重叠。

的语法rebuffer_delay (f, n v)返回延迟,样本中,引入的缓冲和unbuffering块在多任务操作f是输入帧大小,n输出缓冲区的大小参数设置,v缓冲重叠参数设置。

例如,您可以计算模型中讨论的延迟缓冲帧输入到其他帧输入使用以下命令在MATLAB®命令行:

d = rebuffer_delay (4、3、1) d = 8

这个结果同意块输出的例子。注意,这个模型在仿真软件模拟多任务模式。金宝app

关于延迟的更多信息,请参阅多余的算法延迟(任务延迟)。关于一个特定的块的延迟信息,请参阅“延迟”一节块引用的页面。更多的信息rebuffer_delay功能,请参阅rebuffer_delay

Unbuffer帧信号样本信号

可以unbuffer多通道信号的帧长度大于1成多通道信号的帧长度等于1使用Unbuffer块。Unbuffer块执行逆操作缓冲块的缓冲过程,在信号与帧长度1缓冲到一个信号帧长度大于1。Unbuffer块生成一个n沟道输出从一个n沟道每帧包含一个示例输入包含多个渠道每帧。每个输入矩阵的第一行总是第一个输出。

下图是这个过程的图形化表示。

样例输出的时期Tso有关输入帧周期Tfi输入框的大小心肌梗死

$ $ Tso = Tfi / Mi $ $

Unbuffer块总是保留了信号样本(Tso = Tsi)时期。看到将样品和帧速率在仿真软件中使用框架Rebuffering块金宝app关于汇率转换的更多信息。

在接下来的例子中,有四个样品的双通道信号每帧无缓冲的成双通道信号与一个样本每帧:

打开ex_unbuffer_tut模型。

双击信号从工作空间块。信号从工作区对话框打开。组块的参数如下:

  • 信号= (1:10;1:1:-10)”

  • 样品时间= 1

  • 样品每帧= 4

  • 形成最终的数据值后输出=设置为零

基于这些参数,信号从工作区块输出双通道信号帧尺寸4。保存这些参数一个关闭对话框点击好吧

双击Unbuffer块。Unbuffer对话框打开。设置初始条件参数为0,然后单击好吧

Unbuffer块unbuffers双通道信号有四个样品每帧为双通道信号与一个样本每帧。

运行模型。

下图是一个发生在建模仿真的图形表示形式。

请注意:Unbuffer块生成初始条件如下图所示指定的值初始条件参数。看到Unbuffer参考页面的初始条件的信息出现在输出。

在MATLAB命令提示符,键入sp_examples_yout

sp_examples_yout (:: 1) = 0 0 sp_examples_yout (:,: 2) = 0 0 sp_examples_yout (:,:, 3) = 0 0 sp_examples_yout (:,:, 4) = 0 0 sp_examples_yout (:,:, 5) = 1 1 sp_examples_yout (:,: 6) = 2 2 sp_examples_yout (:,: 7) = 3 3 sp_examples_yout (:,: 8) = 4 4 sp_examples_yout (:,: 9) = 5 5 sp_examples_yout (:,: 10) = 6 6 sp_examples_yout (:,: 11) = 7 7

Unbuffer块unbuffers信号为双通道信号。每个页面的输出矩阵代表一个不同的样本。

相关的话题