通过帧和采样进行信号处理
所用术语
|
基于采样的处理
基于采样的处理 - 每次处理一个数据元素。这种处理方式的特点是在每个时间步长(与采样周期相对应)进行数据更新。时间步长等于采样周期,用 表示。采样率定义为采样周期的倒数,即 - 这意味着每一步都要更新和处理数据 。
逐个采样处理更适合需要对每个新数据测量做出即时响应的实时系统。例如
-
音频处理
-
实时监控
帧处理
基于帧的处理 - 信号以帧为单位进行处理,每帧包含多个数据元素。基于帧的处理在每个时间步长(等于帧周期)更新数据。帧周期被定义为帧中元素数( )与采样周期的乘积,即 。因此,帧速率等于采样速率除以帧中元素的数量: - 这样就可以在一个时间步长内处理大量数据。
逐帧处理可高效处理大量数据。使用示例
-
傅立叶变换
-
数字滤波
-
图像和视频处理
采样和逐帧处理的比较
为清晰起见,请参阅图中逐样和逐帧信号处理的示例:
比较表 |
|
---|---|
按计数处理.s |
按帧处理 |
|
|
因此,建议从逐帧处理开始开发,因为它便于快速制作原型和演示系统操作。由于逐帧处理简单,开发速度快,因此可以轻松地测试和调整算法,而不必担心内存处理的复杂性。一旦确信算法和模型工作正常,就可以转入逐帧处理。这种处理方式虽然实现起来更为复杂,但却能提供处理物理系统所需的高精度和优化,因为物理系统需要详细的信号和内存交互。这种方法可以让你在不同的开发阶段最大限度地发挥两种方法的优势。
示例
用块建立模型:
设置以下程序块参数:
运行模拟模型 。图形将显示正弦信号随时间的变化。X* 轴表示从 "0 "秒到 "10 "秒的模拟时间间隔,Y 轴表示正弦波的值。然后,图形窗口
将显示:
图形显示了 缓冲器 块的结果,该块强制将指定数量的数据元素存储到一个帧中。每个帧包含六个数据项,用图表中的彩色线条表示。这些线条代表帧中每个元素的状态。
线条的水平阶梯部分表示数据项的值在每一帧中保持不变。这些值每隔 0.6
秒更新一次,与帧更新间隔相对应(6 个数据项 * 0.1
秒/项 = 0.6
秒)。缓冲器* 块将数据项分成 6
块,并以单帧形式显示,其中每种颜色对应一个特定的数据项。
在本例中,尽管 缓冲器 块强行将数据项存储到单帧中,但还是选择了按颜色计数的处理方式。这样做是为了演示程序块如何工作,并分别显示每个数据项。
图中显示的是 非缓冲器 块的输出,该块可将任意数量的帧转化为样本。包含 6
个数据元素的每个帧被分割成单个数据元素,并逐个传递到 非缓冲器 块的输出端。由此产生的图形显示正弦信号的连续数据元素返回到原始的离散形式。
由于数据元素的值每隔 `0.1`秒变化一次,因此图形是交错的。这与生成正弦信号时指定的时间步长一致。因此,非缓冲器 块将逐帧信号转换回计数,这说明了数据缓冲的逆过程。
要将图表从计数显示切换为逐帧显示,请单击图表顶部菜单中的 信号菜单 ![]() ![]() |