MATLAB 学习笔记(6)MATLAB 的 upsample 函数和 downsample 函数
目錄
upsample 和 downsample
程序驗證
上采樣 upsample
下采樣 downsample
其他參數設定
總結
?
upsample 和 downsample
upsample 和 downsample 顧名思義就是上采樣和下采樣,但是在 MATLAB 中代表的含義是什么,用 MATLAB 做個而簡單的測驗。
以下是 MATLAB 官方對兩個函數的解釋。
程序驗證
上采樣 upsample
首先定義一個 1×6 的矩陣 martix_A,并對其 4 倍上采樣結果命名為 martix_B。
martix_A = [1 2 3 4 5 6]; martix_B = upsample(martix_A,4);
這是 martix_A 的數據格式
martix_A 數據格式
這是 martix_B 的數據格式,這里由于數據太長就沒有截全
在工作區可以看出,矩陣 A 為 1×6 的矩陣,而矩陣 B 為 1×24 的矩陣,從上面的表格可以看出,upsample 的功能就是將矩陣中每個數據擴展 4 倍,剩余的 3 個數用 0 填充。
martix_A? 和?martix_B 格式
在從具體的圖像去分析
下圖是原始的 matrix A 的圖像,可以看到是一條直線。
matrix A 圖像
下圖是由 matrix A 上采樣形成的 matrix B 的圖像,可以看到現在的圖像不再是連續的,而是斷斷續續的,但是在每個峰的頂點依次對應的值為 1、2、3、4、5、6,而其余的點值均為 0,和之前矩陣的數值就能對應上了。
matrix B?圖像
理解了上采樣 upsample 的含義,對于下采樣 downsample 就很好理解了,下采樣其實就是上采樣的逆操作,上采樣將一個點擴展到 4 個點,下采樣就是將 4 個點縮小至 1 個點,這里依然用實際的程序解釋。
下采樣 downsample
對 martix_B 進行 4 倍的下采樣操作
martix_C = downsample(martix_B,4);
可以看到,此時的 martix_C 和 martix_A 是一致的。
數據格式
在數據格式上也是一樣。
數據格式
在圖像是也是和之前原始的圖像一致。
matrix C 圖像
其他參數設定
除此之外,這兩個函數還可以添加另一個參數,phase:相位,這個參數可以更改樣本數據的相位。
舉個栗子
定義一個矩陣 matrix_D,參數 phase 設定為 2
martix_D = upsample(martix_A,4,2);
此時每個數都向右移了 2 位
matrix D 數據格式
從圖像中也可以看出向右偏移了部分距離
matrix D 圖像
總結
上采樣操作將每個輸出數據間插入了 3 個 0,這就相當于將采樣時間縮短為原來的 1/4,從頻率上看,頻率變為原來的 1/4。同時數據長度也變為原來的 4 倍。需要注意的是,4 倍升采樣后,功率也變為原來的1/4,可以增加增益等方法處理。上采樣的意義通俗的講就在于增加數據與數據直接的間隙,在調制的時候就可以有效的避免產生混疊,下采樣的是上采樣的逆操作,理解了上采樣,下采樣自然就懂了。
?
?
總結
以上是生活随笔為你收集整理的MATLAB 学习笔记(6)MATLAB 的 upsample 函数和 downsample 函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 敏捷其实很简单(7) Scrum Mas
- 下一篇: 洛谷P3966 [TJOI2013]单词