DSP系统与设计-第1章-数字信号处理概述

第1章 数字信号处理概述

1.1 DSP技术概念

ARM与DSP区别

  • ARM具有比较强的事务管理功能

  • DSP主要是用来计算的,优势是强大的数据处理能力和较高的运行速度,适合于一些专业领域的应用

1.2 数字信号处理的优势

  1. 可控性强

通过改变程序使微处理器实现不同的功能

功能 实现方法
数字滤波器 通过改变程序中的系数来实现低通、高通、带通等不同的滤波任务及性能
自适应滤波器 系统参数随输入信号的改变而改变
软件无线电技术 在一个统一的以高性能DSP处理器为核心的硬件平台上,加载不同的程序来实现不同工作模式的电台通信
虚拟仪器技术 是以在同一硬件平台上获取外部采样信号,编写不同的软件来实现传统仪器的测量任务,甚至更为复杂的信号运算、信号产生等功能
  1. 稳定性好

  2. 可重复性好

  3. 抗干扰性强

  4. 实现自适应算法

  5. 数据压缩

  6. 大规模集成

  • 模拟信号处理不可替代的原因
    • 自然界的绝大多数信号都是模拟信号
    • 模拟信号处理系统从根本上来说是实时的
    • RF信号的处理要由模拟系统来完成

1.3 实时数字信号处理概念

实时指的是系统必须在有限的时间内完成外部输入信号的指定处理,即信号处理速度必须大于等于输入信号更新的速度,而且从信号输入到处理后输出的延迟必须足够的小。

决定实时性因素
常见信号的典型速率
  1. 音频信号

    采样时钟44.1KHz,字长16bit,数据率为88.2KBps:

    实时处理速度至少为88.2KBps:44.1k×2字节=88.2KBps

  2. 视频信号

    一帧画面512×512点阵,每个像素点用16个色阶表示,当传输速率为30帧/秒时,则数据率15MBps

    则实时处理速度至少为15MBps :512×512×2×30=15728640=15MBps

    通常1080p的画面分辨率为1920×1080,帧率为60Hz,数据率约为250MBps

  3. 结论

    对实时信号处理素的的要求与原始模拟信号带宽及数据格式(字长、维数)、算法复杂程度等因素时密切相关的。

1.4 实时DSP系统的组成

1.4.1 DSP子系统实现方式

  • 通用微计算机

    利用统一的平台,编写软件,实现不同的功能。这种方法缺点是速度太慢,不能用于实时系统,只能用于仿真研究。

  • 加速处理模块

    在通用微机内部加入专用的加速处理模块,微机作为系统控制使用。缺点是不适合嵌入式应用。

  • 单片机(MCS51)

    单片机采用的是冯•诺依曼总线结构,用它构成的系统比较复杂,尤其是乘法运算速度慢,在运算量大的实时控制系统中很难有所作为。

  • 专用DSP芯片

    专用DSP芯片可用于FFT、FIR、卷积、相关等高速运算。一般速度较快,但是灵活性较差,而且开发工具不完善。

  • 可编程FPGA器件

    利用VHDL或是VerilogHDL硬件开发语言,通过软件编程来改变FPGA内部门阵列结构,最终用硬件实现特定数字信号处理算法。这种实现方法具有通用性、并行性,一般作为DSP芯片的协处理器。

  • 通用可编程DSP芯片

    通用可编程DSP芯片有着更适合于数字信号处理的硬件特点和指令系统,而且其性价比随着微电子的发展不断提高,非常适合实现性能要求高的应用领域。

1.4.2 通用DSPs构成的子系统

  1. DSP典型系统框图:
  1. 前向通道示意图:
  1. 后向通道示意图:

1.4.3 DSP系统典数据处理方式

数据流处理(Stream Processing)

数据是在一个输入样本到达后,就立即开始进行与该样本有关的运算,并在下一个样本到达之前完成。这种在下一个样本输入之前完成上一个样本处理的方法称为数据流处理方式。

