开启左侧

锁相环技术原理及FPGA实现 杜勇 著

[复制链接]
ynjie 发表于 2019-10-30 23:39:14 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题 | 百度  谷歌  搜狗  360搜索 
  • 地区:中国大陆
  • 格式:PDF
  • 文件大小:55M
  • 时间:
  • 类别:学习
  • 价格:4共享币
  • 提示:本站推荐经典投资资料
  编辑推荐
) n' i! _& p1 _9 T8 ~1 q  适读人群 :本书适合从事数字通信和数字信号处理领域的设计工程师、科研人员,以及相关专业的研究生、高年级本科生使用。
! j' a1 E$ ]; Z' i  着眼工程设计,精解设计实例;分解实现步骤,注重实现细节;完整仿真测试,详细性能分析;提供完整代码,迅速提升实力。( n+ ]' u& Y0 t" F* Y) {( h
  内容简介" t) q. `( `) n9 R, o0 H2 \
  本书从工程应用的角度详细阐述锁相环技术的工作原理,利用MATLAB及System View仿真工具软件讨论典型电路的工作过程。以Altera公司的FPGA为开发平台,以Verilog HDL语言为开发工具,详细阐述锁相环技术的FPGA实现原理、结构、方法,以及仿真测试过程和具体技术细节,主要包括设计平台及开发环境介绍、锁相环跟踪相位的原理、FPGA实现数字信号处理基础、锁相环路模型、一阶环路的FPGA实现、环路滤波器与锁相环特性、二阶环路的FPGA实现、锁相环路性能分析、锁相测速测距的FPGA实现。) }: o. |5 e- p( Q- A# N7 K0 V
  作者简介
