2012-01-22 6 views
3

저는 MATLAB을 사용하여 음성 모핑 시스템을 구축했습니다. 소스 및 타겟, 트레이닝 및 테스트 샘플을 128 샘플의 프레임으로 나눠서 각 프레임에 DWT를 적용 할 수 있어야합니다. 벡터를 프레임으로 나누는 방법을 알려주십시오.벡터를 MATLAB에서 프레임으로 나누는 방법은 무엇입니까?

당신은 reshape 기능을 사용하여 동일 크기의 열/행 (즉 프레임)의 매트릭스로 벡터를 변경할 수 있습니다

답변

6

:

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는 1D 매트릭스 임) ... – Kritika

+0

정확합니다. 위의 코드는 지정된 길이의 열이있는 행렬로 벡터를 바꿉니다. –

0

당신이 신호가있는 경우 버퍼를 사용하는 것입니다 모양 변경을 사용하는 대신 처리 도구 상자를 사용할 수 있습니다. 단순히. . .

y = buffer(x,128) 

.. 귀하의 경우 버퍼 명령은 원본 신호 (x)의 요소 수가 128의 정수 배가 아닌 경우 마지막 프레임에 후미 0을 추가합니다.

관련 문제