例如数字FIR滤波。

  • 特点:每接收一个样本,就做一次新的运算。输入样本周期与输出样本周期保持一致。

  • 优点:其结果是随时更新的。输出样本和其影响的输出结果之间的时延达到理论的最小值。

  • 缺点:要求处理器的速度必须足够高,能在下一个样本到达之前完成所有计算。

块处理(Block Processing)

首先将输入样本存放到存储器中,当L个输入样本都到达以后,才开始处理。这种同时处理多个样本的方法称为块处理技术,也叫帧处理(Frame Processing)。

在块处理技术中,输入样本按组存储,当有足够多的样本到达后,开始处理这个样本块。主要应用在输出采样率小于输入采样率(采用间隔T)的场合,其计算时间限制在LT以内。

譬如傅里叶变换运算。

  • 优点:减少频繁读写存储器所带来的额外开销,获得较高处理效率;可以使用较低速度的处理器。
  • 缺点:时延以及足够的存储空间。

矢量处理(Vector Processing)

同时处理多路输入/输出信号的方法,称为矢量处理技术。

通常情况下,矢量处理用来计算两个信号之间的相关程度。

1.5 通用DSPs芯片概述

1.5.1 发展历程

  1. 第一代——20世纪70年代末80年代初

    特点:采用了哈佛结构,内部设置硬件乘法器。

  2. 第二代——20世纪80年代中期

    特点:与第一代相比,在功能、速度及内存容量方面有了很大突破,强化完善了指令功能及寻址方式。

  3. 第三代——20世纪80年代末

    特点:高速、多功能、大内存,并能进行32位浮点运算。

  4. 第四代——20世纪90年代末

    特点:

    1. 支持片内多核或多片并行工作
    2. 片内海量的存储器,包括Cache
    3. 增强的DMA控制器
    4. 丰富的外设及片内资源
    5. 低功耗,小尺寸

1.5.2 DSP芯片的分类

  • 按基础特性分:工作时钟和指令类型
  • 按数据格式分:定点和浮点
  • 按用途分:通用和专用

定点与浮点DSP芯片

  1. 定点DSP芯片:数据格式用整数和小数表示结构较简单,MAC速度较快,运算精度低,动态范围小:一般16bit
  2. 浮点DSP芯片:数据格式用指数和尾数形式表示结构较复杂,主频较低,功耗较高,但运算精度高,动态范围大:32bit

TI公司DSP芯片类别

  1. C2000系列:面向自动控制领域,全部为16位定点DSP。该系列中的一些型号具有片内FLASH RAM,如TMS320F24x, TMS320LF240x等。TI所有DSP中,也只有 C2000有FLASH。作为控制器,C2000系列除了有DSP核以外,还有大量的外设资源,如A/D、定时器、各种串口、WATCHDOG、CAN总线、PWM发生器、数字IO脚等等。

  2. C5000系列:面向通信、信息技术领域,定点低功耗系列,特别适用于手持通讯产品,如手机、PDA、GPS等。目前的处理速度一般在80MIPS一400MIPS。C5000系列主要分为C54xx 和C55xx两个系列。

  3. C6000系列:面向图像、视频等高性能处理场合, 32位的高性能的DSP芯片,目前处理速度从800MIPS-2400MIPS。其中,C62XX为定点系列, C67XX和C64XX为浮点系列。

  4. OMAP系列 :OMAP处理器集成ARM的命令及控制功能,另外还提供DSP 的低功耗实时信号处理能力,最适合移动上网设备和多媒体家电。

  5. Davinci:TMS320DM644x 架构是一款高度集成的片上系统(SoC),集成了数字视频所需的许多外部组件。其主要应用为网络照相机、机顶盒、视频电话、医疗成像等。

  6. C3X系列:浮点系列,非主流产品,VC33仍在广泛使用,但其速度较低,最高在150MIPS,但功耗较低。

