function f1=zerlegungper(f,h,k0,g,k1,J); 

% f gegebenes  Signal (Zeilenvektor)
% h Tiefpassfilter
% k0 Index des Anfangskoeffizienten von h
% g Hochpassfilter
% k1 Index des Anfangskoeffizienten von g
% J Anzahl der Level
% f1 enthŠlt am Schluss den Skalierungsanteil und die Waveletanteile in der Reihenfolge
% (a^J,c^J,c^(J-1),...,c^1)
% vorausgesetzt ist, dass f=(f_0,...,f_(N2-1)).
% Voraussetzung: N2 durch 2^J teilbar
[L1,L2]=size(h);
[M1,M2]= size(g);
[N1,N2] = size(f);


a=zeros(1,N2);  % Hilfsvektor
a1=zeros(1,N2);  % Hilfsvektor
b1=zeros(1,N2); %Hilfsvektor
a(1,:)=f;
for j=1:J
   Nneu=2*N2/2^j;
   for k=0:Nneu/2-1
    r1=(k1+2*k);
	r2=(k1+M2-1+2*k);
    for r=r1:r2 b1(1,k+1)=b1(1,k+1)+g(r-2*k-k1+1)*a(1,mod(r,Nneu)+1);
	end;
  end;
  for k=0:Nneu/2-1	
	r1=k0+2*k; r2=k0+L2-1+2*k;
    for r=r1:r2 a1(1,k+1)=a1(1,k+1)+h(r-2*k-k0+1)*a(1,mod(r,Nneu)+1);
	end;
  end;
  for l=1:Nneu/2
   a(l)=a1(l); a(l+Nneu/2)=b1(l);
  end; 
  a1=zeros(1,N2);
  b1=zeros(1,N2);
end;
f1=a;



 
