% multipulse - convert a multipulse interval sequence to a pattern % function mp = multipulse(gaps [, pattern]) % if pattern is not given, ones are used (and gaps inserted) % multipulse([1 3 2]) => [1 0 1 0 0 0 0 0 1 0 0 0 1] % if pattern (e.g. a Barker code) is given, no extra breaks are inserted % multipulse([1 2], [1 1 -1 1]) => [1 1 -1 1 1 1 -1 1 0 0 0 0 1 1 -1 1] % % Some valid (unambiguous) patterns are: [Farley, /Radio Sci./ 7(6), 661, 1972] % 3-pulse: [1 2] % 4-pulse: [1 3 2] % 5-pulse: [1 3 5 2], [3 1 5 2] % 6-pulse: [1 7 4 3 2], [1 3 6 5 2] % 7-pulse: [1 3 6 8 5 2], [2 1 7 6 5 4], [1 6 4 9 3 2] % % See also WTT, MP_LP_WTT, BCMP_LP_WTT. % $Id: multipulse.m,v 1.2 2004/12/15 22:44:27 tom Exp $ % Copyright © 2003-2004 Tom Grydeland % This is free software, licensed under GNU GPL version 2 or later function mp = multipulse(gaps, pattern) if nargin < 1, help multipulse, return, end if nargin == 1 mp = 1; for gap = gaps, mp = [mp zeros(1, 2*gap-1) 1]; end return end % pattern is repeated without extra breaks mp = pattern; len = length(pattern); for gap = gaps, mp = [mp zeros(1, (gap-1)*len) pattern]; end return