В этом примере показано, как смоделировать оборудование радара, обработку сигналов и среду распространения для ведущего сценария. Сначала вы разрабатываете модель радарной передачи и получаете оборудование, обработку сигналов, обнаружение и оценку с помощью Phased Array System Toolbox™. Затем вы моделируете движение транспортного средства и отслеживаете синтетические обнаружения транспортного средства с помощью Automated Driving Toolbox™. В этом примере вы используете эту радарную модель, чтобы отследить обнаружения в магистрали ведущий сценарий.
Этот пример требует Phased Array System Toolbox.
Можно смоделировать движение транспортного средства при помощи drivingScenario
объект от Automated Driving Toolbox. Основная истина транспортного средства может затем использоваться, чтобы сгенерировать синтетические обнаружения датчика, которые можно отследить при помощи multiObjectTracker
объект. Для примера этого рабочего процесса смотрите, что Fusion Датчика Использует Синтетические Данные о Радаре и Видении. Автомобильный радар, используемый в этом примере, использует статистическую модель, которая параметрируется согласно высокоуровневым радарным техническим требованиям. Типовая радарная архитектура, смоделированная в этом примере, не включает определенные настройки антенны, формы волны или уникальные характеристики распространения канала. Когда разработка автомобильного радара, или когда определенная архитектура радара известна, с помощью радарной модели, которая включает эту дополнительную информацию, рекомендуется.
Phased Array System Toolbox позволяет вам оценить различные радарные архитектуры. Можно исследовать различную передачу и получить конфигурации массивов, формы волны и цепи обработки сигналов. Можно также оценить проекты против различных моделей канала, чтобы оценить их робастность к различным условиям окружающей среды. Это моделирование помогает вам идентифицировать определенный проект что лучшие подгонки ваши требования к приложению.
В этом примере вы изучаете, как задать радарную модель от набора системных требований для радара дальнего. Вы затем симулируете ведущий сценарий, чтобы сгенерировать обнаружения из вашей радарной модели. Средство отслеживания используется, чтобы обработать эти обнаружения, чтобы сгенерировать точные оценки положения и скорость транспортных средств, обнаруженных вашим автомобильным радаром.
Радарные параметры заданы для формы волны модулируемой частотой непрерывной волны (FMCW), как описано в примере Автомобильный Адаптивный Круиз-контроль Используя Технологию FMCW (Phased Array System Toolbox). Радар действует на центральной частоте 77 ГГц. Эта частота обычно используется автомобильными радарами. Для операции дальней радар должен обнаружить транспортные средства в максимальной области значений 100 метров перед автомобилем, оборудованным датчиком. Радар требуется, чтобы разрешать объекты в области значений, которые на расстоянии по крайней мере в 1 метр. Поскольку это - радарное приложение по ходу движения, радар также должен обработать цели с большими скоростями сближения, целых 230 км/час.
Радар спроектирован, чтобы использовать форму волны FMCW. Эти формы волны распространены в автомобильных приложениях, потому что они включают оценивание дальности и радиальной скорости объектов посредством в вычислительном отношении эффективных операций FFT.
% 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 = c/fc; % 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 intermediate frequency (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); Nsweep = 192;
Радар использует универсальную линейную матрицу (ULA), чтобы передать и получить радарные формы волны. Используя линейную матрицу позволяет радару оценить азимутальное направление отраженной энергии, полученной от целевых транспортных средств. Радар дальний должен обнаружить цели через зону охвата, которая охватывает 15 градусов перед автомобилем, оборудованным датчиком. С 6 элементами получает массив, удовлетворяет этому требованию путем обеспечения 16 степеням ширины луча на уровне половинной мощности. На передаче радар использует только элемент единого массива, позволение его покрыть большую область, чем на получает.
% 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); % 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]); % Half-power beamwidth of the receive array helperAutoDrivingRadarSigProc('Array Beamwidth',rxArray,c,fc)
ans = 16.3636
Оцените направление прибытия полученных сигналов с помощью корневого средства оценки 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);
Смоделируйте радарный передатчик для одного канала передачи и смоделируйте предусилитель приемника для каждого, получают канал, с помощью параметров, заданных в примере Автомобильный Адаптивный Круиз-контроль Используя Технологию FMCW (Phased Array System 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);
Радар собирает несколько разверток формы волны на каждом из линейных антенных элементов фазированной решетки. Эти собранные развертки формируют куб данных, который задан в Радарном Кубе Данных (Phased Array System Toolbox). Эти развертки когерентно обрабатываются вдоль быстрого - и медленно-разовые размерности куба данных, чтобы оценить область значений и Доплера транспортных средств.
Используйте 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 after processing Nd = 2^nextpow2(Nst); % Number of Doppler samples after processing 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<=Nr-nCUTRng+1); iDopCUT = nCUTDop:(Nd-nCUTDop+1); [iRng,iDop] = meshgrid(iRngCUT,iDopCUT); idxCFAR = [iRng(:) iDop(:)]';
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 = multiObjectTracker('FilterInitializationFcn',@initcvekf,'AssignmentThreshold',50);
Используйте канал свободного пространства, чтобы смоделировать распространение переданных и полученных радарных сигналов.
channel = phased.FreeSpace('PropagationSpeed',c,'OperatingFrequency',fc,... 'SampleRate',fs,'TwoWayPropagation',true);
В модели свободного пространства радарная энергия распространяет вдоль прямого угла обзора между радаром и целевыми транспортными средствами, как показано на следующем рисунке.
Создайте магистраль ведущий сценарий с тремя транспортными средствами, перемещающимися около автомобиля, оборудованного датчиком. Транспортные средства моделируются, когда точка предназначается, и имейте различные скорости и положения, заданные в ведущем сценарии. Автомобиль, оборудованный датчиком перемещается со скоростью 80 км/час, и другие три автомобиля перемещаются в 110 км/час, 100 км/час и 130 км/час соответственно. Для получения дополнительной информации при моделировании ведущего сценария, смотрите, что пример Создает Траектории Агента и Транспортного средства Программно. Радарный датчик смонтирован на передней стороне автомобиля, оборудованного датчиком.
Чтобы создать ведущий сценарий, используйте helperAutoDrivingRadarSigProc
функция. Чтобы исследовать содержимое этой функции, используйте edit('helperAutoDrivingRadarSigProc')
команда.
% Create driving scenario [scenario,egoCar,radarParams,pointTgts] = helperAutoDrivingRadarSigProc('Setup Scenario',c,fc);
Следующий цикл использует drivingScenario
возразите, чтобы усовершенствовать транспортные средства в сценарии. На каждом шаге времени симуляции радарный куб данных собран путем сбора 192 разверток радарной формы волны. Собранный куб данных затем обрабатывается в области значений и Доплере. Область значений и обработанные данные Доплера затем beamformed, и обнаружение CFAR выполняется на beamformed данных. Расположитесь, радиальная скорость, и направление измерений прибытия оценивается для обнаружений CFAR. Эти обнаружения затем собраны в objectDetection
объекты, которые затем обрабатываются multiObjectTracker
объект.
% 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,[]); tgtPos(3,:) = tgtPos(3,:)+0.5*tgtHeight; % Position point targets at half of each target's height tgtVel = reshape([tgtPoses.Velocity],3,[]); % Assemble data cube at current scenario time Xcube = zeros(Nft,Ne,Nsweep); for m = 1:Nsweep % Calculate angles of the targets viewed by the radar tgtAngs = NaN(2,numel(tgtPoses)); for iTgt = 1:numel(tgtPoses) tgtAxes = rotz(tgtPoses(iTgt).Yaw)*roty(tgtPoses(iTgt).Pitch)*rotx(tgtPoses(iTgt).Roll); [~,tgtAngs(:,iTgt)] = rangeangle(radarParams.OriginPosition,tgtPos(:,iTgt),tgtAxes); end % Transmit FMCW waveform sig = waveform(); [~,txang] = rangeangle(tgtPos,radarParams.OriginPosition,radarParams.Orientation); txsig = transmitter(sig); txsig = radiator(txsig,txang); txsig = channel(txsig,radarParams.OriginPosition,tgtPos,radarParams.OriginVelocity,tgtVel); % Propagate the signal and reflect off the target tgtsig = pointTgts(txsig,tgtAngs); % Collect received target echos rxsig = collector(tgtsig,txang); rxsig = receiver(rxsig); % 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 = helperAutoDrivingRadarSigProc('Cluster Detections',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); % Publish snapshot helperAutoDrivingRadarSigProc('Publish Snapshot',time>=1.1); % Collect free space channel metrics metricsFS = helperAutoDrivingRadarSigProc('Collect Metrics',radarParams,tgtPos,tgtVel,dets); end
Предыдущий рисунок показывает радарные обнаружения и дорожки для 3 целевых транспортных средств в 1,1 секунды времени симуляции. График на верхней левой стороне показывает поле зрения камеры преследования ведущего сценария с точки зрения автомобиля, оборудованного датчиком (отображенный синим). Для ссылки автомобиль, оборудованный датчиком перемещается на уровне 80 км/час, и другие три автомобиля перемещаются на уровне 110 км/час (оранжевый автомобиль), 100 км/час (желтый автомобиль) и 130 км/час (фиолетовый автомобиль).
Правая сторона фигуры показывает видимый с большого расстояния график, который представляет "верхнюю часть вниз" перспектива сценария. Все транспортные средства, обнаружения и дорожки показывают в координатной системе координат автомобиля, оборудованного датчиком. Предполагаемое отношение сигнал-шум (SNR) для каждого радарного измерения распечатано рядом с каждым обнаружением. Местоположение транспортного средства, оцененное средством отслеживания, показывают в графике с помощью черных квадратов с текстом рядом с ними указывающий на ID каждой дорожки. Предполагаемая скорость средства отслеживания для каждого транспортного средства показывается черной линией, указывающей в направлении скорости транспортного средства. Длина линии соответствует предполагаемой скорости с более длинными линиями, обозначающими транспортные средства с более высокими скоростями относительно автомобиля, оборудованного датчиком. Дорожка фиолетового автомобиля (ID2) имеет самую длинную линию, в то время как дорожка желтого автомобиля (ID1) имеет самую короткую линию. Отслеженные скорости сопоставимы со смоделированными скоростями транспортного средства, ранее перечисленными.
Два графика на нижней левой стороне показывают радарные изображения, сгенерированные обработкой сигналов. Верхний график показывает, как полученный радар echos от целевых транспортных средств распределяется в области значений и радиальной скорости. Здесь, все три транспортных средства наблюдаются. Измеренные радиальные скорости соответствуют скоростям, оцененным средством отслеживания, как показано в видимом с большого расстояния графике. Более низкий график показывает, как полученная цель echos пространственно распределяется в области значений и углу. Снова, все три цели присутствуют, и их соответствие местоположений, что показывают в видимом с большого расстояния графике.
Из-за его непосредственной близости от радара, оранжевый автомобиль может все еще быть обнаружен несмотря на большие beamforming потери из-за его положения хорошо за пределами ширины луча луча на 3 дБ. Эти обнаружения сгенерировали дорожку (ID3) для оранжевого автомобиля.
Предыдущая ведущая симуляция сценария использовала распространение свободного пространства. Это - простая модель что модели только прямое распространение угла обзора между радаром и каждой из целей. В действительности радарное распространение сигнала является намного более комплексными, включающими отражениями от нескольких препятствий прежде, чем достигнуть каждой цели и возвратиться назад к радару. Это явление известно как многопутевое распространение. Следующий рисунок показывает один такой случай многопутевого распространения, куда сигнал, посягающий цель, прибывает из двух направлений: угол обзора и один возврат от дорожного покрытия.
Полный эффект многопутевого распространения состоит в том, что полученное радарное эхо может вмешаться конструктивно и пагубно. Эта конструктивная и разрушительная интерференция следует из различий в длине пути между различными путями к распространению сигнала. Как расстояние между радаром и изменениями транспортных средств, также изменяются эти различия в длине пути. Когда различия между этими путями приводят к echos, полученному радаром, которые являются почти 180 несовпадающими по фазе градусами, echos пагубно объединяются, и радар не делает обнаружения для той области значений.
Замените модель канала свободного пространства на модель канала 2D луча, чтобы продемонстрировать среду распространения, показанную на предыдущем рисунке. Снова используйте остающиеся параметры в ведущем сценарии и радарной модели, и запустите симуляцию снова.
% Reset the driving scenario [scenario,egoCar,radarParams,pointTgts] = helperAutoDrivingRadarSigProc('Setup Scenario',c,fc); % Create two-ray propagation channels. One channel is used for the transmit % path and a different channel is used for the receive path. txchannel = phased.TwoRayChannel('PropagationSpeed',c,'OperatingFrequency',fc,'SampleRate',fs); rxchannel = phased.TwoRayChannel('PropagationSpeed',c,'OperatingFrequency',fc,'SampleRate',fs); % Run the simulation again, now using the two-ray channel model metrics2Ray = helperAutoDrivingRadarSigProc('Run Simulation',... c,fc,rangeMax,vMax,waveform,Nsweep,... % Waveform parameters transmitter,radiator,collector,receiver,... % Hardware models rngdopresp,beamformer,cfar,idxCFAR,... % Signal processing rngestimator,dopestimator,doaest,beamscan,tracker,... % Estimation txchannel,rxchannel); % Propagation channel models
Предыдущий рисунок показывает график преследования, видимый с большого расстояния график и радарные изображения в 1,1 секунды времени симуляции, как был показан для сценария распространения канала свободного пространства. Сравнивая эти две фигуры, заметьте, что для канала 2D луча, никакое обнаружение не присутствует для фиолетового автомобиля в этом времени симуляции. Эта потеря обнаружения - то, потому что различия в длине пути для этого автомобиля пагубно вмешиваются в этой области значений, приводя к общей сумме убытков обнаружения.
Постройте оценки ОСШ, сгенерированные от обработки CFAR против оценок диапазона фиолетового автомобиля от свободного пространства, и 2D излучите симуляции канала.
helperAutoDrivingRadarSigProc('Plot Channels',metricsFS,metrics2Ray);
Когда автомобиль приближается к области значений 72 метров от радара, большая потеря в предполагаемом ОСШ от канала 2D луча наблюдается относительно канала свободного пространства. Именно около этой области значений многопутевая интерференция объединяется пагубно, приводя к потере в обнаружениях сигнала. Однако заметьте, что средство отслеживания может курсировать дорожка в течение этих времен потери сигнала и обеспечить предсказанное положение и скорость для фиолетового автомобиля.
Этот пример продемонстрировал, как смоделировать оборудование автомобильного радара и обработку сигналов с помощью Phased Array System Toolbox. Вы также изучили, как интегрировать эту радарную модель с Automated Driving Toolbox ведущая симуляция сценария. Сначала вы сгенерировали синтетические радарные обнаружения. Затем вы обработали эти обнаружения далее при помощи средства отслеживания, чтобы сгенерировать точные оценки положения и скорости в координатной системе координат автомобиля, оборудованного датчиком. Наконец, вы изучили, как симулировать многопутевые эффекты распространения при помощи phased.TwoRayChannel
модель предоставлена в Phased Array System Toolbox.
Представленный рабочий процесс позволяет вам изучить, как ваши радарные проектные решения архитектуры влияют на высокоуровневые системные требования. Используя этот рабочий процесс позволяет вам выбрать радарный проект, который удовлетворяет вашим уникальным требованиям к приложению.
[1] Ричардс, Марк. Основные принципы радарной обработки сигналов. Нью-Йорк: Макгроу Хилл, 2005.
multiObjectTracker
| phased.DopplerEstimator
(Phased Array System Toolbox) | phased.FMCWWaveform
(Phased Array System Toolbox) | phased.FreeSpace
(Phased Array System Toolbox) | phased.RootMUSICEstimator
(Phased Array System Toolbox) | phased.TwoRayChannel
(Phased Array System Toolbox) | phased.ULA
(Phased Array System Toolbox)