% Range-Lag Ambiguity Function toolbox % % When called without arguments, these functions will show help text for % themselves. When called with the minimum number of arguments (interval % sequence for multipulse codes, code set for alternating codes), they % will create a plot in the current axis showing the range-lag ambiguity % functions (Wtt') for a given modulation. Where arguments are not given % or given as an empty matrix, default values will be used instead. For % Barker code functions, the length of the Barker code can be specified, % defaulting to 13. (bc_wtt requires the length of the code to be % specified.) The baud length can be specified, defaulting to 3 for % Barker coded modulations and 20 for all others. All functions accept a % lag argument, specifying for which lags (in units of bauds) range-lag % ambiguity functions are computed. % % The next argument for each function can be used to specify in what axis % to draw the plot, e.g. for use in multi-panel plots. If this argument % is empty, (and plotfunction argument is not given, see below) the % range-lag ambiguity function is returned (range along the vertical % (first) dimension and lag along the horizontal (second) dimension) and % no plots are made. % % After the axis argument, the name of a 3-D plotting function can be % given. This function must accept arguments (X, Y, Z) with % X and Y vectors, and dim(Z) == [ length(X) length(Y) ]. % % Any remaining arguments will be passed to the plot function after the % X, Y, Z arguments % % If a plot is made and an output argument is specified, the handle to the % plot is returned. % % For alternating codes (random or otherwise), each non-zero lag can be % decoded in multiple ways, with different range contributions. % The ac_lp_wtt and bcac_lp_wtt functions show a separate ambiguity % function for each decoding possibility, corresponding to figure 6.6 in % [Nygrén, 1996]. To an experimenter trying to interpret a set of % measurements from an incomplete code set, it is more interesting to know % what range-lag ambiguity to expect in a single range gate from a % partially decoded or small random code set. The functions ac_gate_wtt % and bcac_gate_wtt average the ambiguity functions for all possible % decodings of the desired lags, shifted such that the expected peaks % coincide. The range axis of the plot is centered at the center range of % the gate. % % For long pulses, the function lp_lp_wtt shows the range-lag ambiguity % functions of the different lagged products that can be formed. When % creating range-gated autocorrelation functions (ACFs) from long pulse % data, it is customary to average a number of lagged products, different % for each lag, to form a range gate. The function lp_gate_wtt (not % implemented yet) shows the range-lag ambiguity functions for the % different lags of such a range gate, centered at the nominal center % range of the gate. % % Long pulse plots % lp_lp_wtt - Wtt' for a long pulse % lp_lph_wtt - as above, but using a realistic filter impulse response % % Alternating code plots % ac_lp_wtt - Wtt' for an alternating code set % ac_gate_wtt - as above, but for a completely decoded range gate % ac_wgate_wtt - as above, but allowing for differently weighted pulses % ac_lph_wtt - Wtt' for an alternating code set, using a realistic % filter impulse response % % Barker codes % bc_wtt - Wtt' for a Barker code % % Barker coded alternating code plots % bcac_lp_wtt - Wtt' for a Barker coded alternating code set % bcac_gate_wtt - as above, but for a completely decoded range gate % % Multipulse code plots % mp_lp_wtt - Wtt' for a multipulse code % bcmp_lp_wtt - Wtt' for a Barker coded multipulse code % % Random codes % sign(randn(N, M)) generates a random code set with N scans of M bauds each, % suitable as the codeset parameter to any of the % alternating code plotting functions above % % Supporting functions % multipulse - converts an interval sequence to a multipulse code % tau0code - generates the alternating code set for the tau0 experiment % altcode - generates strong alternating code sets of arbitrary size % barkercode - generates Barker codes of all known lengths % baudexpand - expands a sign sequence to patterns or bauds of given length % convolve - convolves its inputs along rows % walsh - generates the Walsh matrix from which strong codes are drawn % % Literature % % Holt, J. M., Rhoda, D. A., Tetenbaum, D., and van Eyken, A. P., % Optimal analysis of incoherent scatter radar data, Radio Sci., 27(3), % 435--447, 1992. % % Lehtinen, M. S., Statistical theory of incoherent scatter measurements, % Tech. Rep. 86/45, EISCAT Scientific Association, Kiruna, Sweden, % Ph. D. Thesis, University of Helsinki, Helsinki, Finland, 1986. % % Nygrén, T., Introduction to incoherent scatter measurements, Invers % Publications, Sodankylä, Finland, 1996. % % Nygrén, T., Huuskonen, A., and Pollari, P., Alternating-coded % multipulse codes for incoherent scatter experiments, J. Atmos. Terr. % Phys., 58(1-4), 465--477, doi:10.1016/0021-9169(95)00049-6, 1996. % % $Id: Contents.m,v 1.4 2008-11-18 05:34:39 tom Exp $ % Copyright © 2003-2008 Tom Grydeland % This is free software, licensed under GNU GPL version 2 or later