1.6 DSPs芯片主要结构特点

1.6.1 哈佛总线结构

  • 通用微处理器CPU:冯·诺伊曼总线结构

    • 数据、程序空间共享
    • 数据、程序总线复用
  • 数字信号处理器芯片DSP:哈佛总线结构

    • 数据、程序空间独立

    • 数据、程序总线分离

1.6.2 流水技术

流水技术是将各指令的各个步骤重叠起来执行,即使得若干条指令的不同执行阶段可以处于同一时刻并行处理,这样每一个阶段称作一个流水。

流水技术是提高DSPs程序执行效率的另一个主要手段。

对比非流水指令执行,每一个时刻只执行一条指令的一个执行阶段:

TMS320C62x/64x系列DSP流水线结构:

TMS320C62x/64xDSP流水结构
缩写 含义
PG 程序地址产生
PS 程序地址发送
PW 程序地址等待
PR 程序取指包接收
DP 指令分配
DC 指令译码
E1-E5 执行级的5个节拍

1.6.3 硬件乘法器和乘-加(MAC)指令

硬件乘法器和乘-加指令可以在单周期内取两个操作数相乘,并将乘积加到累加器里。

硬件乘法器基本结构如下所示:

image-20210607111407055

1.6.4 专用寻址单元

DSPs通常都有支持地址计算的算术单元——地址产生器。地址产生器与ALU并行工作,地址的计算不再额外占用CPU时间。

寻址方式:DSPs的地址产生器一般都支持直接寻址、间接寻址, 完成地址的加减运算,而且有DSPs还能够支持位反转寻址(用于FFT计算)和循环寻址(用于FIR计算)。

1.6.5 独立的直接存储器访问(DMA)总线

DSP处理器为DMA单独设置了完全独立的总线和控制器,在数据传输时不影响CPU及其相关总线的工作。DMA也是多核处理器之间进行数据传输的主要通道。

1.6.6 丰富的外设

  • 时钟发生器(振荡器与锁相环PLL)
  • 定时器(Timer),看门狗(watchdog)
  • 软件可编程等待状态发生器
  • 同步串口(SSP)、异步串口(ASP) 、主机接口(HPI)
  • JTAG边界扫描逻辑电路(IEEE 1149.1标准)
  • CAN总线、PCI总线、以太网接口,I^2C接口
  • DMA控制器
  • ADC
  • USB,USB OTG,MMC/SD
  • EMIF(DDR2)

1.7 DSP处理器实现高速运算途径

  1. 硬件乘法器及乘加单元

    支持单周期的乘法指令

    单周期的乘-加操作(MAC)

  2. 多个执行单元

    片内多个独立单元并行执行

    如TMS320C62x/67x片内8个功能单元,指令执行速度最高可8倍于主频

  3. 高效的储存器访问

