📄 getmod.m
字号:
function mod = getmod(method, methodParam, phaseFlag, permFlag)%GETMOD Returns the coeffients for a selected modulation, e.g. Barker 13.%%Synopsis:% mod = getmod(method, methodParam)% mod = getmod(method, methodParam, phaseFlag)% mod = getmod(method, methodParam, phaseFlag, permFlag)%%Description:% Returns the (complex) coeffients for a selected modulation, e.g. Barker 13.% This modulation will be repeated once for every PRI (pulse repetition% interval) when used in simulations.%% Different general aspects on modulations (waveforms) can be found in% [3,5,10].%%Output and Input:% mod (CxVectorT): The complex coefficients for the modulation code.% method (StringT): Type of modulation.% = 'rect' : Rectangular pulse. See below for description.% = 'gauss' : Near gaussian pulse [2]. Not Implemented.% = 'frank' : Frank coding. See below for description.% = 'barker' : Barker coding. See below for description.% = 'chirp' : Chirp (linear FM) coding. See below for description.% = 'PRBS' : PRBS (Pseudo-Random Binary Sequence) code. See [5] pp. 15-16% and [7,8]. Not implemented.% = 'GF' : GF codes, see See [9] and [5] pp. 17-18. Not implemented.% = 'biRnd': Random binary phase code, see [5] pp. 32-33. Not implemented.% = 'multiRnd': Random multi phase code, see [5] pp. 32-34. Not implemented.% methodParam (?): Parameters specific to the choosen type of modulation.% See below under respective method.% phaseFlag [D](IntScalarT) : 1 if a phaseshift of pi radians of the code% is wanted. Defaults to zero.% permFlag [D](IntScalarT) : 1 if a fliparound of the code is wanted.% i.e. [1 2 3] -> [3 2 1] if permFlag is set. Defaults to zero.%%----------%Rectangular Pulse ('rect').%Synopsis:% mod = getmod('rect',pulseLength);%%Description:% Creates rectangular modulating coefficients, i.e. all set to one, for the% wanted pulselength. See [2] and p. 129-132 in [3] for more information.%%Output and Input:% pulseLength (IntScalarT): Number of coefficients to return.%%----------%Barker Coding ('barker').%Synopsis:% mod = getmod('barker', codeOrder);% mod = getmod('barker', codeOrder, phaseFlag);% mod = getmod('barker', codeOrder, phaseFlag, permFlag);%%Description:% Barker code generation, see [2,3,5,6] for further information.%%Output and Input:% codeOrder (StringT): Order of code, valid orders are '2a', '2b', '3',% '4a', '5', '7', '11' and '13'.%%----------%Frank Coding ('frank').%Synopsis:% mod = getmod('frank', codeOrder);% mod = getmod('frank', codeOrder, phaseFlag);% mod = getmod('frank', codeOrder, phaseFlag, permFlag);%%Description:% Frank code generation, see [2,3,4,5] for further information.%%Output and Input:% codeOrder (IntScalarT) : Order of code. Note: Length of Frank code of% order M is M^2.%%----------%Chirp Coding%Synopsis:% mod = getmod('chirp', [fModMax, fSamp, len]);% mod = getmod('chirp', [fModMax, fSamp, len], phaseFlag);% mod = getmod('chirp', [fModMax, fSamp, len], phaseFlag, permFlag);%%Description:% Chirp (linear FM) code generation. The phase between samples increases% in a rate corresponding to a linear frequaency increase. The start phase% is zero and the start frequency is zero.% See [2] and p, 132-136 in [3] for further information.%%Output and Input:% fModMax (RealScalarT): Maximum frequency deviation [Hz] from start% to end of pulse.% fSamp (RealScalarT): Sampling frequency [Hz].% len (IntScalarT): Length of modulation (number of coefficients or samples).%%Software Quality:% This function is not tested.%%----------%Notations:% Data type names are shown in parentheses and they start with a capital% letter and end with a capital T. Data type definitions can be found in [1]% or by "help dbtdata".% [D] = This parameter can be omitted and then a default value is used.% When the [D]-input parameter is not the last used in the call, it must be% given the value [], i.e. an empty matrix.% ... = There can be more parameters. They are explained under respective% metod or choice.%%Examples:% Example 1:% % An example with Barker code.% ant = defant('expAnt');% sig1 = expsig1(ant,'test.dbs');% pmod = getmod('barker','13');% sig2 = pulscomp(sig1,pmod);% sigplot2(sig2,10,':',':');% title('After pulse compression.')%% Example 2:% % An example with Chirp (linear frequency modulation).% len = 1024; % Number of samples.% maxFDev = 500; % Maximum frequency deviation [Hz].% fSamp = 2000; % Sampling frequency [Hz].% Ts = 1/fSamp; % Sampling time [s].% t = linspace(0, Ts*len, len);% codeCalc = getmod('chirp',[maxFDev,fSamp,len]);% realSig = real(codeCalc);% figure,plot(t,realSig)% title('Time signal')% xlabel('Time [s]')%% freqEst = 1/(2*pi) * diff(unwrap(angle(codeCalc))) * fSamp;% figure, plot(t,[0;freqEst])% title('Frequency estimation')% xlabel('Time [s]')% ylabel('Frequency [Hz]')%% spect = fftshift(fft(realSig));% f = linspace(-fSamp/2,fSamp/2,len);% figure,plot(f,spect)% title('Frequency spectrum')% xlabel('Frequency [Hz]')% %Expected result :% % The frequency of the time signal shall increase.% % The estimation of frequency shall be a straight line with upward% % direction an through origo (from 0 Hz to 500 Hz).% %The frequency spectrum shall reside mainly within +- 500 Hz.%%Software Quality:% (About what is done to ascertain software quality. What tests are done.)%%References:% [1]: Bj鰎klund S.: "DBT, A MATLAB Toolbox for Radar Signal Processing.% Reference Guide", FOA-D--9x-00xxx-408--SE, To be published.% [2]: Kingsley S., Quegan S.: "Understanding Radar Systems",% McGraw-Hill 1992. ISBN 0-07-707426-2. Page 150-154.% [3]: Levanon N.: "Radar Principles", Wiley 1988. ISBN 0-471-85881-1.% [4]: Frank R.L.: "Polyphase Codes with Good Nonperiodic Correlation% Properties", IEEE Trans. on Information Theory, IT-9 (1963), pp. 43-45.% [5]: Oreborn U.: "En analys av v錱former f鰎 bistatiska radarsystem",% Defence Research Establishment, Sweden, FOA Report C 30765-3.3,% June 1994, in Swedish.% [6]: Barker R.H.: "Group Synchronizing of Binary Digital Systems", in% Communication Theory (W. Jackson, ed.), Academic Press 1953, pp. 273-287.% [7]: Henriksson U.:"Signalteori D", Department of Electrical Engineering,% Link鰌ing University, Sweden, June 1990, pp. 131-132.% [8]: Bj鰎klund S.: "Implementation einer Schrittweitensteuerung f黵% einen Kompensator f黵 akustische Echos", Master of Science Thesis D85,% Technische Hochshule Darmstadt, Germany, February 1993, pp. 26-27.% [9]: Carlsson E.J.:"Low Probability of Intercept (LPI) Techniques and% Implementations for Radar Systems", Proceedings of the 1988 IEEE% National Radar Conference, pp. 56-60.% [10]: Gr鰊berg F.:"Tyst radar - synpunkter p
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -