В этом примере показано, как смоделировать оборудование, обработку сигналов и среду распространения автомобильного радара. Сначала вы моделируете магистральный сценарий с помощью Automated Driving Toolbox™. Затем вы разрабатываете модель радарной передачи и получаете оборудование, обработку сигналов и средство отслеживания с помощью Radar Toolbox™. Наконец, вы симулируете многопутевые эффекты распространения на радарной модели.
Можно смоделировать движение транспортного средства при помощи drivingScenario
объект от Automated Driving Toolbox. Основная истина транспортного средства может затем использоваться в качестве входа к радарной модели, чтобы сгенерировать синтетические обнаружения датчика. Для примера этого рабочего процесса смотрите, Симулируют Радарные Фантомы из-за Многопутевого Возврата (Radar Toolbox). Автомобильный радар, используемый в этом примере, использует статистическую модель, которая параметрируется согласно высокоуровневым радарным техническим требованиям. Типовая радарная архитектура, смоделированная в этом примере, не включает определенные настройки антенны, формы волны или уникальные характеристики распространения канала. Когда разработка автомобильного радара, или когда определенная архитектура радара известна, использует радарную модель, которая включает эту дополнительную информацию.
Radar Toolbox позволяет вам оценить различные радарные архитектуры. Можно исследовать различную передачу и получить конфигурации массивов, формы волны и цепи обработки сигналов. Можно также оценить проекты против различных моделей канала, чтобы оценить их робастность к различным условиям окружающей среды. Это моделирование помогает вам идентифицировать определенный проект что лучшие подгонки ваши требования к приложению.
В этом примере вы изучаете, как задать радарную модель от набора системных требований для радара дальнего. Вы затем симулируете ведущий сценарий, чтобы сгенерировать обнаружения из вашей радарной модели. Средство отслеживания используется, чтобы обработать эти обнаружения, чтобы сгенерировать точные оценки положения и скорость транспортных средств, обнаруженных вашим автомобильным радаром.
Радарные параметры заданы для формы волны модулируемой частотой непрерывной волны (FMCW), как описано в примере Автомобильный Адаптивный Круиз-контроль Используя Технологию FMCW (Radar Toolbox). Радар действует на центральной частоте 77 ГГц. Эта частота обычно используется автомобильными радарами. Для операции дальней радар должен обнаружить транспортные средства в максимальной области значений 250-300 метров перед автомобилем, оборудованным датчиком. Радар требуется, чтобы разрешать объекты в области значений, которые на расстоянии по крайней мере в 1 метр. Поскольку это - радарное приложение по ходу движения, радар также должен обработать цели с большими скоростями сближения целых 230 км/час.
Радар спроектирован, чтобы использовать форму волны FMCW. Эти формы волны распространены в автомобильных приложениях, потому что они включают оценивание дальности и радиальной скорости объектов посредством в вычислительном отношении эффективных операций FFT. Для цели рисунка, в этом примере, конфигурируют радар к максимальной области значений 100 метров.
% Set random number generator for repeatable results rng(2017); % Compute hardware parameters from specified long-range requirements fc = 77e9; % Center frequency (Hz) c = physconst('LightSpeed'); % Speed of light in air (m/s) lambda = freq2wavelen(fc,c); % Wavelength (m) % Set the chirp duration to be 5 times the max range requirement rangeMax = 100; % Maximum range (m) tm = 5*range2time(rangeMax,c); % Chirp duration (s) % Determine the waveform bandwidth from the required range resolution rangeRes = 1; % Desired range resolution (m) bw = range2bw(rangeRes,c); % Corresponding bandwidth (Hz) % Set the sampling rate to satisfy both the range and velocity requirements % for the radar sweepSlope = bw/tm; % FMCW sweep slope (Hz/s) fbeatMax = range2beat(rangeMax,sweepSlope,c); % Maximum beat frequency (Hz) vMax = 230*1000/3600; % Maximum Velocity of cars (m/s) fdopMax = speed2dop(2*vMax,lambda); % Maximum Doppler shift (Hz) fifMax = fbeatMax+fdopMax; % Maximum received IF (Hz) fs = max(2*fifMax,bw); % Sampling rate (Hz) % Configure the FMCW waveform using the waveform parameters derived from % the long-range requirements waveform = phased.FMCWWaveform('SweepTime',tm,'SweepBandwidth',bw,... 'SampleRate',fs,'SweepDirection','Up'); if strcmp(waveform.SweepDirection,'Down') sweepSlope = -sweepSlope; end Nsweep = 192; sig = waveform();
Радар использует изотропный элемент, чтобы передать и универсальная линейная матрица (ULA), чтобы получить радарные формы волны. Используя линейную матрицу позволяет радару оценить азимутальное направление отраженной энергии, полученной от целевых транспортных средств. Радар дальний должен обнаружить цели через зону охвата, которая охватывает 15 градусов перед автомобилем, оборудованным датчиком. С шестью элементами получает массив, удовлетворяет этому требованию путем обеспечения ширины луча на уровне половинной мощности с 17 степенями. На передаче радар использует только элемент единого массива, позволение его покрыть большую область, чем на получает.
% Model the antenna element antElmnt = phased.IsotropicAntennaElement('BackBaffled',true); % Construct the receive array Ne = 6; rxArray = phased.ULA('Element',antElmnt,'NumElements',Ne,... 'ElementSpacing',lambda/2); % Half-power beamwidth of the receive array hpbw = beamwidth(rxArray,fc,'PropagationSpeed',c)
hpbw = 17.1800
Смоделируйте радарный передатчик для одного канала передачи и смоделируйте предусилитель приемника для каждого, получают канал, с помощью параметров, заданных в примере Автомобильный Адаптивный Круиз-контроль Используя Технологию FMCW (Radar Toolbox).
antAperture = 6.06e-4; % Antenna aperture (m^2) antGain = aperture2gain(antAperture,lambda); % Antenna gain (dB) txPkPower = db2pow(5)*1e-3; % Tx peak power (W) txGain = antGain; % Tx antenna gain (dB) rxGain = antGain; % Rx antenna gain (dB) rxNF = 4.5; % Receiver noise figure (dB) % Waveform transmitter transmitter = phased.Transmitter('PeakPower',txPkPower,'Gain',txGain); % Radiator for single transmit element radiator = phased.Radiator('Sensor',antElmnt,'OperatingFrequency',fc); % Collector for receive array collector = phased.Collector('Sensor',rxArray,'OperatingFrequency',fc); % Receiver preamplifier receiver = phased.ReceiverPreamp('Gain',rxGain,'NoiseFigure',rxNF,... 'SampleRate',fs); % Define radar radar = radarTransceiver('Waveform',waveform,'Transmitter',transmitter,... 'TransmitAntenna',radiator,'ReceiveAntenna',collector,'Receiver',receiver);
Радар собирает несколько разверток формы волны на каждом из линейных антенных элементов фазированной решетки. Эти собранные развертки формируют куб данных, который задан в Радарном Кубе Данных (Phased Array System Toolbox). Эти развертки когерентно обрабатываются вдоль быстрого - и медленно-разовые размерности куба данных, чтобы оценить область значений и Доплера транспортных средств.
Оцените направление прибытия полученных сигналов с помощью корневого средства оценки MUSIC. beamscan также используется для иллюстративных целей помочь визуализировать пространственное распределение полученной энергии сигнала.
% Direction-of-arrival estimator for linear phased array signals doaest = phased.RootMUSICEstimator(... 'SensorArray',rxArray,... 'PropagationSpeed',c,'OperatingFrequency',fc,... 'NumSignalsSource','Property','NumSignals',1); % Scan beams in front of ego vehicle for range-angle image display angscan = -80:80; beamscan = phased.PhaseShiftBeamformer('Direction',[angscan;0*angscan],... 'SensorArray',rxArray,'OperatingFrequency',fc); % Form forward-facing beam to detect objects in front of the ego vehicle beamformer = phased.PhaseShiftBeamformer('SensorArray',rxArray,... 'PropagationSpeed',c,'OperatingFrequency',fc,'Direction',[0;0]);
Используйте phased.RangeDopplerResponse
объект выполнить область значений и Доплера, обрабатывающего на радарных кубах данных. Используйте окно Хеннинга, чтобы подавить большие боковые лепестки, произведенные транспортными средствами, когда они будут близко к радару.
Nft = waveform.SweepTime*waveform.SampleRate; % Number of fast-time samples Nst = Nsweep; % Number of slow-time samples Nr = 2^nextpow2(Nft); % Number of range samples Nd = 2^nextpow2(Nst); % Number of Doppler samples rngdopresp = phased.RangeDopplerResponse('RangeMethod','FFT',... 'DopplerOutput','Speed','SweepSlope',sweepSlope,... 'RangeFFTLengthSource','Property','RangeFFTLength',Nr,... 'RangeWindow','Hann',... 'DopplerFFTLengthSource','Property','DopplerFFTLength',Nd,... 'DopplerWindow','Hann',... 'PropagationSpeed',c,'OperatingFrequency',fc,'SampleRate',fs);
Идентифицируйте обнаружения в обработанной области значений и Доплеровских данных при помощи детектора постоянного ложного сигнального уровня (CFAR). Детекторы CFAR оценивают уровень фонового шума полученных радарных данных. Обнаружения найдены в местоположениях, где степень сигнала превышает предполагаемый уровень шума определенным порогом. Низкие пороговые значения приводят к более высокому количеству ложных обнаружений, о которых сообщают, из-за экологического шума. Увеличение порога производит меньше ложных обнаружений, но также и уменьшает вероятность обнаружения фактической цели в сценарии. Для получения дополнительной информации об обнаружении CFAR смотрите Обнаружение Постоянного ложного сигнального уровня (CFAR) в качестве примера (Phased Array System Toolbox).
% Guard cell and training regions for range dimension nGuardRng = 4; nTrainRng = 4; nCUTRng = 1+nGuardRng+nTrainRng; % Guard cell and training regions for Doppler dimension dopOver = round(Nd/Nsweep); nGuardDop = 4*dopOver; nTrainDop = 4*dopOver; nCUTDop = 1+nGuardDop+nTrainDop; cfar = phased.CFARDetector2D('GuardBandSize',[nGuardRng nGuardDop],... 'TrainingBandSize',[nTrainRng nTrainDop],... 'ThresholdFactor','Custom','CustomThresholdFactor',db2pow(13),... 'NoisePowerOutputPort',true,'OutputFormat','Detection index'); % Perform CFAR processing over all of the range and Doppler cells freqs = ((0:Nr-1)'/Nr-0.5)*fs; rnggrid = beat2range(freqs,sweepSlope); iRngCUT = find(rnggrid>0); iRngCUT = iRngCUT((iRngCUT>=nCUTRng)&(iRngCUT<=Nr-nCUTRng+1)); iDopCUT = nCUTDop:(Nd-nCUTDop+1); [iRng,iDop] = meshgrid(iRngCUT,iDopCUT); idxCFAR = [iRng(:) iDop(:)]'; % Perform clustering algorithm to group detections clusterer = clusterDBSCAN('Epsilon',2);
phased.RangeEstimator
и phased.DopplerEstimator
объекты преобразуют местоположения обнаружений, найденных в данных Доплера области значений в измерения и их соответствующие отклонения измерения. Эти средства оценки соответствуют квадратичным кривым к данным Доплера области значений, чтобы оценить пиковое местоположение каждого обнаружения. Получившиеся разрешения измерения являются частью области значений и Доплеровской выборкой данных.
Среднеквадратичное (RMS) разрешение области значений переданной формы волны необходимо, чтобы вычислить отклонение измерений области значений. Разрешение области значений Рейли для радара дальнего было задано ранее как 1 метр. Разрешение Рейли является минимальным разделением, при котором могут быть разрешены две уникальных цели. Это значение задает расстояние между ячейками разрешения области значений для радара. Однако отклонение цели в ячейке разрешения определяется разрешением RMS формы волны. Для формы волны щебета LFM, отношения между разрешением Рейли и разрешением RMS дан [1].
где разрешение области значений RMS и разрешение области значений Рейли.
Отклонение Доплеровских измерений зависит от количества обработанных разверток.
Теперь создайте объекты оценивания дальности и радиальной скорости объектов с помощью параметров, ранее заданных.
rmsRng = sqrt(12)*rangeRes; rngestimator = phased.RangeEstimator('ClusterInputPort',true,... 'VarianceOutputPort',true,'NoisePowerSource','Input port',... 'RMSResolution',rmsRng); dopestimator = phased.DopplerEstimator('ClusterInputPort',true,... 'VarianceOutputPort',true,'NoisePowerSource','Input port',... 'NumPulses',Nsweep);
Чтобы далее улучшить точность предполагаемых местоположений транспортного средства, передайте радарные обнаружения средству отслеживания. Сконфигурируйте средство отслеживания, чтобы использовать расширенный фильтр Калмана (EKF), который преобразует сферические радарные измерения в систему координат Декартовой координаты автомобиля, оборудованного датчиком. Также сконфигурируйте средство отслеживания, чтобы использовать постоянную скоростную динамику для обнаруженных транспортных средств. Путем сравнения обнаружений транспортного средства по нескольким временным интервалам измерения средство отслеживания далее улучшает точность положений транспортного средства и обеспечивает оценки транспортного средства скорости.
tracker = radarTracker('FilterInitializationFcn',@initcvekf,... 'AssignmentThreshold',50);
Используйте канал свободного пространства, чтобы смоделировать распространение переданных и полученных радарных сигналов.
В модели свободного пространства радарная энергия распространяет вдоль прямого угла обзора между радаром и целевыми транспортными средствами, как показано на следующем рисунке.
Создайте магистраль ведущий сценарий с тремя транспортными средствами, перемещающимися около автомобиля, оборудованного датчиком. Транспортные средства моделируются как кубоиды и имеют различные скорости и положения, заданные в ведущем сценарии. Автомобиль, оборудованный датчиком перемещается со скоростью 80 км/час, и другие три автомобиля перемещаются в 110 км/час, 100 км/час и 130 км/час, соответственно. Для получения дополнительной информации при моделировании ведущего сценария смотрите, что пример Создает Траектории Агента и Транспортного средства Программно. Радарный датчик смонтирован на передней стороне автомобиля, оборудованного датчиком.
Чтобы создать ведущий сценарий, используйте helperAutoDrivingRadarSigProc
функция. Чтобы исследовать содержимое этой функции, используйте edit('helperAutoDrivingRadarSigProc')
команда.
% Create driving scenario [scenario,egoCar,radarParams] = ... helperAutoDrivingRadarSigProc('Setup Scenario',c,fc);
Следующий цикл использует drivingScenario
возразите, чтобы усовершенствовать транспортные средства в сценарии. На каждом шаге времени симуляции радарный куб данных собран путем сбора 192 разверток радарной формы волны. Собранный куб данных затем обрабатывается в области значений и Доплере. Область значений и обработанные данные Доплера затем beamformed, и обнаружение CFAR выполняется на beamformed данных. Расположитесь, радиальная скорость, и направление измерений прибытия оценивается для обнаружений CFAR. Эти обнаружения затем собраны в objectDetection
объекты, которые затем обрабатываются radarTracker
объект.
% Initialize display for driving scenario example helperAutoDrivingRadarSigProc('Initialize Display',egoCar,radarParams,... rxArray,fc,vMax,rangeMax); tgtProfiles = actorProfiles(scenario); tgtProfiles = tgtProfiles(2:end); tgtHeight = [tgtProfiles.Height]; % Run the simulation loop sweepTime = waveform.SweepTime; while advance(scenario) % Get the current scenario time time = scenario.SimulationTime; % Get current target poses in ego vehicle's reference frame tgtPoses = targetPoses(egoCar); tgtPos = reshape([tgtPoses.Position],3,[]); % Position point targets at half of each target's height tgtPos(3,:) = tgtPos(3,:)+0.5*tgtHeight; tgtVel = reshape([tgtPoses.Velocity],3,[]); % Assemble data cube at current scenario time Xcube = zeros(Nft,Ne,Nsweep); for m = 1:Nsweep ntgt = size(tgtPos,2); tgtStruct = struct('Position',mat2cell(tgtPos(:).',1,repmat(3,1,ntgt)),... 'Velocity',mat2cell(tgtVel(:).',1,repmat(3,1,ntgt)),... 'Signature',{rcsSignature,rcsSignature,rcsSignature}); rxsig = radar(tgtStruct,time+(m-1)*sweepTime); % Dechirp the received signal rxsig = dechirp(rxsig,sig); % Save sweep to data cube Xcube(:,:,m) = rxsig; % Move targets forward in time for next sweep tgtPos = tgtPos+tgtVel*sweepTime; end % Calculate the range-Doppler response [Xrngdop,rnggrid,dopgrid] = rngdopresp(Xcube); % Beamform received data Xbf = permute(Xrngdop,[1 3 2]); Xbf = reshape(Xbf,Nr*Nd,Ne); Xbf = beamformer(Xbf); Xbf = reshape(Xbf,Nr,Nd); % Detect targets Xpow = abs(Xbf).^2; [detidx,noisepwr] = cfar(Xpow,idxCFAR); % Cluster detections [~,clusterIDs] = clusterer(detidx.'); % Estimate azimuth, range, and radial speed measurements [azest,azvar,snrdB] = ... helperAutoDrivingRadarSigProc('Estimate Angle',doaest,... conj(Xrngdop),Xbf,detidx,noisepwr,clusterIDs); azvar = azvar+radarParams.RMSBias(1)^2; [rngest,rngvar] = rngestimator(Xbf,rnggrid,detidx,noisepwr,clusterIDs); rngvar = rngvar+radarParams.RMSBias(2)^2; [rsest,rsvar] = dopestimator(Xbf,dopgrid,detidx,noisepwr,clusterIDs); % Convert radial speed to range rate for use by the tracker rrest = -rsest; rrvar = rsvar; rrvar = rrvar+radarParams.RMSBias(3)^2; % Assemble object detections for use by tracker numDets = numel(rngest); dets = cell(numDets,1); for iDet = 1:numDets dets{iDet} = objectDetection(time,... [azest(iDet) rngest(iDet) rrest(iDet)]',... 'MeasurementNoise',diag([azvar(iDet) rngvar(iDet) rrvar(iDet)]),... 'MeasurementParameters',{radarParams},... 'ObjectAttributes',{struct('SNR',snrdB(iDet))}); end % Track detections tracks = tracker(dets,time); % Update displays helperAutoDrivingRadarSigProc('Update Display',egoCar,dets,tracks,... dopgrid,rnggrid,Xbf,beamscan,Xrngdop); % Collect free space channel metrics metricsFS = helperAutoDrivingRadarSigProc('Collect Metrics',... radarParams,tgtPos,tgtVel,dets); end
Предыдущий рисунок показывает радарные обнаружения и дорожки для трех целевых транспортных средств в 1,1 секунды времени симуляции. График на верхней левой стороне показывает поле зрения камеры преследования ведущего сценария с точки зрения автомобиля, оборудованного датчиком (отображенный синим). Для ссылки автомобиль, оборудованный датчиком перемещается на уровне 80 км/час, и другие три автомобиля перемещаются на уровне 110 км/час (оранжевый автомобиль), 100 км/час (желтый автомобиль) и 130 км/час (фиолетовый автомобиль).
Правая сторона рисунка показывает видимый с большого расстояния график, который представляет верхнюю часть вниз перспектива сценария. Все транспортные средства, обнаружения и дорожки показывают в координатной системе координат автомобиля, оборудованного датчиком. Предполагаемое отношение сигнал-шум (SNR) для каждого радарного измерения распечатано рядом с каждым обнаружением. Местоположение транспортного средства, оцененное средством отслеживания, показывают в графике с помощью черных квадратов с текстом рядом с ними указывающий на ID каждой дорожки. Скорость для каждого транспортного средства, оцененного средством отслеживания, показывается черной линией, указывающей в направлении скорости транспортного средства. Длина линии соответствует предполагаемой скорости с более длинными линиями, обозначающими транспортные средства с более высокими скоростями относительно автомобиля, оборудованного датчиком. Дорожка фиолетового автомобиля (ID2) имеет самую длинную линию, в то время как дорожка желтого автомобиля (ID1) имеет самую короткую линию. Отслеженные скорости сопоставимы со смоделированными скоростями транспортного средства, ранее перечисленными.
Два графика на нижней левой стороне показывают радарные изображения, сгенерированные обработкой сигналов. Верхний график показывает, как полученное радарное эхо от целевых транспортных средств распределяется в области значений и радиальной скорости. Здесь, все три транспортных средства наблюдаются. Измеренные радиальные скорости соответствуют скоростям, оцененным средством отслеживания, как показано в видимом с большого расстояния графике. Более низкий график показывает, как полученное целевое эхо пространственно распределяется в области значений и углу. Снова, все три цели присутствуют, и их соответствие местоположений, что показывают в видимом с большого расстояния графике.
Из-за его непосредственной близости от радара, оранжевый автомобиль может все еще быть обнаружен несмотря на большие beamforming потери из-за его положения хорошо за пределами ширины луча на 3 дБ луча. Эти обнаружения сгенерировали дорожку (ID3) для оранжевого автомобиля.
Предыдущая ведущая симуляция сценария использовала распространение свободного пространства. Это - простая модель что модели только прямое распространение угла обзора между радаром и каждой из целей. В действительности радарное распространение сигнала является намного более комплексными, включающими отражениями от нескольких препятствий прежде, чем достигнуть каждой цели и возвратиться назад к радару. Это явление известно как многопутевое распространение. Следующий рисунок показывает один такой случай многопутевого распространения, куда сигнал, посягающий цель, прибывает из двух направлений: угол обзора и один возврат от дорожного покрытия.
Полный эффект многопутевого распространения состоит в том, что полученное радарное эхо может вмешаться конструктивно и пагубно. Эта конструктивная и разрушительная интерференция следует из различий в длине пути между различными путями к распространению сигнала. Как расстояние между радаром и изменениями транспортных средств, также изменяются эти различия в длине пути. Когда различия между этими путями приводят к эху, полученному радаром, которые являются почти 180 несовпадающими по фазе градусами, эхо пагубно объединяется, и радар не делает обнаружения для той области значений.
Замените модель канала свободного пространства на модель канала 2D луча, чтобы продемонстрировать среду распространения, показанную на предыдущем рисунке. Снова используйте остающиеся параметры в ведущем сценарии и радарной модели, и запустите симуляцию снова.
% Reset the driving scenario [scenario,egoCar,radarParams,pointTgts] = ... helperAutoDrivingRadarSigProc('Setup Scenario',c,fc); % Run the simulation again, now using the two-ray channel model metrics2Ray = helperAutoDrivingRadarSigProc('Two Ray Simulation',... c,fc,rangeMax,vMax,Nsweep,... % Waveform parameters rngdopresp,beamformer,cfar,idxCFAR,clusterer,... % Signal processing rngestimator,dopestimator,doaest,beamscan,tracker,... % Estimation radar,sig); % Hardware models
Предыдущий рисунок показывает график преследования, видимый с большого расстояния график и радарные изображения в 1,1 секунды времени симуляции, как был показан для сценария распространения канала свободного пространства. Сравнивая эти две фигуры, заметьте, что для канала 2D луча, никакое обнаружение не присутствует для фиолетового автомобиля в этом времени симуляции. Эта потеря обнаружения - то, потому что различия в длине пути для этого автомобиля пагубно вмешиваются в этой области значений, приводя к общей сумме убытков обнаружения.
Постройте оценки ОСШ, сгенерированные от обработки CFAR против оценок диапазона фиолетового автомобиля от свободного пространства, и 2D излучите симуляции канала.
helperAutoDrivingRadarSigProc('Plot Channels',metricsFS,metrics2Ray);
Когда автомобиль приближается к области значений 72 метров от радара, большая потеря в предполагаемом ОСШ от канала 2D луча наблюдается относительно канала свободного пространства. Именно около этой области значений многопутевая интерференция объединяется пагубно, приводя к потере в обнаружениях сигнала. Однако заметьте, что средство отслеживания может курсировать дорожка в течение этих времен потери сигнала и обеспечить предсказанное положение и скорость для фиолетового автомобиля.
В этом примере показано, как смоделировать оборудование и обработку сигналов автомобильного радара с помощью Radar Toolbox. Вы также изучаете, как интегрировать эту радарную модель с Automated Driving Toolbox ведущая симуляция сценария. Сначала вы генерируете синтетические радарные обнаружения. Затем вы обрабатываете эти обнаружения далее при помощи средства отслеживания, чтобы сгенерировать точные оценки положения и скорости в координатной системе координат автомобиля, оборудованного датчиком. Наконец, вы изучаете, как симулировать многопутевые эффекты распространения.
Рабочий процесс, представленный в этом примере, позволяет вам изучить, как ваши радарные проектные решения архитектуры влияют на высокоуровневые системные требования. Используя этот рабочий процесс включает вам, выбирают радарный проект, который удовлетворяет вашим уникальным требованиям к приложению.
[1] Ричардс, Марк. Основные принципы радарной обработки сигналов. Нью-Йорк: Макгроу Хилл, 2005.
multiObjectTracker
| phased.FMCWWaveform
(Phased Array System Toolbox) | phased.ULA
(Phased Array System Toolbox) | phased.DopplerEstimator
(Phased Array System Toolbox) | phased.RootMUSICEstimator
(Phased Array System Toolbox) | phased.FreeSpace
(Phased Array System Toolbox) | twoRayChannel
(Radar Toolbox)