DSP算法表示方法
- 数学公式表示:
• 高层次描述,着重体现系统功能。
• 运算的顺序和结构不直观,适用于高层次系统构建;具体设计时一般需转化为图形表示方式。
- 图形表示:
• 着重体现算法的数据流属性和内在并行性;
• 可较方便的映射为硬件实现;
• 包括:
框图:Block Diagram
信号流图:Signal-Flow Graph
数据流图:Data-Flow Graph
相关图(依赖图):Dependence Graph
• 将算法描述和结构实现联系起来;可观察到算法的并行性、数据驱动性、空间与时间的折中。
DSP算法表示 1:数学公式表示
- DSP系统
- FIR滤波器:
- 4阶FIR滤波器例子:
DSP算法表示 2:框图表示
- 框图经常用于图形化的描述DSP系统,由功能模块以及有方向的边组成;
- 有方向的边:
代表数据从输入模块到输出模块的流动;
可以包含延时单元
- 框图可以在各个抽象层次上构建。
- 一个系统可以用不同的框图表示,对应着相同功能的不同实现方法。
举例:4阶FIR滤波器:

框图表示为:

• 功能模块(乘法器、加法器、单位延时单元)
• 有方向的边(连接各个功能模块,代表数据流动方向)
DSP算法表示 3:信号流图表示
- 信号流图是节点和有向边的集合
• 节点表示运算或任务;
• 有向边是从一个节点到另一个节点的支路;
• 在从一个节点的输入到另一个节点的输出之间,信号进行了线性变换;
• 边上可具有常数增益、或延时单元,汇节点为加法操作。
- 是线性网络的一种描述方法。
举例:3阶FIR滤波器:
信号流图表示为:
• 节点代表加法计算;
• 有方向的边代表线性变换:延时,与常数相乘;
- 线性信号流图的转置不改变系统功能:
• 单输入单输出系统;
• 所有边反向;
• 输入与输出交换。

DSP算法表示 4:数据流图表示
-
数据流图由节点和有向边组成。
• 描述了DSP算法的数据驱动属性。当一个节点的所有输入数据到达(准备好)时就进行计算。
没有输入边的节点可在任何时候启动;
很多节点可以同时启动,体现了并发性;
数据依赖关系。
• 节点表示计算(或功能模块),旁边的数字为该计算或功能模块的运算时间;
• 有方向的边代表数据路径;每条边有非负个数个延时;
举例 3阶FIR滤波器:

-
数据流图表示为:


• 数据流图描述了DSP算法的数据驱动属性。当一个节点的所有输入数据到达时就进行计算。
• 节点表示计算(或功能模块);
• 有方向的边代表数据路径;每条边有非负个数个延时;
-
细粒度数据流图:每个节点是基本运算;
-
粗粒度数据流图:以“功能模块”为节点;

-
多采样率(Multi-Rate)数据流图。

DSP算法表示 5:依赖图表示
- 依赖图是一种有向图,表明算法中计算之间的依赖关系。
• 节点表示运算;
• 边表示节点之间的数据依赖关系;
• 在依赖图中,只要算法中调用一个新的运算,就会产生一个新的节点;
• 前面几种图形表示方法只表示了算法一次迭代的运算节点,而依赖图中包含了算法所有迭代的运算节点。
• 用于脉动阵列设计,挖掘算法的并行性。
- FIR滤波器例子:
<<上一节 下一节>>