1 }4 g: i9 y0 ~$ ^* x1 Q3 x  杜勇,男,高级工程师,1976年生,硕士学位,毕业于国防科技大学,现工作于酒泉卫星发射中心。承担的项目共计4项,主要方向为无线通信技术的设计与实现,均为项目负责人,主要承担项目总体方案设计、核心算法设计及FPGA实现、硬件电路板的设计等工作。4 S) Q) {3 B, t0 h5 o
  目录0 U3 @( G8 l, [! y
  第1章 设计环境及开发平台介绍1
2 D- j8 }( S# Y. l0 Z  1.1 FPGA基础知识22 V4 \( }. N* s0 ?2 p% z' n
  1.1.1 基本概念及发展历程2
+ l( O( }+ d2 F- ?( G8 I  1.1.2 FPGA的结构和工作原理4. y/ P, {, C0 U7 S/ e# y; e. K+ B/ Z
  1.1.3 FPGA在数字信号处理中的应用12
$ ?7 n$ c( E  v  u$ P* L  1.2 Altera器件简介12
* s' e+ R  ?% `' T  1.3 Verilog HDL语言简介15! F: `! c4 H7 A* ^
  1.3.1 HDL语言简介154 M. C6 c" x1 b/ I/ P1 V) |) t
  1.3.2 Verilog HDL语言特点16
$ j: S% T! W/ O! n  1.3.3 Verilog HDL程序结构17
$ p/ W. O" U& _( n- E; l" x# B4 T# d5 F  1.4 Quartus II开发套件18
& P3 C" v0 y( r8 {+ \1 J( G  1.4.1 Quartus II开发套件简介18
* _+ N4 \8 b  ?4 L3 `0 ^& E: r  1.4.2 Quartus II软件的用户界面19, Y  d  U( U, k' J
  1.5 ModelSim仿真软件22. d. f$ t  W7 j( a4 U  H0 q
  1.6 MATLAB软件24
. Z: T6 t4 ~& v* W, B6 D6 q2 o  1.6.1 MATLAB软件介绍24/ @2 ^# K+ D* ]6 q9 g. E
  1.6.2 MATLAB工作界面24
- Y5 c& b" {" p" I/ A  1.6.3 MATLAB的特点及优势25& X9 D: B9 _1 d( i/ \9 h% U
  1.6.4 MATLAB与Quartus的数据交互27
$ s2 ^* M1 x2 B) {5 _: x' V; ~! A' K  1.7 SystemView软件28- J  N0 t" h) e2 T" g
  1.7.1 SystemView简介28* N8 N. E( v; J- d" q& |3 V
  1.7.2 SystemView工作界面29' o. @0 v7 x1 |: _
  1.8 小结―欲善其事先利其器32
) S+ |9 \( q+ H) ~' {3 }  第2章 FPGA数字信号处理基础33- S8 x4 V% c8 s/ ^' i
  2.1 FPGA中数的表示349 C: {! r. k, D* j4 n$ Y
  2.1.1 莱布尼兹与二进制34  k8 B3 ~. ?: A; |* R- y" m! z5 ]
  2.1.2 定点数表示35
, b* @6 X, i9 ~8 b( V  2.1.3 浮点数表示36& \5 q- R% M% |" V& F3 _
  2.2 FPGA中数的运算40
. f! [8 |' u: h+ F+ {) J! R5 u  2.2.1 加/减法运算40% i0 i' e3 ^& Z5 u, s3 {
  2.2.2 乘法运算43
4 L3 ?/ `( ^! }# N  2.2.3 除法运算44& ^5 K: P" w; _) q+ V# [1 B
  2.2.4 有效数据位的计算44
$ h5 }* p- A9 N9 z# I% }& e& b  2.3 有限字长效应47" p+ ]" o$ {( n1 w7 |$ Q
  2.3.1 字长效应的产生因素47
1 \' _9 a+ V$ F2 V  2.3.2 A/D转换的字长效应48
# ^- Y, \, F+ \' y  f" {  2.3.3 系统运算中的字长效应49) w4 x) ]# _) i+ v, ~
  2.4 FPGA中的常用处理模块51" A8 _7 L$ x3 ?1 Z0 ~
  2.4.1 加法器模块51  {0 U; Q! A) F+ m0 \* R1 B0 M) {) I
  2.4.2 乘法器模块53* j7 B; o* X+ R5 K6 K% N' J" s+ H
  2.4.3 除法器模块56
6 f& h) q; w/ ^$ V/ k$ c  2.4.4 浮点运算模块57
8 z; f  v, S. @% W6 R5 Z  2.5 小结―四个过桥人59
. Z! g* c3 }; N  第3章 锁相环为什么能够跟踪相位61
$ Y2 j. {, O1 G6 h8 v3 J  3.1 锁相环的组成62
0 @- P1 I8 D/ K% `; Y  3.1.1 关注信号的相位分量62+ R  e. ?* W; @. |* G/ z; w
  3.1.2 VCO是一个积分器件63
" A) e, g" H6 o* k5 T5 U  3.1.3 正弦鉴相器还是余弦鉴相器65
3 e; z& ]4 I- Q. ?7 R6 q  3.1.4 环路滤波器的作用682 h% y1 b0 a& e, z  m1 W* J
  3.2 从负反馈电路理解锁相环69
, j4 \6 Q: c! o7 u5 D. k  3.2.1 反馈电路的概念694 r' v# v: I$ t, t0 }* o1 g- M
  3.2.2 负反馈电路的控制作用70* d0 }5 h$ s$ L
  3.2.3 锁相环与基本负反馈电路的区别71
$ K- M. m4 P# {4 e# [2 }3 f9 D2 u9 f  3.2.4 分析锁相环的工作状态72
' k! j9 ^, \6 w2 c0 n  3.3 最简单的锁相环73
/ V6 C& t0 ~, y  R  3.3.1 一阶锁相环的SystemView模型73' f! V' b! W/ h( U! C9 @% G) r9 c; G
  3.3.2 确定VCO输出的同相支路74" |& \3 }* N: I, S9 L* r$ C+ j
  3.4 锁相环的基本性能参数77
+ g8 A: v; K) e  3.4.1 捕获及跟踪过程77; C! |! V* f- s1 C8 E1 G4 [
  3.4.2 环路的基本性能要求78" S0 S0 D! L+ [0 Q9 P- g* {0 O7 S2 {+ @' G
  3.5 分析一阶环的基本参数79
! A- @! l6 w% n: D  j% n! X0 u  3.5.1 数学方法求解一阶环79
* _' A, ?, ]% Q' V2 ]  3.5.2 图解法分析一阶环工作过程81! b0 Y5 c6 G) [* o
  3.5.3 工程设计与理论分析的差异826 l. I& W- t+ w3 H% Q, z. R
  3.5.4 遗忘的参数――鉴相滤波器截止频率853.6 小结――千条路与磨豆腐876 u: v6 t3 o% h0 G1 \  k# M
  第4章 一阶锁相环的FPGA实现89
8 y, U2 z/ N0 \& ]' Q, U" s  4.1 一阶环的数字化模型90
- Q: J# l- e' O6 U& y% z; Q, l$ T  4.1.1 工程实例需求905 n  I: q! s7 V  i; P
  4.1.2 数字鉴相器91
0 N3 k# o5 x: ?  4.1.3 数控振荡器929 G: @) j- c* p4 R4 H
  4.1.4 计算环路增益94
- ~: @, g0 ~- p2 r  4.2 数字鉴相滤波器设计95
+ P- C# r  U, V. g  i" f  4.2.1 FIR与IIR滤波器95
  U8 f5 G5 Z/ \: C, b  4.2.2 MATLAB滤波器函数97
8 D) p9 y7 S+ w0 s0 {  4.2.3 FIR滤波器的MATLAB设计100; }1 _/ |. C. J
  4.2.4 量化滤波器系数1028 V& d$ a/ E( y+ H9 R0 F/ I
  4.3 Verilog HDL代码风格105
( |: a; @) E: c  4.3.1 文件接口声明105; s% b; |7 A% o0 W% K  u5 G9 y
  4.3.2 变量的命名方式106* H: [2 X: w  Z9 E
  4.3.3 模块对齐方式106
; s8 [0 v2 f% _9 J7 o% N* t1 g1 w  4.3.4 阻塞赋值和非阻塞赋值107
& f, q. ]4 M+ F; B' i0 c& V  4.3.5 注释语句1078 ?! @, T6 P2 X+ R5 l$ J
  4.4 一阶环的Verilog HDL设计108
& y" U3 R, ^' ~- x2 ~4 |$ I  4.4.1 新建FPGA工程108
4 y" C/ o. X8 b$ \. d/ \. A; C. y  4.4.2 数字乘法器设计1105 Y  k8 I7 L1 K& q! _
  4.4.3 低通滤波器设计112
1 Y* t0 k( k6 @# q7 x# j/ m  4.4.4 数控振荡器设计115; R0 Q! w$ e0 G6 }' F
  4.4.5 顶层文件设计115: U7 d) A" s1 U: a, Z& e
  4.5 一阶环的ModelSim仿真测试119
- {4 F5 v$ |: N; }# a3 |  4.5.1 MATLAB生成测试数据119
( Z. H1 h6 ^6 F! ]  4.5.2 编写测试激励文件120
" z. O  t# p( o1 t4 w  4.5.3 环路为什么不能锁定122
0 _- G* y% c; G  4.5.4 继续仿真分析环路性能125! M+ M8 U+ m% a1 U: u$ X" \$ l
  4.6 小结―科学的方法127
; U# G* L/ f1 d% O  第5章 从线性方程到环路模型129
6 I+ O  ~  g+ v  5.1 线性时不变系统1300 H! n! X" {9 x. C% S+ \5 M
  5.1.1 线性系统的概念130
/ T9 P! A0 A9 W! R/ C  5.1.2 时不变系统的概念132" g0 X7 {# z1 V0 A) w3 D7 N! A
  5.1.3 为什么研究线性时不变系统132
5 O' ]' i. s4 C* D7 d  5.2 信号的线性分解133
5 z) M! h: s$ S  5.2.1 信号的常用分解方法133
$ O, \) x2 {/ I9 m4 m  5.2.2 分析的化身―欧拉135
& I- R8 L/ A# r8 [( L; S8 P: R- b  5.2.3 “e”是一个函数的极限137
3 k( f; i3 D+ Z5 ]9 ~  5.2.4 泰勒、麦克劳林与牛顿139+ c1 w( X$ A, e- _5 t; X5 i' l# c
  5.2.5 上帝创造的公式―欧拉公式1415 P  ~) w! [  R! P% b  ?- _2 X
  5.3 从傅里叶级数到Z变换142
+ N3 ~- s0 f7 A' Q; _  5.3.1 温室效应的发现者―傅里叶1422 u) N$ ?' h% r  D) ~
  5.3.2 傅里叶级数是一篇美妙的乐章1433 ~7 F1 K2 M1 ?
  5.3.3 负频率信号是什么信号?147
7 g9 D% u5 j9 L4 j  W  5.3.4 傅氏变换与拉氏变换1514 E' \" y' o5 r9 U2 H+ ^* ?
  5.3.5 Z变换―离散时间系统分析工具1532 T, X* k; Z! b) k5 E- i
  5.3.6 如何判断系统是否稳定156
. K$ H" H& M' R8 W8 _  5.4 锁相环路的模型158( X0 o. k" `9 J8 v8 c( A3 N
  5.5 小结―乔布斯的演讲160
) R& n3 K7 E5 d% z. v2 h3 |  第6章 环路滤波器决定锁相环特性163
4 B, Z* ^% z. r# ~  6.1 最简单的环路滤波器―RC滤波器164- t8 V! |( l" K/ u) H2 C7 {
  6.1.1 RC低通滤波器的频率特性164
! t1 N; `0 _. j  Z* r/ N  6.1.2 二阶环路的传输函数166
7 Z9 @6 H0 z+ f) t$ |- F  6.2 回顾二阶线性电路167$ ]2 G. T3 s7 t# U7 l" Y
  6.2.1 二阶线性电路与锁相环1671 x: l! Q# ~, {* X# T. m
  6.2.2 固有振荡频率与阻尼系数168* Y- }5 L& b& e2 p* |5 \; w
  6.2.3 单位阶跃信号的响应分析169
' F2 m6 M+ x# w+ Z# _  6.3 RC滤波器二阶环的SystemView仿真172
1 |. K' g7 {6 Z  6.3.1 RC滤波器锁相环路模型172  D. J! A! w4 U: @. |8 t" e
  6.3.2 锁定状态与阻尼系数的仿真174! m+ c# ^2 u/ V  ]
  6.4 反馈环路的稳定性分析177
! V8 N* r6 B, O% ^  [  6.4.1 系统稳定与锁相环稳定的关系177
8 ^- M! p( \4 {+ \: q" Z( M  6.4.2 频率特性与环路的稳定性关系177* J% d; c5 }! Z- R! s4 F: }
  6.4.3 伯德图分析方法179
5 q& S! g4 A( V9 {8 g: I' i  6.4.4 伯德图分析RC二阶环路的稳定性180
: n# Z1 {- m- y9 J. p  6.4.5 二阶环路的相位滞后是如何产生的1816.4.6 鉴相滤波器的影响182: W2 v! ]) Z1 P$ [2 U
  6.5 无源比例积分滤波器184
; Y' a. k5 P, Y% ?; V  6.5.1 频率特性184
2 _+ ?& o8 {  t  |" ~) \  6.5.2 环路的传输函数1851 ^( S. W8 K+ g& x% D
  6.5.3 环路稳定性分析及参数设计186; c3 L9 C6 x. h% L, s" P  C
  6.5.4 环路的SystemView仿真188
9 z; u4 l! m; G0 M7 w/ e, ~  6.6 有源比例积分滤波器189
; h' n( U1 L# B/ C  K- }# L5 K* Z, F" |  6.6.1 频率特性189
& F/ E! D: w! T! R( G  6.6.2 环路的传输函数1912 Z$ a6 z% T/ f: b/ u
  6.6.3 环路稳定性分析及参数设计1938 C! k( h2 o# t# M2 o& V
  6.6.4 环路的SystemView仿真1948 D7 N; H- R9 t: l
  6.6.5 为什么稳态相差可以为零1968 m0 N( {0 H, S/ Z# A
  6.7 小结―世界上最容易的事198( M' u4 f4 e  b$ D0 z6 ~: G
  第7章 二阶环的FPGA实现199' S4 c) s: Y/ C8 q0 C1 p
  7.1 依据模拟环设计数字环200
* U+ q- v! V$ l: e" X/ J  7.1.1 从模拟到数字――双线性变换200
& Y; l% _5 m5 p) v  7.1.2 环路滤波器的数字化202
' b, {5 a$ |& ]( d, {$ _; ]; q! u  7.1.3 理想二阶环的参数设计203" {5 E  ]" A) z4 W$ h$ T
  7.1.4 理想二阶环的Verilog HDL设计2055 d7 l+ o1 a  l8 L
  7.2 FPGA实现后的仿真测试2089 H2 U2 P% ^' d) z" B
  7.2.1 环路增益对锁定性能的影响208. [( {" t1 T, b# r5 u
  7.2.2 频差对锁定性能的影响210
2 L# d+ l( ?5 T9 U% l  7.2.3 环路捕获范围测试211
% V2 g6 S- f1 f# e  7.3 理想二阶环的数字化213
0 Y+ o2 ~( p4 h9 ]  7.3.1 NCO的数字化模型213) y1 g: P, i( ?. c9 r" \# w  C
  7.3.2 环路的数字化模型214; Y3 @0 e0 N! `/ H
  7.4 模拟与数字环路的关联2151 q( i& A5 }& U/ o# t" s4 X
  7.4.1 确定环路滤波器系数2158 `3 r& P: N: o$ e. [
  7.4.2 增益与环路滤波器系数的关系216
- ~: V; A& O* N  7.4.3 两种系数计算方法比较216
* F" |/ M) C/ L! c- _* R  7.5 小结―芝诺与庄子的哲学217
; c0 m, R* D5 b  第8章 锁相环的性能分析2197 o7 }. n5 n; j! g2 }# l$ h. B( k
  8.1 捕获性能220
% e: _. d9 w0 d) F5 f- b! S  _  8.1.1 捕获过程2208 Y- A9 i- s; r. g8 H* F
  8.1.2 捕获带与捕获时间221
. |# r2 f3 q$ z& A' Q* q  8.1.3 辅助捕获方法222. s+ g: D- w$ x, _' A$ N
  8.2 跟踪性能224, U. R/ I4 D% t, _/ Y; ~6 V4 B
  8.2.1 环路的稳态相差224
  ^; v' [0 e8 n; a  8.2.2 环路的频率特性225
- d  H. y4 `6 A% x2 g% _- m( b  8.2.3 调制跟踪与载波跟踪228
! G' T9 v" [/ @+ X/ l0 l  8.2.4 两种跟踪方式的SystemView仿真229- P9 Q5 E. g6 h* i! W
  8.3 噪声性能 237
0 A# c1 L, [0 h! T2 I  8.3.1 噪声情况下的环路模型237. ~; P' ]: s: _" m* ?
  8.3.2 输出相位噪声方差240; Z: T7 r- ^' r& ~1 H
  8.3.3 环路噪声带宽241
3 M3 F+ G& W7 a2 u9 M  8.3.4 环路信噪比2426 B, _+ _1 [( ?
  8.4 理想二阶环设计公式244
* A8 S  v# S8 J. a$ |8 W* b  8.5 小结―兴趣是最好的老师245) [4 x! V( W* w6 u
  第9章 锁相环解调PSK信号的FPGA实现247
3 ~5 K) A/ t  M7 v  9.1 PSK调制解调原理248" v$ @; m2 a( f
  9.1.1 PSK调制原理及信号特征248
1 @6 B; o+ z5 M, d3 V; |  9.1.2 PSK信号的MATLAB仿真249
+ B1 U% C6 e' ?) \( C. t' c  9.1.3 锁相环解调PSK原理252* Y2 M/ S6 H( A3 k1 g; k
  9.2 锁相环路解调参数设计254
' [3 U$ O9 s9 B" ?  9.2.1 总体性能参数设计254
0 ]  T1 X$ I" b" v$ \: j  9.2.2 下变频乘法器设计256
2 ~! ^: T8 u1 G$ B7 x  9.2.3 下变频低通滤波器设计2577 k# C* B  [3 N  U) ~
  9.2.4 鉴相乘法器设计259$ O3 N0 r0 ]% [$ T) t; j7 e
  9.2.5 数控振荡器设计260
3 [9 Q5 V0 l1 z% Y4 J  9.2.6 环路滤波器设计261
  I6 n3 k" L/ I  9.3 锁相解调环的Verilog设计262
$ T) i0 c& O; u1 g  9.3.1 顶层文件的Verilog设计2623 m# C8 o8 q5 C0 J6 u- I
  9.3.2 鉴相器的Verilog设计2645 c, s8 H) S' s4 j; Y
  9.3.3 环路滤波器的Verilog设计265
/ U% Q' `; e) z; {% f2 J% [  9.4 锁相解调环的仿真测试266: c6 I* r: I- M! F
  9.4.1 环路捕获范围测试266
# [# }, Z% s9 _) R7 i- V  9.4.2 NCO更新周期对环路增益的影响267. H' i7 d) |1 g
  9.5 小结―渔王的儿子272
' I$ P/ P; V2 Q: n  参考文献274
- Q; v0 ~, E$ u1 Q  前言/序言
0 S+ a, W( h& q# \8 E, f  为什么要写这本书
9 ]$ z/ ~: e# W7 n6 I# _( i  1965年,英特尔联合创始人戈登?摩尔(Gordon Moore)预测,计算机芯片的处理能力每两年就会翻一番。尽管已经过去50多年,摩尔定律仍然有效。半导体行业的发展速度,以及摩尔定律的精准性预测一度连摩尔本人都感到无比惊奇!; J4 y) i( Z6 _% a6 `: Q2 {* u6 u
  2015年6月1日,英特尔宣布将以每股54美元的价格收购Altera,以此计算,此交易总价将达到167亿美元,创造了英特尔并购历史上金额最大的纪录。一时间,传闻四起,业内专家和媒体开始讨论,FPGA计算机是否将成为可能?" V- t* ]* M) a4 H8 a
  无论你是否愿意,只要从事的是与电子及信息处理相关的行业,FPGA的地位已显得越来越重要,它已成为电子行业的基本设计平台之一!
9 _3 z( Q* N3 Y  @2 |4 _4 j  无论多么高大上的技术,工程师要能够熟练应用到自己的工程项目中,都必须深入了解每一个技术实现细节。所谓“九层之台,起于垒土;合抱之木,生于毫末”。对于繁杂的技术实现方法,“各个击破”是有效学习应用的不二法门。
! @7 @+ l, ^2 H- y, y, q* f  自作者于4年前开始陆续出版数字通信技术的FPGA实现相关著作以来,通过邮件或博客的方式收到了广大读者的很多反馈意见。一些读者直接通过邮件告知书中的内容对工作中提供的直接或间接的帮助;一些读者提出了很多中肯的、有建设性的意见和建议;更多的读者通过邮件或博客交流书中的相关设计问题。归纳起来,不少读者的问题集中在数字锁相环技术的设计及实现方面。在前几本著作中,限于书中内容编排,对通信系统中最困难的锁相环技术阐述得还不够系统全面。目前市场上讲解锁相环技术的图书,主要集中在讲解锁相环的基本工作原理,或介绍一些专门的锁相环集成芯片,因此,将锁相环的工作原理与FPGA实现结合起来讨论,显得十分必要。
- [2 p: C. F6 ]. C6 b9 C9 k) A  作者在写作本书的过程中,兼顾锁相环技术的理论,以及工程设计过程的完整性,重点突出FPGA设计方法、结构、实现细节,以及仿真测试方法。在讲解理论知识的时候,结合SystemView、MATLAB软件仿真实例,重点从工程应用的角度进行介绍,主要介绍工程设计时必须掌握和理解的知识点,便于读者尽快地找到理论与工程实现之间的结合点。在讲解实例的FPGA实现时,不仅对所有实例给出了完整的程序代码,并且从思路和结构上进行了详细的分析和说明。根据作者的理解,针对一些似是而非的概念,结合工程实例的仿真测试加以阐述,希望能对读者提供更多有用的参考。相信读者按照书中讲解的步骤完成一个个工程实例时,会逐步感觉到理论与工程实现之间完美结合的畅快。随着读者掌握的工程实现技能的提高,对锁相环理论知识的理解也必将越来越深刻,当重新阅读以前学过的原理时,头脑里就更容易构建起理论知识与工程实践之间的桥梁。
1 c& E+ E1 X5 P( J5 [3 ~) ?6 b# o  本书的内容安排
& j) A$ G2 C$ B& q/ E' o( v  第1章首先介绍了FPGA的基本知识,以及Altera公司的主要器件。本章在介绍了FPGA的发展历程、结构及工作原理等基本知识后,对本书所用到的设计语言及工具软件进行了简要介绍,主要包括Verilog HDL语言、Quartus II、MATLAB和SystemView软件。所谓“工欲善其事,必先利其器”。之所以说是简要介绍,因为这些开发工具本身的功能十分强大,每一种工具都有种类繁多的专门著述进行阐述。随着工程师设计经验的积累,设计水平的提高,越能更全面地掌握设计工具的特点,从而更好地发挥设计工具的性能,以最小的代价设计出理想的产品。好比一把宝剑,只有握在高手的手中才能发挥出最大的威力。1 t, @* S3 M* k( ]& N; B
  第2章介绍了FPGA数字信号处理基础知识。数字信号在FPGA等硬件系统中实现时,因受寄存器长度的限制,不可避免地会产生有效字长效应。设计工程师必须了解字长效应对数字系统可能带来的影响,并在实际设计中通过仿真来确定最终的量化位数、寄存器长度等内容。本章在详细分析了字长效应在FPGA设计中的影响后,对几种常用的运算模块IP核进行介绍,讨论了各IP核控制参数的设置方法。IP核在FPGA设计中的应用十分普遍,尤其是在数字滤波器等信号处理领域,采用设计工具提供的IP核进行设计,不仅可以提高设计效率,而且可以保证设计的性能。+ R. l4 Z# u/ I/ n. S' S
  第3章从锁相环的组成讲起,深入细致地探讨锁相环关注的信号特性,全面阐述VCO和乘法鉴相器的工作方式。随后借用最简单的反馈电路等基础知识,逐步揭开锁相环跟踪信号相位的神秘面纱。最后通过SystemView软件工具,详细仿真分析了一阶锁相环的工作过程,全方位地了解锁相环的工作机理。# Z0 R1 \# H1 y0 q# D
  第4章讨论了一阶锁相环的FPGA实现方法。根据作者的学习经验,这个阶段最期望的一定不是再去理解什么原理公式,学习什么方法思路。好比初次接触到羽毛球时,在网上看了一段中规中矩的教学视频,又刚好买回一支炫丽的球拍,走进球场,实在没有心情再听老师讲什么挥拍动作和击球技巧,只想痛痛快快地上球场打上几拍了。这一章,我们将完成一个完整的一阶锁相环电路的FPGA设计及仿真测试过程。
) o+ X3 f! r' F/ m+ N, p( X6 a9 u  第5章又回到理论知识上来。学习的过程通常是学习(理论)—实践(工程)—学习(理论)—实践(工程)的循环反复过程,每一次循环都会带来一次提高。前几章,我们主要从环路基本概念的角度,对环路进行了分析和仿真,从而初步建立起对锁相环路工作机理的认识。要深入研究锁相环技术,必须建立环路的系统模型,而后采用数学方法对模型进行精确的分析。这一章我们从最基本的线性时不变系统知识开始,逐步建立起锁相环路的数学模型,为后续的分析打下坚实的基础。在建立模型的过程中,我们会发现,所有的知识,所有的公式其实都是在大学的一些基础课程中学习过的。& v, Q. `/ j8 {: T4 I% y0 p
  第6章深入讨论锁相环中最关键的组成电路—环路滤波器。我们从最简单的环路滤波器—RC低通滤波器开始,逐步理解环路滤波器对锁相环路性能的决定性作用,并引出本书所研究的重点—由有源积分滤波器组成的理想二阶环路。为了直观说明环路滤波器对锁相环路性能的影响,以及锁相环路参数的设计方法,我们再次采用SystemView搭建了锁相环路模型,并通过翔实的仿真数据来说明一些看似深奥的理论知识。
7 M) ^( A& Y2 w8 S  第7章开始讨论工程上应用最多的理想二阶环路的FPGA实现。前两章讲了一大堆枯燥的锁相环原理,本质是说理想二阶环具有相当优异的性能。我们在第4章已经对一阶锁相环的FPGA实现进行了详细的讨论,有了前面章节的基础,就可以开始设计二阶环的FPGA电路了,并且要通过FPGA设计后的仿真来验证理论的正确性。二阶锁相环路相比一阶环路来讲,仅仅是多了一个环路滤波器。正是这个环路滤波器,尤其是理想环路滤波器,极大地改善了锁相环路的性能。当我们深刻理解了环路的工作原理,并动手设计出传说中的理想二阶锁相环电路时,会发现整个设计过程原来如此!$ x5 u- y, y4 E. k) o
  第8章再次回过头来,静心研究前面设计过程中还没有解决的一些问题。经过第7章的学习,我们已经可以完成一个完整的理想二阶锁相环路的设计。但在设计过程中,仍有一些参数的取值没有明确的依据,例如环路的固有振荡频率ωn该如何取值?环路的捕获带宽与捕获时间如何设计?当环路中存在噪声时(前面章节的设计都还没有涉及这个问题,但噪声又是电子系统中无法避免的),又该如何设计并计算环路的抗干扰性能呢?因此,在完成数字二阶环的FPGA初步设计之后,我们需要再回过头来更深入分析一下锁相环路性能,最终找到锁相环路参数的设计依据。
. @: k1 t# i8 E( {, A1 B! y/ c8 {- l  第9章是应用锁相环实现信号解调的一个完整的工程应用实例。经过前面章节的讨论,我们对锁相环的理论知识、仿真、设计及FPGA实现都有了比较充分的认识。在无线通信技术中,在接收端,应用锁相环获取相干载波是最为广泛的应用之一。本章以锁相环解调PSK调制信号为例,应用前面章节讨论得出的结论,完整地给出锁相环的参数设计、仿真测试,以及FPGA实现过程。
" [" I' s. A  Z9 b2 ?, y  关于FPGA开发环境的说明' u2 W) B; ?$ O) g& A) M: R3 P0 G( q8 c
  众所周知,目前两大厂商Xilinx和Altera的产品占据全球90%以上的FPGA市场。可以说,在一定程度上正是由于两家FPGA公司的相互竞争态势,有力地推动了FPGA技术的不断发展。虽然HDL的编译及综合环境可以采用第三方公司所开发的产品,如Modelsim、Synplify等,但FPGA器件的物理实现必须采用各自公司开发的软件平台,无法通用。Xilinx公司目前最新的开发工具为Vivado Design Suite套件,Altera公司目前的主流开发平台是Quartus II系列套件。与FPGA开发平台类似,HDL也存两种难以取舍的选择:VHDL和Verilog HDL。
$ O. `/ Q' H3 h2 B& o3 M" ?4 I  P  如何选择开发平台以及HDL语言呢?其实,对于有志于从事FPGA技术开发的技术人员,选择哪种平台及HDL语言并不重要,因为两种平台具有很多相似的地方,精通一种HDL语言后,再学习另一种HDL语言也不是一件困难的事。通常来讲,可以根据周围同事、朋友、同学或公司的主要使用情况进行选择,这样在学习的过程中,可以很方便地找到能够给你指点迷津的专业人士,从而加快学习进度。
1 o. z& T* Z! l4 ~  本书采用的是Altera公司的FPGA器件作为开发平台,采用Quartus II 12.1作为开发环境,采用Verilog HDL语言作为实现手段。由于Verilog HDL语言并不依赖于某家公司的FPGA产品,因此本书的Verilog HDL程序文件可以很方便地移植到Xilinx公司的FPGA产品上。如果程序中应用了IP核资源,两家公司的IP核通常是不能通用的,这就需要根据IP核的功能参数,在另外一个平台上重新生成IP核,或编写Verilog HDL代码来实现。
9 f! U2 h! V5 [' i& g  有人曾经说过,“技术只是一个工具,关键在于思想。”将这句话套用过来,对于本书来讲,具体的开发平台以及HDL语言只是实现数字通信技术的工具,关键在于设计的思路和方法。因此,读者完全不必要过于在意开发平台的差别,相信只要掌握本书所讲述的设计思路和方法,加上读者已经具备的FPGA开发经验,采用任何一种FPGA平台都可以很快地设计出满足用户需求的产品。
6 b3 ~" u  S5 b, X  如何使用本书
# Q* |' T/ k( h. n* s( u, l  本书在讨论锁相环的基本概念及工作原理时,主要用到了SystemView5.0版本软件。关于SystemView5.0软件的特点及使用方法在本书第1章进行了简要介绍。SystemView软件使用起来非常简单,书中的实例也只用到了一些基本功能。如果读者以前没有使用过这款软件的话,建议先用几个小时了解一下其基本用法,这样就可以动手对本书提供的实例程序运行仿真。当然,由于SystemView仅用来说明锁相环的工作原理,因此,读者也可以完全不去运行这些实例程序,只要理解书中提供的仿真结果即可。
: T) e1 s0 V5 `8 o  相信大部分工科院校的学生和电子通信的从业人员对MATLAB软件都会有一个基本的了解。由于它的易用性及强大的功能,已经成为数学分析、信号仿真、数字处理必不可少的工具。由于MATLAB具有大量专门针对数字信号处理的常用函数,如滤波器函数、傅里叶分析函数等,十分有利于对一些通信的概念及信号进行功能性仿真,因此,在具体讲解某个实例时,通常会采用MATLAB作为仿真验证工具。虽然书中的MATLAB程序相对比较简单,主要应用一些数字信号处理函数进行仿真验证,如果读者没有MATLAB的知识基础,建议最好还是先简单学习一下MATLAB的编程概念及基本语法。考虑到程序及函数的兼容性,书中所有MATLAB程序的开发验证平台均为MATLAB R2014a版软件。- {/ [5 }& d: y+ n
  在讲解具体的FPGA工程应用实例时,通常会先采用MATLAB对所需设计的工程进行仿真,一方面仿真算法过程及结果,另一方面生成FPGA仿真所需要的测试数据;然后在Quartus II平台上编写Verilog HDL程序对实例进行设计实现,为便于讲述,通常会先讨论程序的设计思路,或者先给出程序清单,再对程序代码进行分析说明;完成程序编写后,需要编写TestBench测试激励文件,根据所需产生输入信号的种类,可以直接在TestBench文件中编写代码来产生输入信号,也可以通过读取外部文本文件的方式来产生输入信号;接下来就可以采用ModelSim工具对Verilog HDL程序进行仿真,查看ModelSim仿真波形结果,并根据需要将仿真数据写入外部文本文件中,通常还会对仿真波形进行讨论,分析仿真结果是否满足要求;如果ModelSim波形不便于精确分析测试结果,则需要再次编写MATLAB程序,对ModelSim仿真结果数据进行分析处理,最终验证FPGA设计的正确性。3 s1 M: o( I6 m+ p# Z+ x! }" }
  本书主要以工程应用实例的方式讲解锁相环技术的原理及FPGA实现方法和步骤。书中所有实例均给出了完整的程序清单,限于篇幅,不同工程实例中的一些重复或相似的代码没有完全列出,随书配套的网络光盘上收录了本书所有实例的源程序及工程设计资源,并按章节序号置于光盘根目录下。本书在编写工程实例时,程序文件均放置在“D: PllPrograms”的文件夹下,读者可以先在本地硬盘下建立“D: PllPrograms”文件夹,而后将配套网络光盘中的程序压缩包解压至该文件夹下,大部分程序均可直接运行。需要说明的是,在部分工程实例中,需要由MATLAB产生FPGA测试所需的文本数据文件,或者由MATLAB读取外部文件进行数据分析,同时FPGA仿真的TestBench文件通常也需要从指定的路径下读取外部文件数据,或将仿真结果输出到指定的路径下。对于ModelSim仿真来讲,作为测试输入的文本文件必须放置在当前FPGA工程目录下的“simulation modelsim”路径下。因此,读者在用MATLAB生成测试数据后,需要将生成的文件复制到指定的路径下,以获取正确的仿真结果。4 r4 C& {; t8 `2 A$ J( M
  致谢
) w. M* ?5 Q( ?' m& j# w7 P( a/ m  有人说,每个人都有他存在的使命,如果他的使命迷失了,也就失去了他存在的价值。不只是每个人,每件物品也都有其存在的使命。对于一本书来讲,其存在的使命就是被阅读,并给阅读者带来收获。
) S; I6 l$ r8 L  作者在写作本书的过程中查阅了大量的资料,在此对资料的作者及提供者表示衷心的感谢。由于写作本书的缘故,重新阅读一些经典的数字通信理论书籍时,再次深刻感受到前辈们严谨的治学态度和细致的写作作风。& s, p/ d+ c4 O; E7 r" `# S! w) h
  在此,感谢父母,多年来一直陪伴在我的身边,由于他们的默默支持,使得我能够在家里专心致志地写作;感谢我的妻子刘帝英女士,她不仅是一位尽心尽职的优秀母亲,也是一位严谨细致的科技工作者,同时也是本书的第一位读者,在工作之余对本书进行了详尽而细致的校对;四年前初次编写数字通信的FPGA设计与实现系列图书时,女儿才刚上小学,转眼她已经上五年级了,她最爱看书和画画,小脑袋里装着越来越多的她自己的想法。, j! F; S, w* x  {- C4 t9 i
  FPGA技术博大精深,本书虽尽量详细讨论了锁相环技术的原理及FPGA实现相关内容,仍感觉到难以详尽阐述所有技术细节。相信读者在实际工程应用中经过不断的实践、思考及总结,一定可以快速掌握其工程设计方法,提高应用FPGA进行工程设计的能力。由于作者水平有限,不足之处在所难免,敬请读者批评指正。欢迎大家就相关技术问题进行交流,或对本书提出改进意见及建议。# g! H0 J, R' D/ ^+ W+ _, k. u0 }
  为便于读者交流,并及时发布相关资料及信息,本书特开设了交流博客,读者也可以通过邮件与作者进行技术交流。7 _8 Q  t5 `/ h+ }% y& I
  交流空间:http://duyongcn.blog.163.com,作者邮箱:duyongcn@sina.cn
; A) C+ C( p6 h  杜 勇4 R3 o( W8 w# B) X9 K& o: s
  2016年4月. _# H. |2 H5 x+ C
游客,本下载内容需要支付4共享币,购买后显示下载链接立即支付
* F9 |# D: n. ]0 {

: e7 I9 H4 V2 B4 B& k
回复

使用道具 举报

懒得打字嘛,点击快捷回复 【回复乱码 永久禁言】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝6

帖子1923

发布主题
推荐素材更多+
广告位

服务电话

15987183307

QQ:1136111231
关注我们 :

QQ- Archiver-手机版-小黑屋-经典-文库- 与你共享

Powered by ynjie.com Array© 2001-2013 ynjie.com  滇ICP备19007624号-1