01 / 導讀
導讀
引用
Smith, S. W. (1997). The Scientist and Engineer's Guide to Digital Signal Processing. California Technical Publishing. Free official edition: https://www.dspguide.com/pdfbook.htm
章節概要
第1章:DSP 的廣度與深度
開篇一章闡明全書的前提:大多數實用的 DSP 技術不需要高深數學就能學習與使用,本書是為把 DSP 當作工具而非職業的讀者而寫。本章概述這個領域的起源,並檢視多個應用領域——電話多工、壓縮與回音控制,音訊與語音,雷達、聲納與反射震測,以及醫學(CT、MRI)、太空與商業產品中的影像處理——藉以說明 DSP 的跨領域特性。
第2章:統計、機率與雜訊
本章介紹訊號術語以及描述擷取訊號所用的統計量:平均值、標準差與訊雜比,直方圖、機率質量函數與機率密度函數,以及常態分布。本章示範如何產生具有指定分布的數位雜訊,最後區分量測的精密度與準確度。
第3章:ADC 與 DAC
本章從資訊管理的角度出發,把取樣與量化視為數位化限制資訊的兩種方式。它說明量化雜訊、取樣定理與混疊、帶零階保持的數位類比轉換,以及轉換器前後所需的類比抗混疊濾波器與重建濾波器,並比較貝索、巴特沃斯與柴比雪夫設計。多速率轉換與單位元(Δ 調變)轉換為本章作結。
第4章:DSP 軟體
作者在此探討數字在電腦中如何儲存——定點格式與浮點格式——以及這對捨入誤差與精度的意義,並以簡短的 BASIC 程式示範誤差如何累積。關於執行速度的幾節比較了程式語言、硬體,以及讓 DSP 程式執行更快的程式設計技巧。
第5–7章:線性系統;摺積;摺積的性質
這三章奠定全書的基礎。第5章定義線性(齊次性與可加性,再加上移位不變性),列舉線性與非線性系統的例子,並介紹以脈衝分解、步階分解、奇偶分解、交錯分解與傅立葉分解進行的疊加。第6章引入 δ 函數與脈衝響應,從輸入端與輸出端兩種觀點解釋摺積,並分別提供程式。第7章討論常見的脈衝響應(類似微積分的運算、低通與高通核)、因果訊號與線性相位、串接與並聯系統的交換律、結合律與分配律、中央極限定理,以及作為偵測已知波形手段(例如雷達)的相關運算。
第8–9章:離散傅立葉轉換;DFT 的應用
第8章把 DFT 放在傅立葉轉換家族之中,接著展開實數 DFT:記號、基底函數、合成(反 DFT),以及透過聯立方程式或相關運算進行分析、對偶性與轉換為極座標形式,並列出相位計算中種種實務上的「麻煩」。第9章呈現 DFT 的三大用途:訊號的頻譜分析(包括加窗與頻率解析度)、由脈衝響應求出系統的頻率響應,以及經由頻域進行摺積。
第10–11章:傅立葉轉換的性質;傅立葉轉換對
第10章說明一個域中的運算如何在另一個域中呈現——線性、平移時相位的變化、DFT 的週期性、多速率方法中的壓縮與擴展、訊號相乘(振幅調變),以及帕色瓦關係。第11章整理標準轉換對:δ 函數、矩形脈衝與 sinc 函數、其他常見轉換對、吉布斯效應、週期訊號的諧波,以及啁啾訊號。
第12章:快速傅立葉轉換
FFT 一章先說明如何以複數 DFT 計算實數 DFT,再透過位元反轉排序、分解為兩點頻譜以及蝶形運算說明 FFT 的運作原理。本章提供 FFT 程式,將其速度與精度和以相關為基礎的 DFT 相比較,並介紹實數 FFT 等進一步的加速方法。
第13章:連續訊號處理
本章說明連續時間訊號處理與 DSP 平行發展,只是以方程式與微積分取代程式。它探討連續 δ 函數與摺積、傅立葉轉換與傅立葉級數,用的是例題而非程式碼。
第14–16章:數位濾波器導論;移動平均濾波器;加窗 sinc 濾波器
第14章介紹時域與頻域的濾波器參數,並提出一個關鍵區分:資訊是編碼在時域中(此時步階響應重要),還是頻域中(此時頻率響應重要)。本章說明用來建構高通、帶通與帶拒濾波器的頻譜反轉與頻譜翻轉,並依用途與實作方式(摺積或遞迴)為濾波器分類。第15章說明移動平均在保持陡峭步階的同時降低隨機雜訊方面是最佳的,但不擅長分離頻率,並介紹其同類濾波器與遞迴實作。第16章以布萊克曼窗與漢明窗建構用於分離頻帶的加窗 sinc 濾波器,例子包括分離腦電圖(EEG)的 α 波與 β 波。
第17–18章:自訂濾波器;FFT 摺積
第17章提出設計任意頻率響應濾波器的一般方法,並應用於反摺積(還原被偵測器模糊化的訊號,以伽瑪射線脈衝為例)與最佳濾波,比較移動平均、匹配濾波器與維納濾波器。第18章說明把長訊號分段處理的重疊相加法,以及 FFT 摺積——對於較長的濾波器核,它比直接摺積更快。
第19–21章:遞迴濾波器;柴比雪夫濾波器;濾波器比較
第19章介紹遞迴(IIR)濾波器、單極點低通與高通設計、窄頻濾波器、相位響應(零相位、線性相位與非線性相位,包括雙向濾波)以及整數實作。第20章以表格與程式為基礎,提供柴比雪夫與巴特沃斯遞迴濾波器的實用設計方法,並討論過衝與穩定性,其背後的 z 轉換則留待第33章。第21章安排了「正面對決」:類比濾波器對數位濾波器、頻域中加窗 sinc 對柴比雪夫、時域中移動平均對單極點濾波器。
第22章:音訊處理
音訊一章從人類聽覺、響度與音色談起,接著討論高傳真音訊與光碟、用於電話語音的壓擴、語音合成與辨識,以及非線性音訊處理,包括用來分離相乘或摺積在一起之訊號的同態方法。
第23–25章:影像的形成與顯示;線性影像處理;特殊成像技術
第23章描述數位影像的結構、相機與人眼、電視視訊訊號、其他擷取與顯示系統、亮度與對比、灰階轉換以及影像變形。第24章把摺積與傅立葉分析應用於影像:點擴散函數、邊緣強化、可分離的核、以大型核進行照度平整、傅立葉影像分析與 FFT 摺積,並比較執行時間。第25章探討空間解析度、影像訊雜比、二值影像的形態學處理,以及電腦斷層掃描。
第26–27章:類神經網路(及其他);資料壓縮
第26章把以演算法為中心的 DSP 與依賴大量參數的類神經網路相對照:涵蓋目標偵測與 ROC 曲線、網路架構、以字母辨識為例的訓練與評估,以及運用同樣的迭代概念設計遞迴濾波器。第27章概述資料壓縮:連續長度編碼、霍夫曼編碼、差值編碼與 LZW 編碼,以及 JPEG 與 MPEG 中的轉換壓縮。
第28–29章:數位訊號處理器;DSP 入門
這兩章從演算法轉向硬體。第28章說明數位訊號處理器與通用微處理器的差異(環形緩衝、哈佛式架構),比較定點與浮點、C 語言與組合語言,並介紹 DSP 市場。第29章介紹 Analog Devices 的 SHARC 系列與評估套件,提供 FIR 音訊濾波器的設計實例,並再次探討定點與浮點。
第30–31章:複數;複數傅立葉轉換
第30章介紹複數、極座標表示,以及透過代入法以複數表示正弦訊號、系統與電路。第31章展開複數 DFT,說明它在包含負頻率的情況下與物理訊號在數學上等價,以複數形式呈現完整的傅立葉轉換家族,並解釋為何要使用複數轉換。
第32–33章:拉普拉斯轉換;z 轉換
第32章說明 s 域、拉普拉斯轉換的思路、電路分析、極點與零點的重要性,以及在 s 平面上設計類比濾波器(巴特沃斯、柴比雪夫、橢圓)。第33章把 z 轉換作為其數位對應物加以展開,分析遞迴系統、串接與並聯級、頻譜反轉與增益調整,並透過在 s 平面上配置極點再轉換到 z 平面,推導出第20章所用的柴比雪夫—巴特沃斯設計,最後以對 DSP 優缺點的省思作結。
第34章:解釋班佛定律
最後一章把訊號處理應用到以數線為自變數的訊號上。它講述班佛對首位數字的發現,藉由同態處理與「1 的縮放檢驗」把班佛定律寫成摺積形式,提出一個符合性定理,並以對數常態分布為例分析資料何時遵循此定律。
核心概念
第1章:DSP 的廣度與深度
- 作為工具的 DSP:本書的立場,即大多數實用技術不需要完整的數學理論就能使用。
- 跨領域的廣度:每個應用領域(通訊、音訊、聲納、影像)都發展出各自專門的 DSP 技術。
第2章:統計、機率與雜訊
- 平均值與標準差:衡量訊號水準與波動的基本指標,用於定義訊雜比。
- 機率密度函數:直方圖的連續形式,描述各個振幅出現的可能性。
- 精密度與準確度:隨機誤差(分散程度)與系統誤差(偏離真值)的區別。
第3章:ADC 與 DAC
- 量化雜訊:把取樣值捨入到離散位準所引入的誤差,可建模為外加的雜訊。
- 取樣定理:若取樣率高於訊號最高頻率的兩倍,訊號即可重建;否則會產生混疊。
- 抗混疊與重建濾波器:置於 ADC 之前與 DAC 之後、用來限制頻寬的類比濾波器。
第4章:DSP 軟體
- 定點與浮點:範圍有限的整數格式,以及以精度換取範圍的格式。
- 捨入誤差:有限精度的數反覆運算時累積的誤差。
第5–7章:線性系統;摺積;摺積的性質
- 疊加:把訊號分解為簡單成分,分別處理後再相加;只適用於線性系統。
- 脈衝響應與摺積:線性系統完全由其對 δ 函數的響應所描述,其輸出是輸入與該響應的摺積。
- 相關:一種類似摺積的運算,用於在含雜訊的訊號中偵測已知波形。
第8–9章:離散傅立葉轉換;DFT 的應用
- 實數 DFT:把 N 個取樣點分解為 N/2 + 1 個餘弦與正弦振幅。
- 頻率響應:系統脈衝響應的 DFT,它與輸入頻譜相乘。
- 極座標形式:以大小與相位而非實部與虛部來表示每個頻率。
第10–11章:傅立葉轉換的性質;傅立葉轉換對
- 線性相位與時間平移:訊號平移會加上與頻率成正比的相位。
- 矩形脈衝與 sinc 函數:一組基本轉換對,由於對偶性,反過來也成立。
- 吉布斯效應:以有限個正弦波重建訊號時,在不連續點附近出現的過衝。
第12章:快速傅立葉轉換
- FFT:以約 N log₂N 次而非 N² 次運算計算 DFT 的演算法。
- 蝶形運算:在 FFT 每一級中重複進行的基本兩點計算。
第13章:連續訊號處理
- 連續摺積與傅立葉轉換:離散運算以微積分為基礎的對應形式。
- 傅立葉級數:把週期性的連續訊號表示為諧波之和。
第14–16章:數位濾波器導論;移動平均濾波器;加窗 sinc 濾波器
- 時域編碼與頻域編碼:決定應以步階響應或頻率響應評估濾波器的區分。
- 移動平均濾波器:在保持陡峭步階響應的同時降低白雜訊的最佳濾波器。
- 加窗 sinc 濾波器:經截斷並加窗的 sinc 核,能出色地分離頻帶。
第17–18章:自訂濾波器;FFT 摺積
- 反摺積:設計濾波器以抵銷不需要的摺積,例如偵測器造成的模糊。
- 維納濾波器:以訊號與雜訊頻譜為基礎、用來分離頻譜重疊訊號的最佳濾波器。
- 重疊相加法:把長訊號分段、分別濾波,再把彼此重疊的輸出相加。
第19–21章:遞迴濾波器;柴比雪夫濾波器;濾波器比較
- 遞迴(IIR)濾波器:除輸入外也利用先前輸出的濾波器,能以低成本得到很長的脈衝響應。
- 柴比雪夫響應:允許通帶中出現漣波,以換取更陡的衰減。
- 雙向濾波:讓遞迴濾波器正向與反向各執行一次,以得到零相位。
第22章:音訊處理
- 壓擴:以非線性方式壓縮與擴展振幅,使電話語音能以較少位元傳輸。
- 同態處理:轉換訊號,使相乘或摺積在一起的成分變成相加,進而可以線性分離。
第23–25章:影像的形成與顯示;線性影像處理;特殊成像技術
- 點擴散函數:影像中脈衝響應的對應物。
- 可分離摺積:把二維摺積拆成列與行方向的一維摺積以節省計算量。
- 電腦斷層掃描:由大量投影重建斷面影像。
第26–27章:類神經網路(及其他);資料壓縮
- ROC 曲線:以圖形評估目標偵測與誤報之間取捨的方法。
- 訓練類神經網路:反覆調整大量權重,以降低在範例資料上的誤差。
- 轉換壓縮:對影像區塊的 DCT 係數進行量化的 JPEG 式壓縮。
第28–29章:數位訊號處理器;DSP 入門
- 環形緩衝:為即時濾波保存最新取樣值的記憶體方式。
- DSP 架構:程式與資料使用獨立的記憶體匯流排,使處理器能在同一週期內擷取指令與資料。
第30–31章:複數;複數傅立葉轉換
- 複數代入法:以複數表示正弦訊號與電路元件以簡化計算。
- 負頻率:複數 DFT 把實訊號表示為正、負頻率成分對。
第32–33章:拉普拉斯轉換;z 轉換
- 極點與零點:s 平面或 z 平面上決定系統頻率響應的點。
- z 轉換:拉普拉斯轉換的離散時間對應物,用於設計遞迴濾波器。
第34章:解釋班佛定律
- 班佛定律:許多資料集中首位數字並非均勻分布的現象。
- 「1 的縮放檢驗」:從訊號處理角度判斷某個分布何時遵循班佛定律的方法。
評析
優點
- 始終貫徹所宣稱的實用取向。 作者在第1章提出,DSP 可以作為工具使用而不必跨越傳統的數學門檻,全書也確實貫徹此點:實數 DFT 先於複數引入,濾波器以表格與程式設計,拉普拉斯轉換與 z 轉換則放到最後。
- 選擇方法的清楚標準。 第14章對時域編碼與頻域編碼資訊的區分,為讀者提供選擇濾波器的實用準則;第21章的比較(類比對數位、加窗 sinc 對柴比雪夫、移動平均對單極點)則把這項準則轉化為具體的決策。
- 程式與圖示貫穿全書。 簡短的程式呈現每種演算法(摺積、以相關計算的 DFT、FFT、濾波器設計),幾乎每個概念都配有圖示,讓非電機背景的科學工作者也能讀懂。
- 應用涵蓋廣泛。 除了濾波器與轉換之外,本書還涉及轉換器、音訊、影像、電腦斷層掃描、壓縮、類神經網路與 DSP 硬體,並包含胎兒心電圖、腦電 α 波與 β 波、CT 等生醫實例。
局限
- 技術與程式碼已經過時。 程式以老式帶行號的 BASIC 風格撰寫,硬體章節介紹的是 SHARC EZ-KIT Lite 等 1990 年代後期的產品與當時的市場資料。概念依然有效,但讀者需要把程式碼改寫成 Python 或 MATLAB。
- 沒有習題。 各章既無習題也無解答範例,課程必須自行安排作業。
- 部分內容不夠嚴謹。 由於刻意迴避數學,隨機過程、頻譜估計理論、適應性濾波與多速率濾波器組等主題很少或完全沒有討論,統計推導也較為非正式。
- 免費版的形式。 本書以 34 個分章 PDF 的形式發布;在目前的網站上,章節列表頁沒有顯示目錄,也沒有連結前言或索引等前置內容,讀者只能依章號查找。
書中的應用
應用集中在後半部:音訊處理(第22章:聽覺、光碟、電話壓擴、語音合成與辨識)、影像形成、線性影像處理以及包含電腦斷層掃描在內的特殊成像技術(第23–25章)、用於目標偵測與字母辨識的類神經網路(第26章)、包含 JPEG 與 MPEG 在內的資料壓縮(第27章),以及附有 FIR 音訊濾波器設計實例的 DSP 硬體(第28–29章)。第1章概述了通訊、雷達、聲納、震測與醫學影像中的應用,心電圖雜訊去除、腦電頻帶分離與伽瑪射線反摺積等例子則出現在各濾波器章節中。
在課程中的定位
在「生醫訊號處理」書單中,Smith 這本指南是對 DSP 本身廣泛而平易的入門書。Semmlow 的 Circuits, Signals, and Systems for Bioengineers 同樣是入門教材,根據其介紹,它在生醫工程的脈絡下以 MATLAB 講授訊號與系統;Smith 以直觀的方式講解摺積、DFT 與數位濾波器設計,可作為補充,在它之前或與之並行閱讀皆可。Semmlow 與 Griffel 的 Biosignal and Medical Image Processing 則是進一步學習應用於生理訊號與醫學影像之生醫專門方法的自然下一步。
Rangayyan 的 Biomedical Signal Analysis 與 Tompkins 的 Biomedical Digital Signal Processing 是生醫專業著作,其中 Tompkins 被介紹為針對 PC 的 C 語言實驗教材。Smith 的第5–21章提供這些書所預設的濾波與傅立葉基礎,第22–29章則把視野擴展到音訊、影像與硬體。Smith 應在這些專業生醫教材之前閱讀,而不能取代它們。
如何使用本書
本書的對象是需要運用 DSP 的科學家與工程師;多數章節只需代數與基礎程式設計,只有第13章與複數域各章需要微積分。生醫訊號處理課程的核心路線可以是第1–3章、第5–12章與第14–21章;第4章可以略讀,第13章可為了解與連續時間理論的關聯而閱讀。第22–25章與第27章可視課程是否涉及音訊、影像或壓縮而選讀,第28–29章只與硬體專題相關。第30–33章構成自成體系的進階部分,適合將要學習拉普拉斯域與 z 域濾波器設計的學生。
由於沒有習題,建議一邊閱讀一邊以現代程式語言重新實作各個程式——摺積、以相關計算的 DFT、移動平均、加窗 sinc 濾波器與單極點遞迴濾波器——並在真實的生理紀錄上測試。閱讀時也可查看網站上的勘誤頁。
版本與來源
本導讀依據作者官方網站 https://www.dspguide.com/pdfbook.htm 發布的免費分章 PDF(第1–34章,個別檔案位於 dspguide.com/CH1.PDF 至 CH34.PDF),以及該網站關於版本與允許用途的說明;精裝本於 1997 年由 California Technical Publishing 出版,平裝本於 2002 年由 Newnes 出版。本導讀參考了全部 34 章:各章引言、每個小節標題、核心圖表與程式,以及濾波器與轉換各章的結尾小節。
