本書首先概述了當前的FPGA技術、器件, 以及用于設計先進的DSP系統(tǒng)的工具。第1章的案例研究是40多個設計示例的基礎。隨后幾章闡述了計算機算法的概念、理論、fir和iir濾波器的實現(xiàn)、多抽樣率數字信號系統(tǒng)、dft和fft算法、未來很可能實現(xiàn)的高級算法, 以及高級濾波器等。
近年來,F(xiàn)PGA的復雜性不斷提高,現(xiàn)在我們可以用單個FPGA構建大型的DSP系統(tǒng)。新型的元件現(xiàn)在包含數以百計的嵌入式乘法器和大容量片上存儲器。由于之前版本主要研究優(yōu)化系統(tǒng)的規(guī)模,目前系統(tǒng)設計問題就變得尤為重要。關于此類問題的研究可以用更大規(guī)模的任務來實現(xiàn),例如PCA(主成分分析)或ICA(獨立分量分析)算法、圖像和視頻處理系統(tǒng)或者本版中討論的新的256點FFT設計。本版新增了總計150多頁內容,包括11個全新的系統(tǒng)設計理念,其中一些有超過100個嵌入式乘法器的需求。第4版的創(chuàng)新主要包括以下幾方面:
●本書中的HDL仿真現(xiàn)在由Altera強大的ModelSim仿真器和Xilinx所設計的ISIM仿真器來實現(xiàn)。
●對于系統(tǒng)的設計,很多試驗臺數據現(xiàn)在由MATLAB或SIMULINK提供。
●介紹了新的使用VHDL-2008定點和浮點運算IEEE庫的系統(tǒng)級設計。
●比較了直接全通IIR濾波器、雙四邊形濾波器、晶格濾波器和波數字濾波器。
●實現(xiàn)了ICA和PCA算法。
●討論并采用HDL實現(xiàn)了將A律、ADPCM轉換為MP3的語音和音頻壓縮方法。
●基于HDL和嵌入式微處理器討論了用于邊緣檢測和中值濾波的圖像處理算法。
●討論了使用具有自定義指令的微處理器的運動補償的視頻處理。
●提供來自Altera和Xilinx的SIMULINK工具箱的設計實例以及支持XilinxISE和ISIM仿真。
●就在撰寫本書時,更新和錯誤修復報告將發(fā)布在作者的網頁上:www.eng.fsu.edu/~umb。
致謝
在一些相關討論中,很多同事和同學對第3版提出了反饋意見,并再次幫助我對本書進行改進。感謝:R.Adhami、M.Abd-EI-Hameed、C.Allen、S.Amalkar、A.Andrawis、G.Ascheid、P.Athanas、S.Badave、R.Badeau、S.Bald、A.Bardakcioglu、P.Bendixen、C.Betancourth、R.Bhakthavatchalu、G.Birkelbach、T.Borsodi、F.Casado、E.Castillo、O.Calvo、P.Cayuela、A.Celebi、C.-H.Chang、A.Chanerley、K.Chapman、I.Chiorescu、G.Connelly、S.Connors、J.Coutu、S.Cox、S.David、R.Deka、A.Dempster、J.Domingo、A.Elias、F.Engel、R.vanEngelen、H.Fan、S.Foo、T.Fox、M.Frank、J.Gallagher、A.Garcia、M.Gerhardt、A.Ghalame、G.Glandon、S.Grunwald、A.Guerrero、W.Guolin、O.Gustafsson、H.Hamel、S.Hashim、S.Hedayat、D.Hodali、S.Hong、K.Huang、F.Koushanfar、M.Kumm、M.Krishna、H.LeFevre、R.Leupers、S.Liljeqvist、A.Littek、A.Lloris、M.Luqman、V.Madan、M.Manikandan、J.Mark、B.McKenzie、H.Meyr、P.Mishra、A.Mitra、I.Miu、J.Moorhead、S.Moradi、F.Munsche、Z.Navabi、L.Oniciuc、B.Parhami、S.Park、L.Parrilla、V.Pedroni、R.Pereira、R.Perry、A.Pierce、F.Poderico、G.Prinz、D.Raic、N.Rafla、S.Rao、N.Relia、F.Rice、D.Romero、D.Sarma、P.Sephra、W.Sheng、T.Taguchi、N.Trong、C.Unterrieder、G.Wall、G.Vang、Y.Wang、R.Weihua、J.Wu、J.Xu、O.zavala-Romero、P.Zipf、D.Zhang、L.Zhang、M.Zhang。
特別感謝我的(使用FPGA的EEL5722DSP)春季班的同學。感謝NickStroupe在DWT去噪項目、YeYang在LPC項目、SoumakMookherjee在256點FFT項目、NarenNagaraj在全通濾波器項目、VenkataPothavajhala在雙二階浮點設計、HaojunYang在網格濾波器設計,以及CrispinOdom在ICA項目和MS論文中所做的工作。
特別感謝馬德里大學的GuillermoBotella和DiegoGonzález在圖像和視頻處理章節(jié)中給予的幫助。
同樣還要特別感謝DavidBishop和HuibertLincklaen對本書學習資料中使用他們的庫的許可。
關于Altara,我要感謝BenEsposito、M.Phipps、RaleneMaroccia、BlairFort和StephenBrown,感謝他們提供的軟硬件支持。在Xilinx支持方面,A.Vera、M.Pattichis、CraigKief和ParimalPatel。
關于出版商(Springer-Verlag),我要感謝Baumann博士的耐心幫助,他提供了對本書進行更新的寶貴機會。
如果讀者有任何關于本書的改進意見,請發(fā)郵件到Uwe.Meyer-Baese@ieee.org,或者通過出版商直接聯(lián)系我,本人將不勝感激。
UweMeyer-Baese
塔拉哈西,2014年1月
Uwe Meyer-Baese在德國南部的達姆施塔特技術大學講授了多年的FPGA通信系統(tǒng)設計課程,過去10年中他在達姆施塔特技術大學和美國佛羅里達大學指導了60多篇碩士研究生畢業(yè)論文,基于豐富的教學經驗,他曾經撰寫過有關數字信號處理方面的多本教材。
第1章 緒論 1
1.1 數字信號處理技術概述 1
1.2 FPGA技術 2
1.2.1 按顆粒度分類 3
1.2.2 按技術分類 6
1.2.3 FPL的基準 7
1.3 DSP的技術要求 11
1.4 設計實現(xiàn) 13
1.4.1 FPGA的結構 17
1.4.2 Altera EP4CE115F29C7 21
1.4.3 案例研究:頻率合成器 27
1.4.4 用知識產權內核進行設計 34
1.5 練習 39
第2章 計算機算法 53
2.1 計算機算法概述 53
2.2 數字表示法 53
2.2.1 定點數 54
2.2.2 非傳統(tǒng)定點數 57
2.2.3 浮點數 68
2.3 二進制加法器 71
2.3.1 流水線加法器 74
2.3.2 模加法器 77
2.4 二進制乘法器 78
2.5 二進制除法器 84
2.5.1 線性收斂的除法算法 85
2.5.2 快速除法器的設計 90
2.5.3 陣列除法器 95
2.6 定點算法的實現(xiàn) 96
2.7 浮點算法的實現(xiàn) 98
2.7.1 定點數到浮點數的格式
轉換 98
2.7.2 浮點數到定點數的格式
轉換 99
2.7.3 浮點數乘法 100
2.7.4 浮點數加法 101
2.7.5 浮點數除法 103
2.7.6 浮點數倒數 104
2.7.7 浮點操作集成 105
2.7.8 浮點數合成結果 109
2.8 MAC與SOP 111
2.8.1 分布式算法基礎 112
2.8.2 有符號的DA系統(tǒng) 114
2.8.3 改進的DA解決方案 115
2.9 利用CORDIC計算特殊
函數 117
2.10 用MAC調用計算特殊
函數 125
2.10.1 切比雪夫逼近 125
2.10.2 三角函數的逼近 127
2.10.3 指數函數和對數函數的
逼近 135
2.10.4 平方根函數的逼近 141
2.11 快速幅度逼近 147
練習 150
第3章 FIR數字濾波器 163
3.1 數字濾波器概述 163
3.2 FIR理論 163
3.2.1 具有轉置結構的FIR
濾波器 164
3.2.2 FIR濾波器的對稱性 167
3.2.3 線性相位FIR濾波器 168
3.3 設計FIR濾波器 169
3.3.1 直接窗函數設計方法 170
3.3.2 等波紋設計方法 172
3.4 常系數FIR設計 174
3.4.1 直接FIR設計 174
3.4.2 具有轉置結構的FIR
濾波器 178
3.4.3 采用分布式算法的FIR
濾波器 183
3.4.4 IP內核FIR濾波器設計 193
3.4.5 基于DA和基于RAG的
FIR濾波器的比較 196
3.5 練習 197
第4章 IIR數字濾波器 205
4.1 IIR數字濾波器概述 205
4.2 IIR理論 208
4.3 IIR系數的計算 210
4.4 IIR濾波器的實現(xiàn) 213
4.4.1 有限字長效應 216
4.4.2 濾波器增益系數的優(yōu)化 217
4.5 快速IIR濾波器 218
4.5.1 時域交叉 218
4.5.2 群集和分散預測的流水線
技術 220
4.5.3 IIR抽取器設計 222
4.5.4 并行處理 223
4.5.5 采用RNS的IIR設計 226
4.6 窄帶IIR濾波器 226
4.6.1 窄帶設計示例 227
4.6.2 級聯(lián)二階系統(tǒng)窄帶濾波器
設計 234
4.6.3 并聯(lián)二階系統(tǒng)窄帶濾波器
設計 237
4.6.4 窄帶IIR濾波器的網格
濾波器設計 244
4.6.5 窄帶IIR濾波器的波形
數字濾波器設計 251
4.7 窄帶IIR濾波器的全通濾波器
設計 257
4.7.1 窄帶IIR濾波器的全通波形
數字濾波器設計 259
4.7.2 窄帶IIR濾波器的全通網格
設計 263
4.7.3 窄帶濾波器的全通直接型
設計 263
4.7.4 窄帶濾波器的全通級聯(lián)雙
二階設計 263
4.7.5 窄帶濾波器的全通并行雙
二階設計 263
4.8 練習 267
第5章 多級信號處理 273
5.1 抽取和插值 273
5.1.1 Noble恒等式 275
5.1.2 用有理數因子進行采樣速率
轉換 276
5.2 多相分解 276
5.2.1 遞歸IIR抽取器 281
5.2.2 快速FIR濾波器 281
5.3 Hogenauer CIC濾波器 284
5.3.1 單級CIC案例研究 284
5.3.2 多級CIC濾波器理論 287
5.3.3 幅值與混疊畸變 291
5.3.4 Hogenaur“剪除”理論 293
5.3.5 CIC RNS設計 298
5.3.6 CIC 補償濾波器設計 300
5.4 多級抽取器 302