实时信号处理系统设计与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y n a x n b x n 1 c x n 2 end
nT 3T 2T T 0
……
信号
算法来自百度文库
输出
数字信号处理应用
典型数字信号处理算法
卷积,相关和数字滤波器 随机梯度和最小均方差自适应滤波器 快匹配算法和离散余弦变换 (DCT)——运动 估计 矢量量化——图像处理和压缩 Viterbi算法——动态规划 抽取和插值——多速率信号处理 小波和滤波器组
»互联资源 — 布线通道
– CLB 和 IOB 之间的布线通道 – 包括各种长度的连线和可编程连接开关,将各个可编 程逻辑块或I/O块连接起来,构成特定功能的电路
FPGA(3)
主要生产厂商
»Xilinx, Altera — 市场领导者和长期竞争对手 »其他厂商
– Lattice Semiconductor (基于flash, 基于SRAM) – Actel (反熔丝, 基于flash, 混合信号产品) – SiliconBlue Technologies (低功耗) – Achronix (SPEEDSTER SD60 – RAM based, 1.5 GHz fabric speed) – QuickLogic (主打重点客户特定标准产品, 非通用 FPGAs)
Slice CLB CLB Logic cell Logic cell
Slice Logic cell Logic cell
典型的ASIC ASIC
现场可编程逻辑
现场可编程逻辑—Field-Programmable Logic (FPL)分类
»小颗粒度
– 门海(Sea of gates)
»中颗粒度
– FPGA,Field Programmable Logic Array
»大颗粒度
– CPLD,Complex programmable Logic Device
典型DSP系统设计流程
规范 / 标准 描述系统功能的文档
浮点系统模型
C, Matlab, Simulink等代码 浮点代码被转化为定点的C, Matlab, Simulink代码, 然后对照浮点模型做误差分析和性能比对。 用VHDL或Verilog实现的定点系统模型,该模型可由EDA 工具(高层次综合工具、Xilinx System Generator等) 或手工实现。
参考书目(1)
VLSI Digital Signal Processing Systems – Design and Implementation, keshab K. Parhi, Wiley, 1999 中译本:VLSI数字信号处理系统设计与实现,陈弘 毅 等译,机械工业出版社,2004
参考书目(2)
专用结构 (全定制VLSI电路)
» 实现速度、结构和功耗的整体优化; » 功能针对算法专门设计; » 并行计算结构,系统处理速度提高; » 灵活性(通用性)差,价格竞争优势弱; » 一般用作协处理器。
数字信号处理系统性能衡量标准
所需的硬件电路资源或软件空间 由数据吞吐量和时钟频率决定的运行速度 实现既定任务所需的功耗 有限字长效应
– 中央控制(编程) – 数据驱动
数据流, 需求驱动
» 通信过程
– 专业网络结构 – 共享存储器
» 问题规模
– 模块数 – 内存大小
鸿沟解决方案
更高…高性能的通用处理器
» 实质上为一种软件计算系统—利用软件和硬件辅助逻辑 实现信号处理计算。
性能更高的定制VLSI电路
» 灵活性(易变性)差,价格竞争力弱。
定点系统模型
定点 硬件模型
物理实现
在FPGA或ASIC平台上实现
基本分析和设计方法
基本流程:
» 需求分析→算法分析和设计→系统结构设计→实现与调 试
算法分析
» 目标:建立满足处理速度和功耗要求,同时具有最小结 构的电路系统结构。 » 区别于通用结构器件:保证速度和优化软件和存储器需 求
结构设计
标准电路
定制电路
固定连线
模拟电路 标准逻辑
定制可编程
半定制
手工制版图
存储器 可编程
RAM 微处理器 可编程DSP
连线 可编程
PROM EPROM ROM
可编程 逻辑
FPL 门海 CPLD FPGA SPLD
门阵列
标准 单元
全定制
基于单 元定制
ULA Megacell MasterSlice Composite cells NAND阵列
FPGA和CPLD结构
FPGA
CPLD
现场可编程逻辑阵列 FPGA(1)
可配置逻辑资源
»可配置逻辑块(Configurable logic Blocks, CLBs)
– 基本功能单元 — 一般以整列形成遍布整个芯片
FPGA(2)
»I/O 块(I/O Blocks,IOBs)
– 内部逻辑和外部封装引脚的接口电路.
核心实现技术
计算结构设计
»算法分析的结构为计算结构设计提供了电路的核 心结构,是电路最简设计的依据 »计算结构设计必须满足信号处理速度要求——实 现算法的基本保证
电路设计
»依据计算结构设计的结果,找出满足结构设计要 求的数字电路 »满足速度和功耗要求
II. FPGA技术
VLSI电路分类
单片大规模集成电路
实时信号处理系统设计与实现
王明全 wmingquan@gmail.com 2014
课程目标
了解
»实时信号处理的概念、技术和发展趋势
掌握
»算法从通用计算环境移植到VLSI结构的方法
重点
»基于FPGA的数字信号处理系统的设计和实现技 术
学时:40(第1~10周)
相关课程
基础课程
»数字电路设计,信号与系统 »数字信号处理理论 »可编程逻辑器件与EDA技术 »硬件描述语言(VHDL或Verilog)
2.数字系统与基本算术单元设计
» 数字表示法,加法器、乘法器和除法器设计,浮点运算 实现,MAC和SOP
3.数字滤波器设计
» FIR滤波器,IIR滤波器
4.多采样率信号处理 5. Fourier变换
» DFT,FFT,DCT
第1章 绪论
I. VLSI数字信号处理概述
数字信号处理系统
模拟输入信号
后续课程
» VLSI数字信号处理系统设计 » 嵌入式实时信号处理技术及应用实践
– 信号与信息处理和电子与通信工程专业研究生学位课
教材
Digital Signal Processing with FPGA (3rd Edition), Uwe Meyer-Baese, Springer, 2007 第2版中译本:数字信号处理的FPGA实现,刘凌 译,清华大学出版社,2006
»由量化和四舍五入造成
CMOS工艺进展
性能鸿沟!(1)
随着应用需求的不断提升,以及算法复杂度 的不断增高,对更高性能的信号处理器的需 求不断增加,传统的固定架构的DSP处理器 无法应对; 在处理复杂度不断提升的算法的高性能模块 时,需要采用DSP协处理器。
性能鸿沟!(2)
面积—速度—功耗的折衷考虑
Xilinx Logic Cell
16-bit SR 16x1 RAM
a b c d e clock clock enable set/reset
4-input LUT
y mux flip-flop q
Xilinx Virtex-II Pro FPGA 体系结构
Configurable logic block (CLB) Slice CLB CLB Logic cell Logic cell Slice Logic cell Logic cell
»三维优化 (面积,速度,功耗) »实现预期的速度—面积—功率折衷 »功耗
P C V f
2
»延迟减低技术→通过低电压操作提高速度和降 低功耗; »由于乘法运算在信号处理中占主导地位,减少 乘法的操作次数至关重要(通过强度缩减实现 )。
并行处理机制
采用并行处理加快处理速度(性能)
» 模块颗粒度 – 工作(job),任务(Task),过程(Process),变量( Variable),位(Bit) » 并发控制
实时信号处理-信号处理系统的设计与实现,J.G.Ackenhusen著 ,李玉柏 等译,电子工业出版社,2002 VLSI数字信号处理-设计与实现,张欣 著,科学出版社,2003 无线通信FPGA设计,田耘 等编, 电子工业出版社,2008
讲授内容安排
1.绪论
» 数字信号处理与FPGA,数字信号处理的技术要求、设计 与实现
Tc
Ty
系统实时性(2)
Tc < LTx时输入和相应输出的定时关系
» Tc小于帧持续时间,输出总能跟上输入
x n
y m
Tc
y 0
y 1
Tc Tc
y 2
Tc
y 3
系统实时性(3)
Tc > LTx时输入和相应输出的定时关系
» Tc 小于帧持续时间,前一帧的计算要在下一帧的最后一 个样本到达之后才能完成,输出会越来越落后于输入
x n
y m
Tc LTx
y 0
y 1
y 2
Tc LTx
Tc
LTx
系统实时性(4)
实时概念
» 如果在使用变换Tj计算每个输出样本yj(m)的时候,完成 计算所需时间不超过对输出yj(m)有影响的所有xi(n)的 持续时间,则称该系统是实时的。 » 核心意义:实时系统的基本要求就是对xi(n)进行的计算 Tj必须在特定时间内完成,这个时间就是样本集xi(n)的 持续时间。
数字信号处理应用的发展
VLSI数字信号处理系统的优势
通用结构器件实现(通用可编程处理器 (GPP)和 DSP 处理器)—— 软件计算系统
» 利用软件和相应的计算逻辑电路完成信号处理计算,算 法易于实现; » 串行,无法实现并行处理; » 灵活性(通用性)好,但限制数字信号处理速度; » 一般用作主控制器。
FPGA非常适合弥补复杂算法和处理器之间存在的 性能鸿沟
» » » » » » » 能实现并行处理,具有极高性能的信号处理能力; 体系结构灵活,实现风险较低; 允许设计移植,以处理不断变化的设计需求; 开发人员可创建一个定制的、与众不同的解决方案 ; 价格下降空间较大; 从功能实现角度计算,功耗较低。 可用设计资源:IP核
实时处理的判别条件
» 1.输入样本周期Tx » 2.变换Tj的复杂度 » 3.完成变换的计算速度
数据驱动特性
» 数据驱动特性
–一旦所有的数据准备好,DSP系统中任何子任务或计 算皆可执行。 –系统由数据流而非系统时钟进行同步。
DSP系统可以用不需要全局时钟的异步电路实现。
–非中止性 for n 1 to
系统实时性(1)
将数字信号处理系统的功能定义为一个变换Tj,对输 入信号xi(n)进行处理,得到输出信号yj(m)。
y j m Tj x n
x n
T xn , n 0,1,
y m
L 1
T xn , n L, L 1,
2 L 1
Xilinx CLB
Configurable logic block (CLB) Slice CLB CLB Logic cell Logic cell Slice Logic cell Logic cell
Slice CLB CLB Logic cell Logic cell
Slice Logic cell Logic cell
» 目标:通过数字电路结构完成算法的运算结构 » 结构设计完全以算法结构为核心,以数字电路为目标。 » 区别于通用结构器件:计算系统固定,以组织指令实现 算法软件结构为目标。
核心实现技术
算法分析
»针对系统设计目标,寻找适合用简单数字逻辑电 路实现的计算方法。 »计算结构分析——寻找计算过程的优化方法,降 低计算复杂度 »算子机构分析——寻找算子合并或分解的可能性 ,找出最简单的算子模块电路 »注意:必须以数字电路为基本出发点,才能得到 正确的分析结果!
x(t)
抑混叠 滤波器
采样频率fs
采样保持
量化编码
模数转换 数字信号
x(k)
模拟输出 数模转换 数字信号 处理系统 数字输出
数字信号处理系统的VLSI设计目标
数字信号处理系统的设计目标
»以最佳的速度、功耗和面积等技术指标实现复杂 的信号处理运算。
数字信号处理系统VLSI设计目标
»充分利用硬件电路直接完成数字信号处理所具有 的高速优势,形成高性能的全硬件数学信号处理 系统。
nT 3T 2T T 0
……
信号
算法来自百度文库
输出
数字信号处理应用
典型数字信号处理算法
卷积,相关和数字滤波器 随机梯度和最小均方差自适应滤波器 快匹配算法和离散余弦变换 (DCT)——运动 估计 矢量量化——图像处理和压缩 Viterbi算法——动态规划 抽取和插值——多速率信号处理 小波和滤波器组
»互联资源 — 布线通道
– CLB 和 IOB 之间的布线通道 – 包括各种长度的连线和可编程连接开关,将各个可编 程逻辑块或I/O块连接起来,构成特定功能的电路
FPGA(3)
主要生产厂商
»Xilinx, Altera — 市场领导者和长期竞争对手 »其他厂商
– Lattice Semiconductor (基于flash, 基于SRAM) – Actel (反熔丝, 基于flash, 混合信号产品) – SiliconBlue Technologies (低功耗) – Achronix (SPEEDSTER SD60 – RAM based, 1.5 GHz fabric speed) – QuickLogic (主打重点客户特定标准产品, 非通用 FPGAs)
Slice CLB CLB Logic cell Logic cell
Slice Logic cell Logic cell
典型的ASIC ASIC
现场可编程逻辑
现场可编程逻辑—Field-Programmable Logic (FPL)分类
»小颗粒度
– 门海(Sea of gates)
»中颗粒度
– FPGA,Field Programmable Logic Array
»大颗粒度
– CPLD,Complex programmable Logic Device
典型DSP系统设计流程
规范 / 标准 描述系统功能的文档
浮点系统模型
C, Matlab, Simulink等代码 浮点代码被转化为定点的C, Matlab, Simulink代码, 然后对照浮点模型做误差分析和性能比对。 用VHDL或Verilog实现的定点系统模型,该模型可由EDA 工具(高层次综合工具、Xilinx System Generator等) 或手工实现。
参考书目(1)
VLSI Digital Signal Processing Systems – Design and Implementation, keshab K. Parhi, Wiley, 1999 中译本:VLSI数字信号处理系统设计与实现,陈弘 毅 等译,机械工业出版社,2004
参考书目(2)
专用结构 (全定制VLSI电路)
» 实现速度、结构和功耗的整体优化; » 功能针对算法专门设计; » 并行计算结构,系统处理速度提高; » 灵活性(通用性)差,价格竞争优势弱; » 一般用作协处理器。
数字信号处理系统性能衡量标准
所需的硬件电路资源或软件空间 由数据吞吐量和时钟频率决定的运行速度 实现既定任务所需的功耗 有限字长效应
– 中央控制(编程) – 数据驱动
数据流, 需求驱动
» 通信过程
– 专业网络结构 – 共享存储器
» 问题规模
– 模块数 – 内存大小
鸿沟解决方案
更高…高性能的通用处理器
» 实质上为一种软件计算系统—利用软件和硬件辅助逻辑 实现信号处理计算。
性能更高的定制VLSI电路
» 灵活性(易变性)差,价格竞争力弱。
定点系统模型
定点 硬件模型
物理实现
在FPGA或ASIC平台上实现
基本分析和设计方法
基本流程:
» 需求分析→算法分析和设计→系统结构设计→实现与调 试
算法分析
» 目标:建立满足处理速度和功耗要求,同时具有最小结 构的电路系统结构。 » 区别于通用结构器件:保证速度和优化软件和存储器需 求
结构设计
标准电路
定制电路
固定连线
模拟电路 标准逻辑
定制可编程
半定制
手工制版图
存储器 可编程
RAM 微处理器 可编程DSP
连线 可编程
PROM EPROM ROM
可编程 逻辑
FPL 门海 CPLD FPGA SPLD
门阵列
标准 单元
全定制
基于单 元定制
ULA Megacell MasterSlice Composite cells NAND阵列
FPGA和CPLD结构
FPGA
CPLD
现场可编程逻辑阵列 FPGA(1)
可配置逻辑资源
»可配置逻辑块(Configurable logic Blocks, CLBs)
– 基本功能单元 — 一般以整列形成遍布整个芯片
FPGA(2)
»I/O 块(I/O Blocks,IOBs)
– 内部逻辑和外部封装引脚的接口电路.
核心实现技术
计算结构设计
»算法分析的结构为计算结构设计提供了电路的核 心结构,是电路最简设计的依据 »计算结构设计必须满足信号处理速度要求——实 现算法的基本保证
电路设计
»依据计算结构设计的结果,找出满足结构设计要 求的数字电路 »满足速度和功耗要求
II. FPGA技术
VLSI电路分类
单片大规模集成电路
实时信号处理系统设计与实现
王明全 wmingquan@gmail.com 2014
课程目标
了解
»实时信号处理的概念、技术和发展趋势
掌握
»算法从通用计算环境移植到VLSI结构的方法
重点
»基于FPGA的数字信号处理系统的设计和实现技 术
学时:40(第1~10周)
相关课程
基础课程
»数字电路设计,信号与系统 »数字信号处理理论 »可编程逻辑器件与EDA技术 »硬件描述语言(VHDL或Verilog)
2.数字系统与基本算术单元设计
» 数字表示法,加法器、乘法器和除法器设计,浮点运算 实现,MAC和SOP
3.数字滤波器设计
» FIR滤波器,IIR滤波器
4.多采样率信号处理 5. Fourier变换
» DFT,FFT,DCT
第1章 绪论
I. VLSI数字信号处理概述
数字信号处理系统
模拟输入信号
后续课程
» VLSI数字信号处理系统设计 » 嵌入式实时信号处理技术及应用实践
– 信号与信息处理和电子与通信工程专业研究生学位课
教材
Digital Signal Processing with FPGA (3rd Edition), Uwe Meyer-Baese, Springer, 2007 第2版中译本:数字信号处理的FPGA实现,刘凌 译,清华大学出版社,2006
»由量化和四舍五入造成
CMOS工艺进展
性能鸿沟!(1)
随着应用需求的不断提升,以及算法复杂度 的不断增高,对更高性能的信号处理器的需 求不断增加,传统的固定架构的DSP处理器 无法应对; 在处理复杂度不断提升的算法的高性能模块 时,需要采用DSP协处理器。
性能鸿沟!(2)
面积—速度—功耗的折衷考虑
Xilinx Logic Cell
16-bit SR 16x1 RAM
a b c d e clock clock enable set/reset
4-input LUT
y mux flip-flop q
Xilinx Virtex-II Pro FPGA 体系结构
Configurable logic block (CLB) Slice CLB CLB Logic cell Logic cell Slice Logic cell Logic cell
»三维优化 (面积,速度,功耗) »实现预期的速度—面积—功率折衷 »功耗
P C V f
2
»延迟减低技术→通过低电压操作提高速度和降 低功耗; »由于乘法运算在信号处理中占主导地位,减少 乘法的操作次数至关重要(通过强度缩减实现 )。
并行处理机制
采用并行处理加快处理速度(性能)
» 模块颗粒度 – 工作(job),任务(Task),过程(Process),变量( Variable),位(Bit) » 并发控制
实时信号处理-信号处理系统的设计与实现,J.G.Ackenhusen著 ,李玉柏 等译,电子工业出版社,2002 VLSI数字信号处理-设计与实现,张欣 著,科学出版社,2003 无线通信FPGA设计,田耘 等编, 电子工业出版社,2008
讲授内容安排
1.绪论
» 数字信号处理与FPGA,数字信号处理的技术要求、设计 与实现
Tc
Ty
系统实时性(2)
Tc < LTx时输入和相应输出的定时关系
» Tc小于帧持续时间,输出总能跟上输入
x n
y m
Tc
y 0
y 1
Tc Tc
y 2
Tc
y 3
系统实时性(3)
Tc > LTx时输入和相应输出的定时关系
» Tc 小于帧持续时间,前一帧的计算要在下一帧的最后一 个样本到达之后才能完成,输出会越来越落后于输入
x n
y m
Tc LTx
y 0
y 1
y 2
Tc LTx
Tc
LTx
系统实时性(4)
实时概念
» 如果在使用变换Tj计算每个输出样本yj(m)的时候,完成 计算所需时间不超过对输出yj(m)有影响的所有xi(n)的 持续时间,则称该系统是实时的。 » 核心意义:实时系统的基本要求就是对xi(n)进行的计算 Tj必须在特定时间内完成,这个时间就是样本集xi(n)的 持续时间。
数字信号处理应用的发展
VLSI数字信号处理系统的优势
通用结构器件实现(通用可编程处理器 (GPP)和 DSP 处理器)—— 软件计算系统
» 利用软件和相应的计算逻辑电路完成信号处理计算,算 法易于实现; » 串行,无法实现并行处理; » 灵活性(通用性)好,但限制数字信号处理速度; » 一般用作主控制器。
FPGA非常适合弥补复杂算法和处理器之间存在的 性能鸿沟
» » » » » » » 能实现并行处理,具有极高性能的信号处理能力; 体系结构灵活,实现风险较低; 允许设计移植,以处理不断变化的设计需求; 开发人员可创建一个定制的、与众不同的解决方案 ; 价格下降空间较大; 从功能实现角度计算,功耗较低。 可用设计资源:IP核
实时处理的判别条件
» 1.输入样本周期Tx » 2.变换Tj的复杂度 » 3.完成变换的计算速度
数据驱动特性
» 数据驱动特性
–一旦所有的数据准备好,DSP系统中任何子任务或计 算皆可执行。 –系统由数据流而非系统时钟进行同步。
DSP系统可以用不需要全局时钟的异步电路实现。
–非中止性 for n 1 to
系统实时性(1)
将数字信号处理系统的功能定义为一个变换Tj,对输 入信号xi(n)进行处理,得到输出信号yj(m)。
y j m Tj x n
x n
T xn , n 0,1,
y m
L 1
T xn , n L, L 1,
2 L 1
Xilinx CLB
Configurable logic block (CLB) Slice CLB CLB Logic cell Logic cell Slice Logic cell Logic cell
Slice CLB CLB Logic cell Logic cell
Slice Logic cell Logic cell
» 目标:通过数字电路结构完成算法的运算结构 » 结构设计完全以算法结构为核心,以数字电路为目标。 » 区别于通用结构器件:计算系统固定,以组织指令实现 算法软件结构为目标。
核心实现技术
算法分析
»针对系统设计目标,寻找适合用简单数字逻辑电 路实现的计算方法。 »计算结构分析——寻找计算过程的优化方法,降 低计算复杂度 »算子机构分析——寻找算子合并或分解的可能性 ,找出最简单的算子模块电路 »注意:必须以数字电路为基本出发点,才能得到 正确的分析结果!
x(t)
抑混叠 滤波器
采样频率fs
采样保持
量化编码
模数转换 数字信号
x(k)
模拟输出 数模转换 数字信号 处理系统 数字输出
数字信号处理系统的VLSI设计目标
数字信号处理系统的设计目标
»以最佳的速度、功耗和面积等技术指标实现复杂 的信号处理运算。
数字信号处理系统VLSI设计目标
»充分利用硬件电路直接完成数字信号处理所具有 的高速优势,形成高性能的全硬件数学信号处理 系统。