image
  1. 数据格式
    DSP数据\left\{\begin{aligned} &定位芯片 \\&浮点芯片\end{aligned} \right.

  2. 零开销循环

    支持高效的循环操作,在无须花费任何时钟周期的情况下,实现FOR—NEXT循环。往往将这种特性称为“零 开销循环”。

  3. 数据流的线性I/O

    为了达到高性能低成本的输入和输出,大多数DSP处理器都有一个或多个专门的串口或并口,并采用线性的处理机制,例如低开销的中断和DMA,使得数据的传输不影响或尽可能少地影响处理器计算单元的工作。

  4. 专门的指令集

DSP指令集设计目的\left\{\begin{aligned} &最大限度使用处理器内部基本硬件,提高性能 \\&程序所占存储空间最小\end{aligned} \right.

1.8 DSP芯片性能指标及选型依据

1.8.1 DSP评价方法

传统性能评价

  1. MIPS 百万指令每秒 (Millions of Instructions per Second)
  2. MOPS 百万操作每秒 (Millions of Operations per Second)
  3. MFLOPS 百万浮点操作每秒 (Millions of Float Operations per Second)
  4. MACS 乘加次数每秒 (Multiply-Accumulates per Second)

误导

  • 不同处理器的指令所完成的工作是不同的
  • 完成同一项算法所需的指令数是不同的
  • 存储器的误导
  • 芯片数据吞吐量的误导
  • 能耗的误导

完整应用评价

  • 优点

    可以完整的评估不同系列DSP芯片完成某一特定应用任务的详细性能指标,包括执行时间、存储器使用、 功耗等指标。

  • 缺点

    • 真实的环境难以模拟,评价难以做到公平
    • 难以确保不同DSP应用软件的最优
    • 评价更依赖于系统而非DSP本身
    • 评价系统成本过高

核心算法评价

BDTI (Berkeley Design Technology, Inc.) 提出了一种使用核心算法和应用测试的方法。它是介于过于简单的MIPS类指标和过于复杂的完全基于应用的指标之间的方法。核心算法是构成大多数信号处理系统的基本模块,其中包括FFT、滤波器等。

  • 优点
    • 中肯性 :重点关注耗时
    • 指标的宽松性:核心算法大小适度,可以规定测试向量的输入和输出要求
    • 便于优化:大小适度,可以采用汇编语言,并针对处理器进行优化
    • 实现的宽松性:核心算法大小适度,可以在可接受的时间内实现并优化
  • BDTI核心算法
函数 描述 应用举例
复数块FIR 复数块有限冲击响应滤波 调制解调器的信道均衡
实数块FIR 样本块数据的FIR计算 语音处理(G.728语音编码)
单样本FIR 实数的单样本FIR计算 语音处理,通用滤波
LMS自适应FIR 最小均方根自适应滤波计算 信道均衡,线性预测编码
IIR 无限冲击响应滤波计算 音频处理,通用滤波
向量点积 两个向量的点积运算 卷积相关、多维信号处理
向量和 两个向量叠加 图形、声音图像信号组合
向量最值 求向量中最大值 纠错编码,块浮点运算
Viterbi译码器 对卷积编码的数据块译码 纠错编码
控制 转移,压栈,出栈,调用 控制代码
位解包 从数据流中解出不同长度数据 语音解压缩,协议处理
256点FFT 时频转换 雷达、MPEG压缩、谱分析
  • BDTI核心算法的统计量

统计量\left\{\begin{aligned} &执行时间 \\&储存器使用\\&能耗\end{aligned} \right.

控制指标的优化则在于存储器的使用。

控制代码的大小,基本上决定了片内存储器的大小,从而在很大程度上决定DSP处理器的成本。

  • 核心算法执行情况的测量
    测量方式\left\{\begin{aligned} &软件仿真周期计数——simulate \\&基于硬件的应用开发工具测量——emulate\end{aligned} \right.

1.8.2 选型依据

  • 速度

    运算速度是DSP处理器一个最重要的性能指标,也是选择DSP处理器主要因素。可以用以下指标来衡量:指令周期,MACS,FFT执行时间,MIPS,MOPS,MFLOPS

  • 数据格式和数据宽度

    浮点与定点的选择,字长的选择

  • **芯片资源 **:

    片内RAM,ROM,FLASH等储存器的大小,可扩展空间,总线接口,I/O接口,外设资源:比如定时器,DMA,串口,PCI接口,CAN总线接口,网 络接口,硬件译码器,PWM产生器,AD,HPI接口等等

  • 开发工具

    开发工具是否完备,开发环境功能是否强大,开发界面是否友好,是否有现成的库函数

  • 支持多处理器

    雷达和声纳等高数据率和大运算量的应用系统,往往需要使用多个DSP处理器。多处理器之间的连接是否容易(处理器之间通信电路时间以及成本)和 连接性能成为主要因素

  • 功耗与电源管理

    工作电压,休眠与待机模式,外设电源控制

  • 成本

  • 封装形式、质量标准、供货情况、生命周期等等

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349