函數 > 信號處理 > 頻譜分析 > 範例:信號加窗
  
範例:信號加窗
使用下列函數可執行信號加窗:
blackmanchebycostapergaussian hamminghanningkaisernuttalltaprecttriangular
典型/截斷之低通脈衝回應
1. 使用常態化截止頻率 0.15,定義典型的低通濾波器之脈衝回應 h
按一下以複製此運算式
2. 定義脈衝回應。
按一下以複製此運算式
因為有限長度可實現濾波器必須具有有限的脈衝回應,因此會將此典型的回應,截斷為可管理之特定項數。
3. 若要檢查直接截斷的效果,而不對頻率回應加窗,請將長度 N 的濾波器 (僅含典型回應的中間 N 個項數) 定義為移位至讓濾波器成形之處。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
作法是將 N 設為 N2,並在以下範例中觀察項數數目增加時的效果。
4. 在此項數範圍內套用脈衝回應函數,並繪製所得出的函數。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
5. 使用 gain 函數計算此截斷信號的頻率回應,但先定義頻率範圍 (樣本頻率的倍數)。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
6. gain 函數的離散量值集中到新陣列中。
按一下以複製此運算式
7. 求解最大量值 G 及其對應頻率。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
當項數的數目等於 N1=63 時,最大增量 1.083 會發生在頻率 freq=0.134 上。
當項數的數目等於 N2=127 時,最大增量 1.092 會發生在頻率 freq=0.142 上,因而更接近頻帶邊緣。
在頻率 freq=0.2 上,增量會下降至幾乎為零。在下列每個範例中,比較此頻率附近的增量。
8. 在定義的範圍內繪製 gain 函數,並顯示量值達其最大值時的頻率。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
passband 邊緣的過衝又稱為吉布斯現象。將 N 階濾波器從 N1=63 增加至上述的 N2=127,可將過衝更移近頻帶邊緣,但不減少其振幅。
增加 N 階濾波器的值之後,從 1 移轉至 0 會變得更尖銳。
為產生更符合需要的頻率回應,其中一個作法是將典型的脈衝回應加窗,讓濾波器脈衝回應邊緣上的 0 移轉更平滑。這些窗會逐項乘以回應向量 r。
三角窗
函數 triangular 會傳回寬度為 N 的三角窗或 Bartlett 窗。
所得出之向量的第 j 個元素得自:
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
1. 套用此函數對 N 階進行濾波,並繪製所得出的向量。
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vt,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
漢寧窗
函數 hanning 會傳回寬度為 N 的漢寧窗。
所得出之向量的第 k 個元素得自:
按一下以複製此運算式
1. 套用此函數對 N 階進行濾波,並繪製所得出的向量。
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vhn,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
stopband 波紋約為 -45 dB。
漢明窗
函數 hamming 會傳回寬度為 N 的漢明窗。
所得出之向量的第 k 個元素得自:
按一下以複製此運算式
1. 套用此函數對 N 階進行濾波,並繪製所得出的向量。
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vhm,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
stopband 波紋約為 -55 dB。
Blackman 窗
函數 blackman 會傳回寬度為 N 的 Blackman 窗。
所得出之向量的第 k 個元素得自:
按一下以複製此運算式
1. 套用此函數可對 N 階進行濾波,並繪製所得出的向量
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vb,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
stopband 波紋約為 -75 dB。
Nuttall 窗
函數 nuttall 會傳回寬度為 N 的 Nuttall 窗。
所得出之向量的第 k 個元素得自:
按一下以複製此運算式
1. 套用此函數對 N 階進行濾波,並繪製所得出的向量。
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vnu,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
stopband 波紋約為 -105 dB。
梯形窗
函數 taprect 會傳回寬度為 N 的梯形窗。
此窗在高度達 1 時會呈水平線,而兩端則由餘弦曲線形成斜度。左右側使用下列值:
按一下以複製此運算式
其中
按一下以複製此運算式
且從 0 到 h 執行 n 次。
1. 套用此函數對 N 階進行濾波,並繪製所得出的向量。
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vtr,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
高斯窗
函數 gaussian 會傳回寬度為 N 且參數為 a 的高斯窗。數字 a 是與高斯變異數呈反比的實數,且必須滿足 2 < a < 20。
所得出之向量的第 k 個元素得自:
按一下以複製此運算式
1. 套用此函數對 N 階進行濾波,並繪製所得出的向量。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vg,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
stopband 波紋約為 -95 dB。
凱瑟窗
函數 kaiser 會傳回寬度為 N 且參數為 b 的凱瑟窗。參數 b 必須滿足 2≤b≤20。
所得出之向量的第 k 個元素得自:
按一下以複製此運算式
1. 套用此函數對 N 階進行濾波,並繪製所得出的向量。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vk,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
stopband 波紋約為 -75 dB。
契比雪夫窗
函數 cheby 傳回寬度為 N 且參數為 b 的契比雪夫窗 (又稱為等波紋窗)。參數 b 指定旁瓣波紋的最大值 (以 dB 為單位),且必須滿足 1 < b;一般而言,b 會 > 50。此窗的長度必須是奇數。契比雪夫窗的計算方式,是在單位圓附近的每點上計算契比雪夫多項式的離散傅立葉逆轉換。如需此窗的詳細資訊,請參閱 Programs for Digital Signal Processing (數位信號處理計劃) (IEEE Press)。
1. 套用此函數對 N 階進行濾波,並繪製所得出的向量。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vc,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
stopband 波紋約為 -110 dB。
取餘處理窗
函數 costaper 類似於函數 taprect,都會傳回一個矩形窗,其中兩側斜度取決於餘弦曲線。但您可使用參數指定此窗中應以餘弦曲線建立的百分比。參數 a 可介於 0 與 1 之間;值 0 傳回矩形窗,而值 1 傳回增量的餘弦曲線。
就窗的傾斜部份而言,第 k 個元素的值得自:
按一下以複製此運算式
其中 M 是窗元素中落於其中一側的數目,並得自 a-N:
1. 套用此函數對 N 階進行濾波,並繪製所得出的向量。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
2. 計算窗形脈衝回應。
按一下以複製此運算式
3. 使用 gain 函數計算並繪製此濾波器的增量 (以 dB 為單位),其係數為 vrc,而頻率為 k/1000。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
stopband 波紋約為 -20 dB。
參照
S. Lawrence Marple, Jr., Digital Spectral Analysis with Applications (數位頻譜分析與應用), Prentice-Hall (1987)。
Lawrence R. Rabiner and Bernard Gold, Theory and Application of Digital Signal Processing (數位信號處理之理論與應用), Prentice-Hall, Inc. (1975)。
T. W. Parks and C. S. Burrus, Digital Filter Design (數位濾波器設計), Wiley-Interscience (1987)。