第15讲DSP Builder设计实例(2)

Download Report

Transcript 第15讲DSP Builder设计实例(2)

电子设计自动化技术
讲授:伍宗富
《 E D A 技 术》 课 程 教 学
讲授:伍宗富
湖南文理学院电气与信息工程学院
2015年4月13日星期一
电子设计自动化技术
讲授:伍宗富
第 十五 讲 DSP Builder设计实例(2)
 教学目的:使学生会用Quartus II和DSP Builder软件设计
DSP的常用应用模块。
 教学重点:通过实例讲解DSP应用模块的开发方法。
 教学难点:DSP应用模块的设计步骤。
 教学方法:讲授法、计算机辅助法。
 课时计划:2学时
使用教材:
SOPC技术与应用.江国强 编著.北京:机械工业出版社
 主要参考文献:
[1] 刘洪涛.ARM嵌入式体系结构与接口技术[M].北京:人民邮电出版社
[2] 田耘等.无线通信FPGA设计[M].北京:电子工业出版社
[3] 孟宪元等.FPGA嵌入式系统设计教程[M].北京:电子工业出版社
[4] 徐光辉等.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社
[5] 沈文斌.嵌入式硬件系统设计与开发实例详解[M].北京:电子工业出版社
[6]周立功等.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社
[7] 王彦等.基于FPGA的工程设计与应用[M].西安:西安电子工业出版社
[8] 周润景等.基于QuartusII的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社
[9] http://www.altera.com
电子设计自动化技术
讲授:伍宗富
课题: DSP Builder设计实例(2)
一、 FIR滤波器设计
二、 数字调制系统设计
三、课堂小结
四、作业
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
信号滤波可以用滤波器改变信号的频率特性,让一些
信号频率通过,而阻塞另一些信号频率。数字滤波器是
由一系列滤波器系数定义的方程,可采取数字滤波程序
来实现。在硬件不修改的情况下,只要改变滤波器的系
统表即可完成滤波器特性的修改。通过接收原始数据,
输出滤波后的数据,其性能的变化只需改变数字滤波器
的系数表。
1. FIR滤波器原理
有限冲激响应数字滤波器(FIR)具有精密的线性相位,
同时又可以有任意的幅度特性。
L 1
x(n  i )h(i )
数学上L阶的FIR滤波器系统差分方程为:y(n)  
i 0
x(n)是输入采样序列,h(n)是滤波器系数,L是滤波器的阶数,y(n)
表示滤波器的输出序列。
系统的传递函数为:
M
H z    bk z  k
K 0
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
对于直接I型的FIR滤波器是可级联的,要滤波器系数
可变的情况下,可以预先设计好一个FIR滤波器节,
在实际应用中通过不断地调用FIR滤波器节,将其级
联起来,完成多阶FIR滤波器的设计。
抽头延迟线
系数乘法器
加法器
M
H z    bk z
K 0
k
L 1
y (n)   x(n  i )h(i)
i 0
直接I型FIR滤波器:可理解为一个分节的延时线,把每一节的输出加权
累加,可得到滤波器的输出。但滤波器的阶数越高,占用的运算时间就越
多,因此在满足指标要求的情况下应尽量减少滤波器的阶数。
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
16
H z    bk z  z
2. 16阶FIR滤波器设计
k
K 1
1
15
b z
K 0
k
k
设计一个16阶的低通FIR滤波器,对模拟信号的采样频率Fs为48KHz,
要求信号的截止频率为Fc=10.8KHz,输入序列为宽为9位(最高位为符号位)。
1)4阶FIR滤波器子系统设计
1
i8:0
x_in[8:0]
Xin
z-1
X
Delay
2
i8:0
In1[8:0]
hn1
为了便于调用子系统
模块的更高级系统进行
SignalCompile分析,必
须对生成的子系统模块
的“Mask type”进行设
置。
a
b
Product
-1
z
a
3
i8:0
In2[8:0]
hn2
Delay1
X
+
b
+
+
Product1
+
z-1
Delay2
4
i8:0
In3[8:0]
hn3
X
Product2
z
i8:0
In4[8:0]
hn4
yout
y_out[19:0]
使用“Mask Subsystem…”
中的“Documentation”设置
“Mask type”为
“SubSystem AlteraBlockSet”
就可以利用SignalCompiler
正确地生成VHDL代码。
Parallel
Adder Subtractor
a
-1
5
1
+
b
Delay3
o19:0
a
X
b
Product3
o8:0
2
x4
Out2[8:0]
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
2. 16阶FIR滤波器设计
2)直接I型16阶FIR数字滤波器设计
i8:0
AltBus
-9
AltBus1
3
AltBus2
14
x_in[8:0]
+
In2[8:0]
In3[8:0]
Out2[8:0]
+
fir4_block
In3[8:0]
+
+
+
o9:0
y
AltBus17
Parallel
Adder Subtractor1
y _out[19:0]
In2[8:0]
Out2[8:0]
In4[8:0]
AltBus7
106
fir4_block1
AltBus8
106
SignalCompiler
x_in[8:0]
In1[8:0]
y _out[19:0]
In2[8:0]
In3[8:0]
Out2[8:0]
In4[8:0]
fir4_block2
AltBus12
1
AltBus13
14
x_in[8:0]
AltBus14
3
In2[8:0]
AltBus15
-9
In4[8:0]
AltBus16
512
x_in[8:0]
AltBus6
46
AltBus11
-22
17:8
BusConversion1
Parallel
Adder Subtractor
In1[8:0]
AltBus10
-12
19:0
+
+
AltBus5
-12
AltBus9
46
+
In4[8:0]
AltBus3
1
AltBus4
-22
y _out[19:0]
In1[8:0]
In1[8:0]
In3[8:0]
16个常数端口设置滤波器
的系数,可根据具体要求进
行计算而确定。
y _out[19:0]
Out2[8:0]
o8:0
x2
fir4_block3
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
2. 16阶FIR滤波器设计
2)直接I型16阶FIR数字滤波器设计
使用MATLAB的滤波器设计工具,获得滤波器系数。
(1)打开Matlab的FDATool
“start”->“ToolBoxes” ->“Filter Design”-> FDATool
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
2)直接I型16阶FIR数字滤波器设计
16
H z    bk z
k
z
K 1
1
使用MATLAB的滤波器设计工具,获得滤波器系数。
(2)选择Design Filter
 b z , h(0)  0,
