function [sing] = henkSVD(Sistema, nSV) y1 = Sistema'; n = size(y1,1); %Imprime a resposta %figure, stem(y1); %title('Sinal Original'); %Cria o sistema MatrizA = diag(ones(n-2,1),-1); MatrizB = zeros(n-1,1); MatrizB(1) = 1; MatrizC = y1(2:n)'; MatrizD = y1(1); %y2 = dimpulse(MatrizA,MatrizB,MatrizC,MatrizD,1, n); %figure, stem(y2); %title('Sinal Original Convertido para Matriz A a D'); %Gera matriz Henkel for indice=1:n-1 H(indice,1:n-indice) = MatrizC(indice:n-1); end %Decompoe o sinal e obtem os Singular Value [u,s,v] = svd(H); sing2 = diag(s); sing = sing2(1:nSV);