)
簡介這份資源是南京郵電大學「信號分析與處理實驗」課程的完整實驗報告面向正在修讀數(shù)字信號處理、信號與系統(tǒng)相關(guān)課程的高校學生以及需要借助 MATLAB 完成實驗與課程設(shè)計的自學者。報告覆蓋信號的產(chǎn)生和運算、連續(xù)時間信號的頻域分析、時域采樣與重建、離散傅里葉變換及應(yīng)用等核心實驗并延伸至連續(xù)時間系統(tǒng)頻域與復(fù)頻域分析、數(shù)字濾波器設(shè)計及信號處理綜合應(yīng)用配有程序代碼、波形圖與結(jié)果解析便于對照理解時域與頻域特性。資源包共 1 個 docx 文件約 1.02MB內(nèi)容為可直接參考的實驗報告文檔結(jié)構(gòu)完整、條理清晰。目前已有 952 人學習下載適合作為實驗預(yù)習、報告撰寫與 DSP 入門練習的參考材料。1. 信號分析與處理實驗一張從時域到頻域再到系統(tǒng)的知識地圖很多人復(fù)習信號分析與處理時習慣按教材章節(jié)從頭翻翻到傅里葉變換已經(jīng)忘了拉普拉斯翻到濾波器又忘了采樣定理。這門課真正的難點不在單個公式而在于時域、頻域、復(fù)頻域三條線始終交織在一起。這份實驗報告把整門課拆成四個實驗信號的產(chǎn)生和運算、連續(xù)時間信號的頻域分析、信號的時域采樣和重建、離散傅里葉變換與應(yīng)用后面還延伸到連續(xù)時間系統(tǒng)的頻域和復(fù)頻域分析、數(shù)字濾波器設(shè)計與綜合應(yīng)用。梳理下來會發(fā)現(xiàn)它其實是一條完整鏈路先會造信號再看清信號的頻率成分然后理解采樣為什么不會丟信息最后用系統(tǒng)去改變信號。適合正在做實驗報告、準備期末復(fù)習、或者想用 MATLAB 把 DSP 概念跑通的人。下面按知識模塊逐層拆開重點標出容易翻車的地方。2. 信號產(chǎn)生與基本運算離散序列和連續(xù)信號的復(fù)習重點2.1 常用信號在 MATLAB 里到底怎么表示實驗一的核心是“造信號”。連續(xù)信號和離散序列在 MATLAB 里的表示方式完全不同這是第一個容易混淆的點。連續(xù)時間信號用時間向量加plot離散序列用序號向量加stem。單位階躍序列u[n]不能直接調(diào)用階躍函數(shù)而是用邏輯判斷或分段拼接。比如要畫u[n]和u[n7]本質(zhì)是控制序列的起始位置% 單位階躍序列 u[n] 與 u[n7] 的對比 n -10:20; x [zeros(1,10) 1 ones(1,20)]; % n0 處為 1之前為 0 subplot(1,2,1); stem(n,x); xlabel(n); ylabel(u[n]); M 7; xd [zeros(1,10M) 1 ones(1,20-M)]; % 左移 7 位起點提前 subplot(1,2,2); stem(n,xd); xlabel(n); ylabel(u[n7]);這里的關(guān)鍵參數(shù)是zeros(1,10)和ones(1,20)的長度它們決定了階躍點落在哪個序號上。移位操作在離散域就是數(shù)組索引的平移不是時間軸整體加減。復(fù)指數(shù)序列x[n]1.5e^{(0.2j3)n}則要注意實部和虛部分開畫real和imag分別取分量否則一張圖看不出復(fù)數(shù)序列的物理意義。實指數(shù)序列x[n]2(0.8)^n用點乘.^而不是矩陣乘這是 MATLAB 里最常見的翻車點之一。正弦序列的周期判斷是實驗一的重點。x[n]2.5sin(0.16πn-π/2)的基本周期不是直接讀數(shù)字而是用2π/ω算再取最小正整數(shù)。ω0.16π時2π/0.16π12.5不是整數(shù)所以這個序列其實不是周期序列。但實驗里給出的答案是 12.5說明它按連續(xù)正弦的周期來理解。這里要區(qū)分“離散周期序列”和“連續(xù)正弦采樣后的周期”考試里經(jīng)常在這設(shè)陷阱。2.2 序列運算與線性卷積的易錯細節(jié)序列的加、乘、移位、卷積是實驗一的操作重點。加法和乘法要求兩個序列長度一致、序號對齊否則 MATLAB 會直接報錯。偶部x_e[n]和奇部x_o[n]的分解公式是% 序列奇偶分解 n -2:2; x [1 2 4 -5 -2]; y fliplr(x); % 翻轉(zhuǎn)序列 xe 0.5*(x y); % 偶部 xo 0.5*(x - y); % 奇部fliplr只翻轉(zhuǎn)數(shù)值順序不改變序號向量。如果序列不是關(guān)于n0對稱翻轉(zhuǎn)后對應(yīng)的序號會錯位這是最容易忽略的地方。線性卷積conv(x,h)的結(jié)果長度是length(x)length(h)-1畫圖時序號要從 0 開始重新生成不能沿用原來的n。實驗里x[n](-1)^n和h[n]cos(0.25πn)卷積后長度是 22序號0:21如果直接stem(y)而不給序號橫軸含義就丟了。連續(xù)正弦信號x_a(t)cos(5000πt)4sin(2000πt)sin(3000πt)的繪制要注意采樣間隔。t0:0.5e-6:6e-3表示 0.5 微秒步長這個精度是為了讓 5000π 的高頻分量不混疊。如果步長取太大畫出來的波形會失真看起來像低頻信號這是時域繪圖里最隱蔽的坑。3. 連續(xù)時間信號頻域分析傅里葉級數(shù)、頻譜與吉布斯現(xiàn)象3.1 周期矩形脈沖的頻譜變化規(guī)律實驗二的核心是周期信號的傅里葉級數(shù)展開和頻譜繪制。周期矩形脈沖信號的雙邊幅度譜和相位譜由sinc函數(shù)決定譜線間隔是基頻Ω?2π/T。當T從 0.5s 增大到 1s、2s 時譜線變得更密集幅度整體下降。這個規(guī)律可以總結(jié)成一句話周期越長頻譜越密幅度越小。因為周期信號的能量被分散到更多諧波上單根譜線的幅度自然降低。用 MATLAB 畫雙邊譜時要注意正負頻率都要畫幅度譜是偶對稱相位譜是奇對稱。如果只畫正頻率會漏掉一半信息相位譜的符號也容易搞反。實驗里A1, τ0.1s, T0.5s的參數(shù)下第一零點在2π/τ附近這個截止頻率決定了頻譜的主瓣寬度。3.2 諧波疊加與吉布斯現(xiàn)象的定量計算周期矩形脈沖用有限項傅里葉級數(shù)重構(gòu)時不連續(xù)點附近會出現(xiàn)過沖這就是吉布斯現(xiàn)象。實驗里N15, 25, 50的合成波形顯示N越大波形越接近矩形脈沖但過沖峰值不會消失而是趨近于一個常數(shù)。這個常數(shù)大約是跳變幅度的 8.95%。實驗程序p2_4直接算出了最大過沖function p2_4(N) t -2:1e-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運行結(jié)果是1.0896即過沖約 8.96%。這個數(shù)字要記住考試里常問“吉布斯現(xiàn)象會不會隨 N 增大而消失”答案是不會只會越來越靠近不連續(xù)點。另一個易錯點是sinc函數(shù)的定義MATLAB 的sinc(x)是sin(πx)/(πx)不是sin(x)/x代入時要把π處理好否則頻譜包絡(luò)形狀會完全不對。3.3 男聲女聲頻譜差異與語音轉(zhuǎn)換思路實驗二還涉及實際音頻的 FFT 分析。男聲基音頻率低能量集中在低頻波形粗糙女聲基音頻率高能量分布更均勻波形細致。在語音轉(zhuǎn)換中男聲轉(zhuǎn)女聲的核心操作是基頻調(diào)整同時配合聲道長度模擬和諧波分布調(diào)整?;l調(diào)整可以通過重采樣或相位聲碼器實現(xiàn)聲道長度調(diào)整則改變共振峰位置。這些方法在 MATLAB 里可以用resample和濾波器組近似實現(xiàn)但實驗里只要求定性比較不要求完整轉(zhuǎn)換。4. 時域采樣與重建奈奎斯特間隔和混疊的判定方法4.1 采樣定理的驗證邏輯實驗三的核心是采樣定理。升余弦脈沖信號的頻譜大部分集中在[0, 2π/τ]截止頻率Ω_m2奈奎斯特間隔T_sπ/2。當T_sπ/2時頻譜未混疊當T_s2時頻譜發(fā)生混疊。判定混疊的方法很直接看采樣后信號的頻譜在Ω_m以外是否還有重疊。如果采樣頻率低于兩倍截止頻率高頻分量會折疊到低頻頻譜出現(xiàn)疊加。這里最容易錯的是把采樣間隔和采樣頻率搞反。T_s越小采樣頻率越高越不容易混疊。實驗里T_sπ/2是臨界值T_s2大于臨界值所以混疊。復(fù)習時要記住奈奎斯特頻率是2Ω_m奈奎斯特間隔是π/Ω_m兩者互為倒數(shù)關(guān)系。4.2 重建誤差的來源與低通濾波器截止頻率的影響信號重建用理想低通濾波器從采樣信號中恢復(fù)原信號。實驗 3.4 把T_s改為 2低通截止頻率改為Ω_cΩ_m重建誤差大大增加。誤差來源有兩個一是采樣間隔增大導致混疊高頻分量折疊后無法通過低通濾波器分離二是低通截止頻率減小把部分有效高頻分量也濾掉了。這兩個因素疊加誤差自然變大。重建時要注意低通濾波器的截止頻率必須滿足Ω_m ≤ Ω_c ≤ Ω_s - Ω_m其中Ω_s2π/T_s。如果Ω_c取太小會丟失信號的高頻細節(jié)取太大又會引入混疊分量。實驗里Ω_cΩ_m是下限剛好卡在邊界上所以誤差明顯。實際重建時通常取Ω_cΩ_s/2但前提是Ω_s ≥ 2Ω_m。5. 離散傅里葉變換與數(shù)字濾波器從 DFT 到系統(tǒng)頻域分析5.1 DFT 的計算要點與頻譜分析離散傅里葉變換把有限長序列變換到頻域公式是X[k]Σx[n]W_N^{nk}其中W_Ne^{-j2π/N}。MATLAB 里用fft實現(xiàn)但要注意fft的輸出是0到N-1的頻率索引畫頻譜時要用fftshift把零頻移到中心。如果不移低頻分量會出現(xiàn)在兩端看起來像高頻這是 DFT 分析里最常見的視覺誤導。DFT 的頻率分辨率是fs/NN越大分辨率越高但計算量也越大。實驗里通常取N1024或2048既能看清頻譜細節(jié)又不會太慢。如果信號長度不夠要補零到N補零不改變頻譜形狀只改變采樣密度這一點經(jīng)常被誤解為“補零能提高分辨率”其實不能。5.2 數(shù)字濾波器設(shè)計與系統(tǒng)頻域分析數(shù)字濾波器設(shè)計是實驗四的延伸內(nèi)容。IIR 濾波器用雙線性變換法從模擬原型映射到數(shù)字域FIR 濾波器用窗函數(shù)法直接設(shè)計單位脈沖響應(yīng)。MATLAB 里butter、cheby1、fir1分別對應(yīng)不同類型的濾波器。設(shè)計時要關(guān)注通帶截止頻率、阻帶截止頻率、通帶波紋和阻帶衰減四個參數(shù)。連續(xù)時間系統(tǒng)的頻域和復(fù)頻域分析則涉及系統(tǒng)函數(shù)H(s)和頻率響應(yīng)H(jΩ)。拉普拉斯變換把微分方程變成代數(shù)方程傅里葉變換是拉普拉斯變換在虛軸上的特例。復(fù)習時要能把H(s)的零極點分布和頻率響應(yīng)的形狀對應(yīng)起來極點靠近虛軸諧振峰越尖銳零點靠近虛軸幅度響應(yīng)出現(xiàn)凹陷。6. 易漏點與易錯點采樣、卷積、頻譜分析里最容易翻車的地方6.1 易漏點一離散序列的序號向量為什么漏很多人只關(guān)注序列值忘了序號n也是信號的一部分。stem(n,x)里n和x必須等長且n的起始值決定信號的絕對位置。怎么補每次畫圖前先檢查length(n)length(x)移位操作后重新生成n不要復(fù)用舊的序號向量。6.2 易漏點二卷積結(jié)果的序號范圍為什么漏conv(x,h)只返回數(shù)值不返回序號。如果直接stem(y)橫軸默認從 1 開始和實際序號對不上。怎么補卷積后手動生成序號n0:length(y)-1如果原序列有負序號還要做相應(yīng)平移。6.3 易漏點三采樣定理的臨界條件為什么漏把T_s和f_s混用或者把奈奎斯特頻率記成Ω_m而不是2Ω_m。怎么補記住f_s ≥ 2f_mT_s ≤ 1/(2f_m)。實驗里Ω_m2所以T_s ≤ π/2T_sπ/2是臨界T_s2超了。6.4 易漏點四FFT 頻譜的橫軸映射為什么漏fft輸出索引0:N-1對應(yīng)的頻率是0:fs/N:fs-fs/N不是0:fs。如果不做fftshift零頻在第一個點正負頻率分居兩端。怎么補畫頻譜時用f(0:N-1)*fs/N再用fftshift把零頻移到中心橫軸改成(-N/2:N/2-1)*fs/N。6.5 易漏點五吉布斯過沖的定量值為什么漏以為N增大過沖會消失或者記不住 8.95% 這個數(shù)。怎么補記住過沖峰值約為跳變幅度的 1.0895 倍即 8.95%。實驗程序p2_4可以直接算出這個值復(fù)習時跑一遍加深印象。7. 復(fù)習清單從實驗報告到考點的查漏補缺方法復(fù)習信號分析與處理最有效的方式不是重讀教材而是把四個實驗的 MATLAB 代碼重新跑一遍每跑一個就問自己三個問題這個操作對應(yīng)哪個理論公式參數(shù)改了會怎樣如果結(jié)果不對最可能錯在哪下面這份清單按模塊整理可以直接對照查漏。模塊核心公式/操作易錯點自檢方法信號產(chǎn)生stemvsplotzeros/ones拼接序號向量長度不匹配檢查length(n)length(x)序列運算fliplrconv奇偶分解翻轉(zhuǎn)后序號錯位卷積序號從 0 開始畫圖前手動生成序號傅里葉級數(shù)sinc函數(shù)雙邊譜sinc定義含 π相位譜符號正負頻率都畫檢查對稱性吉布斯現(xiàn)象有限項重構(gòu)過沖 8.95%以為 N 增大過沖消失跑p2_4看max(f_N)采樣定理T_s ≤ π/Ω_m混疊判定T_s和f_s混用算2Ω_m和π/Ω_m信號重建低通濾波截止頻率Ω_c取太小丟高頻檢查Ω_m ≤ Ω_c ≤ Ω_s-Ω_mDFTfftfftshift橫軸頻率映射錯誤用f(0:N-1)*fs/N濾波器設(shè)計butterfir1通帶阻帶參數(shù)混淆畫幅頻響應(yīng)驗證復(fù)習時建議按這個順序走先跑實驗一確認能造出所有基本信號再跑實驗二把周期矩形脈沖的頻譜和吉布斯現(xiàn)象過一遍然后跑實驗三改T_s看混疊最后跑實驗四用fft分析一段音頻再用butter設(shè)計一個低通濾波器濾掉高頻。每步都記錄參數(shù)和結(jié)果形成自己的參數(shù)筆記。我自己的習慣是每次改參數(shù)前先寫下預(yù)期結(jié)果跑完對比。如果和預(yù)期不符先檢查序號向量和頻率軸再檢查公式里的 π 和 2π。從那以后我每次做采樣實驗都強制走一遍T_s ≤ π/Ω_m的判斷再也沒在混疊判定上翻過車。希望這份梳理幫到你。本文還有配套的精品資源點擊獲取