DSP学习笔记(一)——DSP概述

    xiaoxiao2022-07-03  117

    DSP学习笔记(一)——DSP概述

    本笔记为本人在大三期间学习dsp时的笔记,感谢西北工业大学航海学院刘建国老师在我学习时的指导与帮助。

    本章主要是讲述了DSP的基本概述与基本知识。

    1 什么是数字信号处理器

    先说一下一些常见的英文缩写:

    CPU      :Central Processing Unit

    MCU    :Micro Control Unit

    SCMC   :Single Chip Micro Computer,大多数称为Microcontrollers

    DSP      :Digital Signal Processor  数字信号处理器

             Digital Signal Processing 数字信号处理

    什么是DSP?

     

    图1-1 典型的dsp

    DSP(数字信号处理):做些拍照以及回显(JPEG的编解码)、录像以及回放(Video 的编解码)、H.264的编解码、还有很多其他方面的处理,总之是处理数字信号。

    ISP(图像信号处理):一般用来处理Image Sensor(图像传感器)的输出数据,如做AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Black Level、Auto White Level 等等功能的处理。

    DSP数字信号处理器,类似于微处理器,一个计算系统的核,且特别适合数字信号处理运算,主要是应用于是实现各种数字信号处理的算法。拥有着额外的用来加速复杂运算的外设,包括硬件乘法器(MPY),算术运算单元(ALU),多总线访问机制,实现多次乘累加运算的硬件移位寄存器。

    而带有一个DSP作为运算单元的单芯片微型计算器,叫DSC数字信号控制器,结合DSP优越的运算能力以及独立数据、程序存储结构和外设,得到最高效的海量运算嵌入式实时控制解决方案。

    2 信号处理算法特点

    典型的DSP算法:

    图2-1 典型的dsp算法

    滤波运算

     乘累加运算

    观察上表知,对DSP要求频繁访问存储器,且有大量乘累加运算。

    FFT运算

    大量的乘累加运算,样本按码位倒置的顺序排列,DSP处理器应具有对应的寻址方式,否则读取样本将花费大量的时间。

    实时性:通常样本等间隔的进入系统(采样周期T),每一个样本到来处理需要时间(处理时间t),若T>t,非实时处理,否则为实时处理。

    3 DSP特点与内部结构

    1 高效内部总线,访问速度够快。冯诺依曼:程序存储与数据存储通过相同的地址与数据总线访问。

    哈佛:程序存储与数据存储通过不同地址数据总线访问,吞吐率更高,更复杂。

    DSP采用哈佛架构,以及改进的哈佛架构,即可以多套数据总线以及总线宽度可变。

    2 灵活的寻址方式

    环形缓冲寻址。

    图3-1 环形缓冲寻址

    环形缓冲寻址使一段线性存储(缓冲)区看起来像是一个连续的环形缓冲区。

    在环形缓冲区中,数据并不移动,当有新数据到来时,数据起点指针沿数据起点移动方向移动一个存储单元,新数据覆盖最老的数据。

    取数据时,从数据起点指针指向的单元开始,沿取数据移动方向,依次取出数据。

    数据指针的维护由硬件自动完成。

    位反序寻址

    FFT运算要求样本按码位倒置的顺序排列,而通常样本是按顺序排列的。

    使用软件实现会花费大量时间,效率较低。

    图3-2 未反序寻址

    DSP处理器由内部的硬件电路(地址发生器)自动产生各种寻址方式需要的地址。不占用CPU时间。实现信号处理任务要求的高效、灵活的数据存取。

    3 单周期乘累加运算

    Dsp内部都有硬件乘法器与加法器,可以直接计算乘累加,同时还有乘法结果的定标器,乘法加法的状态输出。

    4 指令流水线

    一条指令要经历取指、译码、执行三个阶段。非流水线会执行完三个操作之后进入下一条,流水线可以将不同阶段时间上重叠。

    5 硬件循环                                                                 

    DSP处理器具有实现指令重复循环的硬件,除初始化硬件循环外,循环计数器的维护由硬件自动完成,不占用CPU时间。

    6 超标量操作

    超标量操作是指处理器能够并行地执行多个操作,如存/取数据、指针更新、乘法运算、加法运算、移位等操作在单个时钟周期内并行执行。

    4 DSP性能指标

    MIPS:每秒钟执行用百万次表示的指令数。

    MOPS:每秒钟执行百万次的运算次数。

    MFLOPS:每秒钟执行百万次的浮点运算次数。

    MMACPS:每秒钟执行百万次的乘累加次数。

    基准测试程序:基准测试程序使用了许多典型的DSP运算,且包括寄存器和存储器之间的数据传输等操作。

    常用的基准测试程序:

    1024点FFT

    FIR滤波器

    IIR滤波器

    除法(x/y)

     

    最新回复(0)