15
K 0
k
k
可看成一个15阶FIR滤波器的
输出结果经过一个单位延时
单元z 1。 故在此按15阶FIR滤
波器来计算参数。
创建混合型滤波器
滤波器转换
滤波器类型
滤波器阶数
设置量化参数
实现模型
极点或零点编辑
导入滤波器
设计滤波器
窗口类型
设计方法
采样频率
截止频率
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
2)直接I型16阶FIR数字滤波器设计
使用MATLAB的滤波器设计工具,获得滤波器系数。
(3)滤波器分析
幅频响应
相频响应
求出滤波器系数
幅频特性与相频特性比较
启动群延时
直接I型FIR滤波器
零极点图
阶跃响应
冲激响应
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
2)直接I型16阶FIR数字滤波器设计
使用MATLAB的滤波器设计工具,获得滤波器系数。
(4)导出滤波器系数 (File-> Export…)
注:在Matlab主窗口的命令窗口中键入变量名并乘量级数
转换fir16_data*(2^8)会显示数据,如FIR滤波器模型使用
还需转为整数round(fir16_data*(2^8))。
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
3)扫频模块设计(产生实验用输入信号)
SignalCompiler
+
+
c
31:0
-1
31:22
20:0
Phaseword2
+
z
20:0
20:13
7:0
o8:0
AltBus
BusConversion2
LUT1
BusConversion3
Increment
8:0
Delay1
Decrement3
Parallel
Adder Subtractor2
仿真时将位值改小点,仿真后再改回来
SignalCompiler
+
+
c
double
17:0
17:5
double
z
-1
+
15:0
Phaseword2
double
15:0
12:5
double
7:0
8:0
Delay1
Parallel
Adder Subtractor2
double
o8:0
AltBus
BusConversion2
LUT1
BusConversion3
Increment
Decrement3
double
double
double
Scope
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
4)FIR滤波器仿真
滤波器系数按要求改变,则滤波器性能发生变化。
电子设计自动化技术
讲授:伍宗富
一、FIR滤波器设计
5)Quartus工程实现
NOT
OUTPUT
clockout
inst4
Param eter Value
N
1042
OUTPUT
int_div
clock
INPUT
VCC
Clockin
da_mode
ClockOut
GND
inst2
Fir16
swept_signal
clock
clock
AltBus[8..0]
AltBus[8..0]
inst
inst1
x2[8..0]
OUTPUT
X[8..0]
y [9..0]
OUTPUT
y out[9..0]
电子设计自动化技术
讲授:伍宗富
二、 数字调制系统设计
1. 基于DSP Builder的二进制数字调制系统
基带信号输入
Pulse
Generator
C1、C2为00、01、
11时分别为2ASK、
2PSK、2FSK;
10无信号输出。
1
ibit
bit
Sinn
AltBus
d
0
DEMUX
ibit
sel[0:0] 1
SignalCompiler
key11
C1
one-to-n Demux
1
ibit
sel[0:0]
sel[0:0]
0 MUX
0 MUX
1
1
key22
C2
256
sel[0:0]
0
Constant2
0 MUX
Constant1
n-to-1 Multiplexer3
n-to-1 Multiplexer
sel[0:0]
f0载波频率值设置
(如基带频率数据
的倍数乘以1000)
f2载波频率值设置
1
5000000
31:0
f0
carryer11
20000000
31:0
f1
carryer22
n-to-1 Multiplexer2
0 MUX
Product
1
9:0
+
+
31:0
z-1
AltBus2
128
9:0
Ampp
31:0
31:22
9:0
9:0
BusConversion
Delay
Parallel
Adder Subtractor
amp
19:0
sin_LUT
18:9
BusConversion1
cos_LUT
+
AltBus1
载波幅度值设置
X
b
n-to-1 Multiplexer1
31:0
9:0
a
o9:0
AltBus3
Scope
电子设计自动化技术
讲授:伍宗富
二、 数字调制系统设计
2. 基于Quartus工程编译与仿真
A_F_PSK
clock
AltBus3[9..0]
sclrp
Sinn
key 11
key 22
inst
2ASK
2PSK
2FSK
电子设计自动化技术
讲授:伍宗富
课堂小结
一、 FIR滤波器设计
(如何获得设计滤波器的系数)
二、 数字调制系统设计
(DSP Builder实现二进制数字调制)
电子设计自动化技术
讲授:伍宗富
课外作业:
(1)请根据自已的实践写出FIR滤波
器的设计步骤并说明如何获得设
计滤波器的系数;
(2)上机操作实践。