1. 按样点处理
所谓按样点处理就是 DSP 算法对每一个输入样点循环一次。数字滤波就是这种情况。在数字滤波器中,通常需要对每一个输入样点计算一次。例如,一个采用 LMS 算法的 256 抽头的自适应 FIR 滤波器,假定每个抽头的计算需要 3 个 MAC 周期, 则 256 抽头计算需要 256×3=768 个 MAC 周期。 如果采样频率为 8kHz,即样点之间的间隔为 125ms,DSP 芯片的 MAC 周期为 200ns,则 768 个 MAC 周期需要153.6ms 的时间,显然无法实时处理,需要选用速度更高的 DSP 芯片。表 1.3 示出了两种信号带宽对三种 DSP 芯片的处理要求,三种 DSP 芯片的 MAC 周期分别为 200ns、50ns 和 25ns。从表中可以看出,对话带的应用, 后两种 DSP 芯片可以实时实现, 对声频应用, 只有第三种 DSP 芯片能够实时处理。 当然,在这个例子中,没有考虑其他的运算量。
2.按帧处理
有些数字信号处理算法不是每个输入样点循环一次,而是每隔一定的时间间隔(通常称为帧)循环一次。例如,中低速语音编码算法通常以 10ms 或 20ms 为一帧,每隔 10ms 或 20ms 语音编码算法循环一次。所以,选择 DSP 芯片时应该比较一帧内 DSP 芯片的处理能力和 DSP 算法的运算量。假设 DSP 芯片的指令周期为 p(ns),一帧的时间为 Dt(ns),则该 DSP 芯片在一帧内所能提供的最大运算量为 Dt/p条指令。例如 TMS320LC549-80 的指令周期为 12.5ns,设帧长为 20ms,则一帧内 TMS320LC549-80所能提供的最大运算量为 160 万条指令。因此,只要语音编码算法的运算量不超过 160 万条指令,就可以在 TMS320LC549-80 上实时运行。