MATRIX2LATTICETYPE Convert matrix form to standard lattice description Usage: [a,M,lt] = matrix2latticetype(L,V); [a,M,lt]=MATRIX2LATTICETYPE(L,V) converts a 2x2 integer matrix description into the standard description of a lattice using the a, M and lt. The conversion is only valid for the specified transform length L. The lattice type lt is a 1 x2 vector [lt_1,lt_2] denoting an irreducible fraction lt_1/lt_2. This fraction describes the distance in frequency (counted in frequency channels) that each coefficient is offset when moving in time by the time-shift of a. Some examples: lt=[0 1] defines a square lattice, lt=[1 2] defines the quinqux (almost hexagonal) lattice, lt=[1 3] describes a lattice with a 1/3 frequency offset for each time shift and so forth. An example: [a,M,lt] = matrix2latticetype(120,[10 0; 5 10]) Coefficient layout: ------------------- The following code generates plots which show the coefficient layout and enumeration of the first 4 lattices in the time-frequecy plane: a=6; M=6; L=36; b=L/M; N=L/a; cw=3; ftz=12; [x,y]=meshgrid(a*(0:N-1),b*(0:M-1)); lt1=[0 1 1 2]; lt2=[1 2 3 3]; for fignum=1:4 subplot(2,2,fignum); z=y; if lt2(fignum)>0 z=z+mod(lt1(fignum)*x/lt2(fignum),b); end; for ii=1:M*N text(x(ii)-cw/4,z(ii),sprintf('%2.0i',ii),'Fontsize',ftz); rectangle('Curvature',[1 1], 'Position',[x(ii)-cw/2,z(ii)-cw/2,cw,cw]); end; axis([-cw L -cw L]); axis('square'); title(sprintf('lt=[%i %i]',lt1(fignum),lt2(fignum)),'Fontsize',ftz); end;
Url: http://ltfat.github.io/doc/gabor/matrix2latticetype.html
See also: latticetype2matrix.
Package: ltfat