《實時數字信號處理:實踐方法與應用(第2版)》分為兩大部分:DSP實現與DSP應用。第一部分,DSP實現(第1~7章)討論了實時DSP原理、架構、算法及實現思考。第1章概述了實時DSP功能模塊的基本原理、DSP硬件選擇、定點與浮點DSP設備、實時約束、算法開發、DSP芯片挑選及軟件開發。第2章介紹了TMS320C55x DSP處理器的架構與匯編編程。第3章介紹了基本DSP概念和在DSP硬件上實現數字濾波器與算法的實際考慮。第4章集中研究了FIR濾波器的設計、實現和應用。數字IIR濾波器和自適應濾波器分別在第5、第7章介紹。FFT算法的開發、實現和應用在第6章介紹。
近年來,數字信號處理(DSP)已經擴展到超出濾波器、頻域分析及信號生成的范圍。越來越多的市場向DSP應用打開,之前實時信號處理在這些市場中或者不可行或者過于昂貴。對于實際應用的DSP算法,通用數字信號處理器的實時信號處理為其提供了有效的設計與實現方法。然而,在當今的工程領域,這是一個很有挑戰性的工作。隨著DSP滲透到很多實際應用,對高性能數字信號處理器的需求在今年迅速擴展。很多工業公司當前正參與到實時DSP 的研究與開發中。因此,不僅掌握DSP理論而且掌握實時信號系統的設計實現技術,對于當今的學生、實踐工程師及開發研究人員變得日益重要。
本書介紹了實時DSP基礎原理,并且使用實際操作的方法介紹了DSP算法、系統設計、實時實現考慮以及很多實際應用。本書包含很多有用的實例,如實際操作的實驗軟件以及使用MATLAB、Simulink、C及DSP匯編語言的程序。書中也包含用于進一步探索實例和實驗的各種練習。本書使用德州儀器的代碼集成開發環境和用于實時實驗與應用的頻譜數字TMS320VC5510 DSP啟動工具包(DSK)。
本書強調實時DSP應用,且可作為高年級大學生/研究生的教材。本書的預修課程為信號與系統概念、微處理器架構與編程以及基本的C編程知識。這些專題在初、中級電氣和計算機工程、計算機科學以及其他相關課程中均有涉及。本書亦可作為桌面參考書,以供DSP工程師、算法開發者及嵌入式系統程序員學習DSP概念,開發工作中的實時DSP應用。我們使用一種避免很多理論推導的實際方法。在每章結尾均有DSP教材列表,提供數學證明。德州儀器(www.ti.com)的TMS320C55x DSP處理器和Math Works(www.mathworks.com)的MATLAB與Simulink的手冊與使用說明同樣對學習有幫助。
這是2001年出版、名為《實時數字信號處理: 實現、應用與TMS320C55x實驗》一書的第2版,作者是Kuo,Lee,由John WileyandSons,Ltd出版。
修訂中的主要變化如下:
(1) 使用有效的軟件開發過程: 從算法設計和利用MATLAB與浮點C證明開始,到有限字長分析、定點C實現和在定點DSP處理器上使用內聯函數、匯編程序、C與匯編編程混合的代碼優化。這種一步一步的軟件開發和開發過程被用在第8~15章的有限沖激響應(FIR)濾波、無限沖激響應(IIR)濾波、自適應濾波、快速傅里葉變換和很多實際應用中。
(2) 將第1版的第9章擴展為8章,增加了必要的背景及一些廣泛使用的DSP應用,如語音編碼、信道編碼、音頻編碼、圖像處理、信號發生與檢測、回聲消除和噪聲消減等,以實施使用優化的軟件開發過程的實驗。
(3) 使用最有效的MATLAB圖形用戶接口(GUI)工具開發分析DSP算法,如信號處理工具(SPTTool)、濾波器設計與分析工具(FDATool)等。這些工具對濾波器設計、分析、量化、測試與實現都很有效。
(4) 使用一步一步的實驗創建CCS DSP/BIOS 應用、配置用于實時音頻應用的TMS320VC5510 DSK,以及利用MATLAB的CCS特性連接改進DSP開發、調試、分析和測試性能。
(5) 更新實驗以包含新的實際操作的練習與應用。同時,使用最新版的軟件和用于實時實驗的TMS320C5510 DSK版更新所有程序。
很多現有的算法和應用,可用MATLAB和浮點C程序實現。本書提供了一種系統的軟件開發過程,用于將這些程序轉換為定點C并進行優化以便在可商用的定點DSP處理器上實現。MATLAB用于分析和濾波器設計,C程序用于實現DSP算法,CCS被整合到TMS320C55x的實驗與應用中,以有效闡述實時DSP概念和應用。書中強調了C與匯編語言混合編程,以便為快速軟件開發與維護有效利用先進的DSP架構。
本書分為兩大部分: DSP實現與DSP應用。第一部分,DSP實現(第1~7章)討論了實時DSP原理、架構、算法及實現思考。第1章概述了實時DSP功能模塊的基本原理、DSP硬件選擇、定點與浮點DSP設備、實時約束、算法開發、DSP芯片挑選及軟件開發。第2章介紹了TMS320C55x DSP處理器的架構與匯編編程。第3章介紹了基本DSP概念和在DSP硬件上實現數字濾波器與算法的實際考慮。第4章集中研究了FIR濾波器的設計、實現和應用。數字IIR濾波器和自適應濾波器分別在第5、第7章介紹。FFT算法的開發、實現和應用在第6章介紹。
第二部分,DSP應用(第8~15章)介紹了一些信號處理中的實際應用,這些應用已經在系統實現中起到了重要作用。這些挑選的DSP應用包括第8章中的信號(正弦、噪聲及多頻音)發生、第9章中的雙音調多頻率檢測、第10章中的自適應回聲消除、第11章中的語音編碼算法、第12章中的語音增強技術、第13章中的音頻編碼方法、第14章中的錯誤糾正編碼技術和第15章中的圖像處理原理。
正如任何試圖在給定時間捕捉藝術狀態的書籍,本書中自然出現了這個不斷變化領域中的快速發展導致的更新。我們確信本書將作為已經產生的知識的引導者和將隨之產生的知識的啟發者。
軟件有效性
本文在實例、實驗和應用中使用了各種MATLAB、浮點與定點C、DSP匯編和C與匯編混合程序。這些程序及很多其他程序和實際數據文件均可在附帶的CD中獲得。附錄B有目錄結構和子目錄名字的解釋。這些軟件將幫助對DSP算法實現的理解,且需要在每章最后部分的實驗中用到。其中的一些實驗設計包括經過細微修改過的實例代碼。通過檢查、學習及修改實例代碼,這些軟件也可作為其他實際應用的原型。我們進行了各種嘗試以保證代碼的正確性。我們也將感謝將任何代碼錯誤告知我們的讀者(kuo@ceet.niu.cn),以便我們可以改正、更新及在網站上公告: http://www.ceet. niu.edu/faculty/kuo。
致謝
德州儀器的Cathy Wicks和Gene Frantz及Math Works的Naomi Fernandes和Courtney Esposito為我們完成本書提供了必需的支持,對此我們表示感謝。我們對支持該工程的Wiley的下列人員表示感謝: 執行責任編輯Simone Taylor,助理編輯Emily Bone和執行工程編輯Lucy Bryan。我們也感謝為本書作最終準備的Wiley員工。最后,我感謝自始至終表現出無盡的愛、鼓勵、耐心和理解的家人。
Sen M.Kuo,Bob H.Lee,Wenshun Tian
1 實時數字信號處理導論
1.1 實時DSP系統的基本要素
1.2 模擬接口
1.2.1 采樣
1.2.2 量化和編碼
1.2.3 平滑濾波器
1.2.4 數據轉換器
1.3 DSP硬件
1.3.1 DSP硬件選擇
1.3.2 DSP處理器
1.3.3 定點與浮點處理器
1.3.4 實時約束
1.4 DSP系統設計
1.4.1 算法開發
1.4.2 DSP處理器的選擇
1.4.3 軟件開發
1.4.4 高級軟件開發工具
1.5 DSP開發工具介紹
1.5.1 C編譯器
1.5.2 匯編器
1.5.3 鏈接器
1.5.4 其他開發工具
1.6 實驗與程序示例
1.6.1 使用CCS和DSK的實驗
1.6.2 使用CCS和DSK調試程序
1.6.3 使用探點的文件I/O
1.6.4 使用C文件系統功能的文件I/O
1.6.5 使用分析器進行代碼效率分析
1.6.6 使用DSK的實時實驗
1.6.7 采樣定理
1.6.8 ADC中的量化
參考文獻
練習題
2 TMS320C55x數字信號處理器導論
2.1 處理器家族簡介
2.2 TMS320C55x體系結構
2.2.1 體系結構概述
2.2.2 總線
2.2.3 片上存儲器
2.2.4 內存映射寄存器
2.2.5 中斷和中斷向量
2.3 TMS320C55x外圍電路
2.3.1 外部存儲器接口
2.3.2 直接存儲器存取
2.3.3 增強主機接口
2.3.4 多通道緩沖器串行口
2.3.5 時鐘產生器和定時器
2.3.6 通用I/O口
2.4 TMS320C550x的尋址方式
2.4.1 直接尋址方式
2.4.2 間接尋址方式
2.4.3 絕對尋址方式
2.4.4 內存映射寄存器尋址方式
2.4.5 寄存器位尋址方式
2.4.6 循環尋址方式
2.5 流水線和并行處理
2.5.1 TMS320C55x的流水線
2.5.2 并行執行
2.6 TMS320C55x指令集
2.6.1 算術指令
2.6.2 邏輯和位操作指令
2.6.3 移動指令
2.6.4 程序流程控制指令
2.7 TMS320C55x匯編語言編程
2.7.1 匯編偽指令
2.7.2 匯編聲明語法
2.8 TMS320C55x的C語言編程
……
3 DSP基礎及應用要點
4 FIR濾波器的設計與實現
5 無限長單位沖激響應(IIR)濾波器的設計和實現
6 頻譜分析和快速傅里葉變換
7 自適應濾波
8 數字信號發生器
9 雙音多頻檢測
10 自適應回聲消除
11 語音編碼技術
12 語音增強技術
13 音頻信號處理
14 信道編碼技術
15 數字圖像處理導論
附錄A 一些有用的公式和定義
附錄B 軟件組織結構和實驗清單