3
我使用MATLAB構建語音變形系統,我需要將源和目標,訓練和測試樣本分成128個樣本幀,以便我可以在每個幀上應用DWT。 那麼請指導我如何將矢量分成幾個幀?如何在MATLAB中將矢量劃分爲幀?
我使用MATLAB構建語音變形系統,我需要將源和目標,訓練和測試樣本分成128個樣本幀,以便我可以在每個幀上應用DWT。 那麼請指導我如何將矢量分成幾個幀?如何在MATLAB中將矢量劃分爲幀?
可以更改載體導入使用reshape
功能相等大小的列/行(即幀)的基質中:
x = rand(128 * 100, 1);
X = reshape(x, 128, 100);
% X is a 128-by-100 matrix; the i-th column of 128 elements
% is addressed by X(:,i)
使用重塑是,如果你有信號用緩衝器的另處理工具箱可用。簡單。 。 。
y = buffer(x,128)
..在您的實例中。如果原始信號(x)中元素的數量不是128的整數倍,則緩衝區命令還會將尾隨零添加到最終幀。
我的測試和訓練樣本是以矢量而不是矩陣(x是1維矩陣)... – Kritika 2012-01-23 10:48:43
正確。上面的代碼將把一個向量重塑成一個具有指定長度列的矩陣。 – 2012-01-23 13:45:08