
簡介這份資源是南京郵電大學「信號分析與處理實驗」課程的完整實驗報告面向正在修讀數(shù)字信號處理、信號與系統(tǒng)相關(guān)課程的高校學生以及需要借助 MATLAB 完成信號處理實驗的初學者。報告系統(tǒng)記錄了信號的產(chǎn)生和運算、連續(xù)時間信號的頻域分析、信號的時域采樣和重建、離散傅里葉變換與應用等核心實驗并延伸至連續(xù)時間系統(tǒng)的頻域與復頻域分析、數(shù)字濾波器設計及信號處理綜合應用覆蓋從基本序列繪制到卷積運算、頻譜分析的完整流程。資源包內(nèi)含 1 個 docx 文檔壓縮后約 1.02MB文檔中配有 MATLAB 程序示例、運行結(jié)果與圖形分析便于對照理解時域和頻域特性。目前已有 952 人學習下載適合作為實驗預習、報告撰寫參考與 DSP 入門練習的實操素材。1. 信號分析與處理實驗一張從時域到頻域再到濾波器的完整地圖如果你正在學信號與系統(tǒng)、數(shù)字信號處理或者正在準備這門課的實驗驗收大概率會有一種感覺公式都認識一上 MATLAB 就不知道從哪下手。這份實驗報告覆蓋了八個實驗模塊從最基礎的信號產(chǎn)生與運算一路走到連續(xù)時間頻域分析、時域采樣與重建、離散傅里葉變換、系統(tǒng)頻域與復頻域分析、數(shù)字濾波器設計最后落到綜合應用。梳理下來會發(fā)現(xiàn)它其實是一條非常清晰的主線先學會“造信號”再學會“看信號”然后學會“采樣與重建”接著掌握“DFT 這個工具”最后用“濾波器”把理論變成能用的系統(tǒng)。適合誰適合正在做信號處理實驗、準備實驗考試、或者想用 MATLAB 把課本公式跑通一遍的人。這張地圖的價值在于它把零散的實驗步驟串成了可復習的體系而不是八個孤立的代碼片段。2. 信號產(chǎn)生與基本運算從單位階躍到線性卷積的復習重點2.1 連續(xù)信號與離散序列的生成套路實驗一的核心是“用 MATLAB 把數(shù)學表達式變成可畫的波形”。梳理下來會發(fā)現(xiàn)所有序列生成都遵循同一個模式先定義自變量范圍再定義參數(shù)最后用向量化運算生成序列值。比如單位階躍序列 u[n] 和 u[n7] 的對比本質(zhì)上是在復習“移位”這個運算——u[n7] 就是把 u[n] 向左移了 7 個點。代碼里用zeros(1,10)和ones(1,20)拼接實際上是在手動構(gòu)造分段序列這種寫法在實驗報告里很常見但復習時要理解它背后的含義序列在 n-10 到 n-1 取 0n0 到 n20 取 1。復指數(shù)序列 x[n]1.5e^{(0.2j3)n} 的實部和虛部分別繪制這個實驗點最容易忽略的是復指數(shù)序列的實部是衰減振蕩虛部也是衰減振蕩但兩者相位差 90 度。實指數(shù)序列 x[n]2(0.8)^n 則是在復習“指數(shù)衰減”的基本形態(tài)。正弦序列 x[n]2.5sin(0.16πn-π/2) 的基本周期計算是重點數(shù)字頻率 ω0.16π周期 N2π/ω12.5但序列周期必須是整數(shù)所以基本周期是 25。這里最容易翻車的地方是很多人直接寫 12.5忽略了離散序列周期必須為整數(shù)的約束。% 單位階躍序列 u[n] 與 u[n7] 的對比生成 n -10:20; x [zeros(1,10) 1 ones(1,20)]; % u[n]n0 處跳變 M 7; xd [zeros(1,10M) 1 ones(1,20-M)]; % u[n7]左移7點 subplot(1,2,1); stem(n,x); xlabel(n); ylabel(u[n]); subplot(1,2,2); stem(n,xd); xlabel(n); ylabel(u[n7]);這段代碼的關(guān)鍵參數(shù)是zeros(1,10)對應 n-10 到 n-1 的 10 個點ones(1,20)對應 n0 到 n20 的 21 個點。移位操作通過改變零填充的長度實現(xiàn)左移 7 點就是在前面多補 7 個零同時后面少 7 個一。復習時要能徒手寫出這個拼接邏輯而不是背代碼。2.2 序列運算與線性卷積的易錯細節(jié)序列的加法和乘法看起來簡單但實驗里 x[n]{1,2,3,4} 和 y[n]{3,4,5,6} 的逐點乘用的是.*而不是*。這是 MATLAB 里最容易踩的坑矩陣乘法*和逐點乘法.*混用結(jié)果完全不對。偶部與奇部的分解是另一個重點偶部 xe[n]0.5(x[n]x[-n])奇部 xo[n]0.5(x[n]-x[-n])。實驗里用fliplr(x)實現(xiàn)翻轉(zhuǎn)但要注意fliplr只翻轉(zhuǎn)數(shù)值順序不改變時間軸索引所以當 n 的范圍不是以 0 為中心時直接翻轉(zhuǎn)會出錯。正確的做法是先確認序列的時間軸關(guān)于原點對稱或者手動構(gòu)造 x[-n]。線性卷積 y[n]x[n]*h[n] 是實驗一的壓軸。x[n](-1)^n 長度 15h[n]cos(0.25πn) 長度 8卷積結(jié)果長度是 158-122。用conv(x,h)計算后時間軸要重新定義為 0:21。這里最容易漏掉的是卷積后的時間軸起點是兩序列起點之和終點是兩序列終點之和。如果 x 和 h 的起點不是 0時間軸計算會更復雜。復習時要記住公式y(tǒng) 的長度 N1N2-1y 的起點 n1_start n2_start。提示conv函數(shù)只返回數(shù)值向量不返回時間軸。畫圖前必須手動構(gòu)造正確的時間軸否則波形位置會整體偏移。3. 連續(xù)時間信號頻域分析傅里葉級數(shù)、吉布斯現(xiàn)象與語音頻譜3.1 周期矩形脈沖的頻譜變化規(guī)律實驗二的核心是“從時域波形到頻域譜線”。周期矩形脈沖信號的指數(shù)形式傅里葉級數(shù)雙邊幅度譜和相位譜的繪制重點在于理解頻譜的離散性和諧波性。當 A1τ0.1sT0.5s 時譜線間隔是 1/T2Hz包絡是 sinc 函數(shù)。修改 T 為 1s 和 2s 后梳理下來會發(fā)現(xiàn)兩個規(guī)律第一T 增大譜線間隔變小頻譜變得更密集第二T 增大各次諧波的幅度整體減小因為能量被分散到了更多諧波上。這個對比是考試和實驗驗收的高頻考點很多人只記得“T 變大譜線變密”卻忘了幅度也在變小。各次諧波疊加的實驗N152550是在驗證傅里葉級數(shù)的收斂性。N 較小時合成波形有較大的諧波失真邊緣不夠陡峭N 增大波形逐漸逼近矩形脈沖。但這里有一個反直覺的點即使 N 很大不連續(xù)點附近仍然存在過沖這就是吉布斯現(xiàn)象。實驗里用程序求出過沖最大幅值為 1.0896約等于跳變幅度的 9%。這個數(shù)字要記住吉布斯現(xiàn)象中過沖量不隨 N 增大而消失而是趨于一個常數(shù)大約是跳變幅度的 8.95%。% 計算周期矩形脈沖有限項傅里葉級數(shù)合成的過沖 function p2_4(N) t -2:10^(-4):2; A 1; tau 1; T 2; Omega_0 2*pi/T; c0 A*tau/T; f_N c0*ones(1,length(t)); for k 1:N f_N f_N 2*A*tau/T*sinc(k*Omega_0*tau/2/pi)*cos(k*Omega_0*t); end overshoot max(f_N); fprintf(The maximum overshoot is %.4f\n, overshoot); end這段代碼的關(guān)鍵是sinc函數(shù)的參數(shù)寫法sinc(k*Omega_0*tau/2/pi)對應的是抽樣函數(shù) sin(x)/x 的形式。循環(huán)累加各次諧波最后用max找過沖。復習時要能解釋為什么過沖出現(xiàn)在不連續(xù)點附近以及為什么 N 增大時過沖位置越來越靠近跳變點。3.2 語音信號的頻譜差異與男聲轉(zhuǎn)女聲思路實驗二還包含一個非常實用的部分錄制男聲和女聲做 FFT 后比較頻譜。男聲的基音頻率低波形振幅變化大幅度譜能量集中在低頻女聲基音頻率高波形更細致幅度譜能量分布相對均勻。這個對比不僅是實驗報告的內(nèi)容也是理解“基音頻率”和“共振峰”概念的入口。男聲轉(zhuǎn)女聲的方法實驗報告里列了五條基頻調(diào)整、聲道長度調(diào)整、諧波調(diào)整、聲道轉(zhuǎn)換模型、聲音特征轉(zhuǎn)換。梳理下來會發(fā)現(xiàn)最核心的是基頻調(diào)整和聲道長度調(diào)整其他方法都是在這兩個基礎上的擴展。復習時要能說出男聲基頻典型范圍是 80-180Hz女聲是 160-300Hz所以基頻搬移是最直接的轉(zhuǎn)換手段。注意語音頻譜分析時FFT 點數(shù)要足夠大否則頻率分辨率不夠基音頻率的譜峰可能分不開。通常取 1024 或 2048 點。4. 時域采樣與重建奈奎斯特間隔、混疊判斷與誤差分析4.1 采樣定理的驗證與混疊判斷實驗三的核心是“采樣間隔 Ts 如何影響頻譜”。升余弦脈沖信號的頻譜大部分集中在 [0, τ/2π] 之間截止頻率 Ωm2奈奎斯特間隔 Tsπ/2。當 Tsπ/2 時采樣后頻譜未發(fā)生混疊當 Ts2 時頻譜發(fā)生了混疊。這個判斷的邏輯是采樣后頻譜是原頻譜以 2π/Ts 為周期進行延拓如果延拓后的頻譜在相鄰周期之間發(fā)生重疊就是混疊。復習時要能畫出頻譜延拓的示意圖并解釋為什么 Ts 越大延拓周期越小越容易混疊。這里最容易翻車的地方是很多人只記“Ts 小于奈奎斯特間隔就不混疊”但實際判斷時要看信號的最高頻率分量而不是只看信號的主瓣寬度。升余弦脈沖的頻譜雖然大部分集中在 Ωm 以內(nèi)但理論上無限延伸所以嚴格來說只要 Ts 有限總會有高頻分量的混疊只是混疊程度不同。實驗里判斷“未發(fā)生混疊”是指主瓣沒有重疊而不是絕對沒有混疊。4.2 信號重建與誤差來源信號重建的實驗P3_2是用低通濾波器從采樣信號中恢復原信號。當 Ts2低通濾波器截止頻率 ΩcΩm 時重建誤差大大增加。誤差來源有兩個第一采樣間隔增大導致混疊高頻分量折疊到低頻無法通過低通濾波器濾除第二低通濾波器截止頻率減小導致部分有效高頻分量被濾除表現(xiàn)為重建信號失真。這兩個因素疊加誤差比 Tsπ/2 時大得多。% 采樣與重建的核心參數(shù)設置 Ts 2; % 采樣間隔大于奈奎斯特間隔 pi/2 Wc 2; % 低通濾波器截止頻率等于信號截止頻率 t 0:Ts:10; % 采樣時間軸 x cos(t); % 示例信號 % 重建理想低通濾波在頻域是截斷在時域是 sinc 插值 % 實際實驗中用濾波器函數(shù)實現(xiàn)誤差通過與原信號對比計算復習時要能解釋為什么 Ts 增大導致誤差增大因為混疊分量落在了重建濾波器的通帶內(nèi)無法被濾除。為什么 Wc 減小也導致誤差增大因為部分有效信號分量被濾除了。這兩個原因要分開說不能混在一起。提示重建誤差的計算通常用均方誤差或最大絕對誤差。實驗報告里用的是波形對比復習時要能寫出誤差公式。5. 離散傅里葉變換與數(shù)字濾波器從 DFT 到系統(tǒng)頻域分析5.1 DFT 的基本概念與 MATLAB 實現(xiàn)離散傅里葉變換DFT是連接時域和頻域的橋梁。實驗四的核心是理解 DFT 的定義X[k]Σx[n]e^{-j2πkn/N}以及如何用 MATLAB 的fft函數(shù)計算。梳理下來會發(fā)現(xiàn)DFT 的物理意義是把有限長序列的頻譜在 [0,2π] 上等間隔采樣 N 個點。頻率分辨率是 2π/N所以 N 越大頻譜越精細。這里最容易忽略的是DFT 隱含周期性時域序列被周期延拓頻域也是離散周期譜。如果序列長度不是 N需要補零到 N補零不改變頻譜形狀只是增加了采樣密度。數(shù)字濾波器的設計是實驗四的另一個重點。不同類型的濾波器低通、高通、帶通、帶阻設計核心是確定濾波器階數(shù)和截止頻率。MATLAB 里常用butter、cheby1、ellip等函數(shù)。復習時要能說出巴特沃斯濾波器通帶最平坦切比雪夫濾波器過渡帶更陡但有波紋橢圓濾波器過渡帶最陡但通帶和阻帶都有波紋。選擇哪種取決于具體應用對幅頻特性的要求。5.2 連續(xù)時間系統(tǒng)的頻域與復頻域分析連續(xù)時間系統(tǒng)的頻域分析核心是系統(tǒng)函數(shù) H(jω) 和頻率響應。復頻域分析則是拉普拉斯變換系統(tǒng)函數(shù) H(s)極點決定穩(wěn)定性。梳理下來會發(fā)現(xiàn)頻域分析和復頻域分析的關(guān)系是頻域是復頻域在 sjω 時的特例。實驗里用 MATLAB 畫波特圖觀察幅頻和相頻特性重點看截止頻率、諧振峰和相位變化。最容易錯的地方是把 H(jω) 和 H(s) 混為一談忘記 sσjω 中的實部 σ 對應衰減因子。數(shù)字濾波器的應用實驗通常是用設計好的濾波器對含噪信號進行濾波然后比較濾波前后的頻譜。復習時要能解釋為什么濾波器能去噪因為噪聲的頻譜通常分布在高頻而信號的頻譜集中在低頻低通濾波器可以保留信號、抑制噪聲。但如果噪聲和信號頻譜重疊濾波器就無能為力了。注意設計濾波器時截止頻率要歸一化到奈奎斯特頻率。MATLAB 里butter函數(shù)的 Wn 參數(shù)是歸一化頻率1 對應奈奎斯特頻率。6. 查漏補缺一份可執(zhí)行的復習清單與避坑指南復習到這一步最怕的是“每個實驗都看過但合上書就串不起來”。我的做法是拿一張白紙不翻代碼先畫出八個實驗的模塊關(guān)系圖——信號產(chǎn)生是輸入頻域分析是觀察手段采樣是離散化橋梁DFT 是計算工具濾波器是輸出系統(tǒng)。畫不出來就說明某個環(huán)節(jié)還是散的。下面這份清單是我自己每次復習都會走一遍的流程按順序過基本能覆蓋實驗驗收和筆試的高頻考點復習模塊必須能徒手寫出的內(nèi)容常見翻車點信號產(chǎn)生單位階躍、復指數(shù)、實指數(shù)、正弦序列的生成代碼框架時間軸與序列長度不匹配序列運算加、乘、移位、偶奇分解、卷積的時間軸計算*與.*混用卷積后時間軸起點算錯傅里葉級數(shù)周期矩形脈沖頻譜隨 T 變化的規(guī)律吉布斯過沖約 9%忘記 T 增大時幅度也減小語音頻譜男聲女聲基頻范圍男轉(zhuǎn)女的核心方法只記方法名說不出基頻搬移的具體含義采樣定理奈奎斯特間隔計算混疊判斷邏輯把“主瓣不重疊”當成“絕對不混疊”信號重建誤差增大的兩個原因混疊和濾波器截止頻率把兩個原因混在一起說DFT頻率分辨率 2π/N補零的作用忘記 DFT 隱含周期性濾波器設計巴特沃斯、切比雪夫、橢圓濾波器的區(qū)別截止頻率忘記歸一化最容易忽略的是“時間軸”這件事。實驗一里所有序列運算只要時間軸錯了波形位置就全錯。我自己的血淚經(jīng)驗是每次用conv或fliplr之后強制檢查一遍時間軸的起點和終點確認長度匹配。另一個容易漏的是采樣定理里的“截止頻率”定義——升余弦脈沖的截止頻率不是主瓣寬度而是頻譜包絡第一次過零點的位置這個在實驗提示里寫得很清楚但復習時經(jīng)常被跳過。還有一個玄學問題為什么 N 增大吉布斯過沖不消失因為傅里葉級數(shù)在跳變點處收斂到跳變幅度的中點而不是跳變值本身。有限項合成時跳變點附近的振蕩幅度趨于常數(shù)這個常數(shù)就是過沖量。理解這一點就不會再糾結(jié)“為什么 N 不夠大”。從那以后我每次做信號處理實驗都強制走一遍“時間軸檢查 → 參數(shù)歸一化檢查 → 頻譜混疊判斷”這三步基本沒再翻過車。希望這份梳理能幫到你。本文還有配套的精品資源點擊獲取