範例:內插與取樣
使用
multirate、resample 及
upsample 函數,以不同的方式及在不同的假設下,變更信號的取樣率。
具預設 FIR 濾波器的函數 multirate
multirate 函數利用線性相位 FIR 濾波器的群組延遲,估算初始輸出暫態結束及截斷的位置。
1. 定義信號參數。
3. 將 multirate 函數套用至信號。
4. 繪製重新取樣的信號。
繪圖顯示重新取樣的信號略有偏移,且包含 n/m 倍的原始數據點數目。位移由 FIR 濾波器引入,等於其群組延遲。
具選用低通 FIR 濾波器的函數 multirate
1. 定義截止頻率、係數數目及錐形窗類型。
3. 使用 multirate 函數透過不同的係數重新取樣信號 x。
4. 繪製重新取樣的信號。
重新取樣會導致信號衰減,因為 FIR 濾波器並沒有等於擴增取樣率 n 的增量。
5. 將 FIR 濾波器的係數調整為正確的增量,再重新繪製已重新取樣的信號。
調整 FIR 濾波器係數會移除縮放效果。
信號擴增取樣
您可使用 multirate 函數擴增取樣或縮減取樣信號。
1. 使用 multirate 函數透過增加 n/m 比例來擴增取樣信號 x。
2. 繪製擴增取樣的信號。
增加 n/m 比例會造成總樣本數增多 (可從長度值看出),以及原始信號之任兩個連續樣本間的新樣本數增多。
3. 使用 multirate 函數透過降低 n/m 比例縮減取樣信號 x。
4. 繪製縮減取樣的信號。
降低 n/m 比例會造成總樣本數減少 (可從長度值看出),以及原始信號之任兩個連續樣本間的新樣本數減少。
數據擴增取樣
upsample 函數會對原始數據執行 FFT,在係數值域的中間加上零,建立具有所需內插長度的轉換,然後再逆轉換延伸的頻譜。內插數據有很多方法,可使用特別設計的 FIR 濾波器。若是行為規律的數據,此函數會傳回合理的內插。
1. 設定內插係數 n,再將 upsample 函數套用至信號 x。
2. 繪製傳回的信號。
傳回的信號是有 n 倍點數的內插版本信號 x。
重新取樣信號
如上所述,resample 函數的運算方法是內插以產生 n 倍的點數,然後再採用每一次的第 mth 個點產生輸出。
1. 設定減量取樣係數 m 及內插係數 n。
2. 繪製傳回的信號。
傳回信號有如 3/5 的多點,所以樣本間距是原始間距的 5/3。
使用擴增取樣與非週期性及定期性輸入
upsample 函數假設輸入是定期性輸入。檢查兩例傳回的信號。
非週期性輸入
1. 設定內插係數。
2. 定義非定期性輸入信號。
3. 套用 upsample 函數。
4. 繪製傳回的信號。
內插慣例假設 X 具有週期性。因此,它會嘗試將點內插在會回復至初始高度 1 的圖表近結尾處。但若「包裹」輸入序列提供合理的平滑函數,函數即會得出明顯的結果。
定期性輸入
1. 設定內插係數。
2. 定義定期性輸入信號。
3. 套用 upsample 函數。
4. 繪製傳回的信號。
內插是當信號具有週期性時,接近原始信號的近似值。