2012-01-22 45 views
3

私はMATLABを使って音声モーフィングシステムを構築しています。ソースとターゲット、訓練とテストサンプルを128サンプルのフレームに分割して、それぞれのフレームにDWTを適用する必要があります。 ベクトルをフレームに分割する方法を教えてください。ベクトルをMATLABでフレームに分割する方法は?

答えて

6

あなたは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) 
+0

私のテストとトレーニングのサンプルは、行列(xは1次元行列)... – Kritika

+0

正確に。上記はベクトルを指定された長さの列を持つ行列に作り直します。 –

0

あなたが信号を持っている場合は再形成を使用する代わりに、バッファを使用することです利用可能な処理ツールボックス。単純に。 。 。

y = buffer(x,128) 

..この例では、オリジナルの信号(x)の要素数が128の整数倍でない場合、bufferコマンドは最後のフレームに最後のゼロを追加します。

関連する問題