按帧和计数进行信号处理
已使用的术语
|
基于样本的处理
样本处理-信号每单位时间处理一个数据元素。 这样的处理的特征在于在每个时间步更新数据,该时间步对应于采样周期。 时间步长等于该步长的周期(采样周期),记为 . 采样率定义为采样周期的倒数,即 —这意味着每个步骤都会更新和处理数据。 .
基于样本的处理更适合于需要对每个新数据测量立即响应的实时系统。 这种系统的例子:
-音频处理 -实时监控
逐帧处理(基于帧的处理)
逐帧处理-信号以帧为单位进行处理,其中每个帧包含几个数据元素。 逐帧处理在等于帧周期的每个时间步长更新数据。 帧周期定义为帧中元素数量的乘积( )为采样周期,即 . 因此,帧速率等于采样速率除以帧中的元素数。: -这允许您在单个时间步长内处理大量数据。
逐帧处理对于处理大量数据是有效的。 使用示例:
-傅立叶变换 -数字滤波 -图像和视频处理
按计数和帧数比较治疗方法
为了清楚起见,请注意图,该图演示了通过采样和帧进行信号处理的示例。:
比较表 |
|
---|---|
按计数处理 |
逐帧处理 |
-由于每个数据元素的精确处理,提供更详细的操作逻辑配置。 -它最适合使用需要精确控制内存和时间间隔的真实硬件。 -在逐帧处理测试后,在模型实施阶段使用。 -真正的系统(如Fpga)完全支持代码生成。 -适用于需要高精度和优化的最后开发阶段。 |
-适用于原型设计和快速算法开发。 -模型以大块呈现,这使得它更具可读性和更容易理解。 -处理整个帧,这使得测试和调试更容易。 -适用于系统开发和演示的初始阶段。 -它更常用于在微控制器上实现,其中简单性和开发速度非常重要。 |
因此,建议从逐帧处理开始开发,因为它便于系统的快速原型和演示。 由于它的简单性和开发速度,逐帧处理使测试和配置算法变得容易,而不必担心处理内存的复杂性。 当您确信算法和模型的正确性后,您可以继续按计数进行处理。 这种处理虽然实现起来更复杂,但提供了与需要详细信号处理和内存交互的物理系统一起工作所需的高精度和优化。 这种方法允许您在不同的开发阶段最大限度地发挥这两种方法的好处。
例子:
从块中展开模型:
设置以下块参数:
运行模型的模拟 . 这些图表将显示正弦信号随时间的变化。 *X*轴表示从`0`到`10`秒的仿真时间间隔,*Y*表示正弦信号的值。 然后在图表窗口中
将显示:
图表显示了块操作的结果。 缓冲器,从而在一帧中强制保存设定数量的数据元素。 每个帧包含由图形上的彩色线表示的六个数据元素。 这些线表示帧中每个元素的状态。
水平阶梯线段显示了数据元素的值在每帧期间如何保持不变。 值每`0.6`秒更新一次,这对应于帧的刷新间隔('6’数据元素*'0.1`秒/元素=`0.6’秒)。 座 缓冲器 将数据元素分组为"6`块,并将其显示为单个帧,其中每种颜色对应于特定的数据元素。
在这个例子中,样本处理被选择,尽管块 缓冲器 在一帧中强制保存数据元素。 这样做是为了演示块的操作并单独显示每个数据元素。
图表显示了块操作的结果。 非缓冲器,其将任意数量的帧变为计数。 包含`6`个数据元素的每个帧被分割成单独的数据元素并传送到块输出。 非缓冲器 一次一个。 结果,该曲线图示出返回到其原始离散形式的正弦信号的连续数据元素。
图形是交错的,因为数据元素的值每`0.1`秒更改一次。 这对应于用于产生正弦信号的时间步长设置。 因此,块 非缓冲器 将逐帧信号转换回计数,这说明了数据缓冲的反向过程。
要将图形从倒计时切换到逐帧显示,请单击 信号菜单 ![]() ![]() |