В этом примере показано, как моделировать аппаратное обеспечение радара, обработку сигналов и среду распространения для сценария управления. Сначала можно смоделировать сценарий шоссе с помощью Toolbox™ автоматизированного вождения. Затем вы разрабатываете модель радиолокатора передачи и приема аппаратных средств, обработки сигналов и трекера с помощью Radar Toolbox™. Наконец, вы имитируете эффекты многолучевого распространения на радарной модели.
Можно моделировать движение транспортного средства с помощью drivingScenario из панели инструментов «Автоматизированное вождение». Затем наземная достоверность транспортного средства может быть использована в качестве входных данных для радиолокационной модели для формирования детекторов синтетических датчиков. Пример этого рабочего процесса см. в разделе Моделирование радиолокационных призраков из-за многолучевого возврата (Radar Toolbox). Автомобильная РЛС, используемая в этом примере, использует статистическую модель, которая параметризуется в соответствии с высокоуровневыми спецификациями РЛС. Общая радиолокационная архитектура, смоделированная в этом примере, не включает в себя конкретные конфигурации антенн, формы сигналов или уникальные характеристики распространения канала. При проектировании автомобильной РЛС или при известной архитектуре РЛС рекомендуется использовать модель РЛС, включающую эту дополнительную информацию.
Radar Toolbox позволяет оценить различные архитектуры радаров. Можно исследовать различные конфигурации массивов передачи и приема, формы сигналов и цепочки обработки сигналов. Можно также оценить проекты по различным моделям каналов, чтобы оценить их устойчивость к различным условиям окружающей среды. Это моделирование помогает определить конкретную конструкцию, которая наилучшим образом соответствует требованиям приложения.
В этом примере показано, как определить модель РЛС из набора требований к системе для РЛС дальнего действия. Затем моделируется сценарий вождения для генерации обнаружений из модели радара. Трекер используется для обработки этих обнаружений, чтобы получить точные оценки положения и скорости транспортных средств, обнаруженных вашим автомобильным радаром.
Параметры радара определяются для частотно-модулированного сигнала непрерывной волны (FMCW), как описано в примере Автомобильный адаптивный круиз-контроль с использованием технологии FMCW (Radar Toolbox). Радар работает на центральной частоте 77 ГГц. Эта частота обычно используется автомобильными радарами. Для дальней эксплуатации радар должен обнаруживать транспортные средства на максимальной дальности 250-300 метров перед эго-аппаратом. Радар необходим для разрешения объектов в диапазоне, которые находятся на расстоянии не менее 1 метра друг от друга. Поскольку радиолокатор предназначен для работы в прямом направлении, он также должен обрабатывать цели с большими скоростями закрытия, достигающими 230 км/ч.
Радар предназначен для использования сигнала FMCW. Эти формы сигналов являются общими в автомобильных применениях, поскольку они позволяют оценивать дальность и доплеровскую оценку посредством вычислительных эффективных операций БПФ. Для иллюстрации в этом примере радар сконфигурирован на максимальную дальность 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 градусов перед эго-аппаратом. 6-элементная приемная матрица удовлетворяет этому требованию, обеспечивая 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);
Радар собирает множество свипов сигнала на каждом из элементов антенны с линейной фазированной решеткой. Эти собранные протягивания образуют куб данных, который определен в Radar Data Cube (Phased Array System Toolbox). Эти свипы когерентно обрабатываются по быстрому и медленному измерениям куба данных для оценки дальности и доплеровского диапазона транспортных средств.
Оцените направление прихода принятых сигналов с помощью корневого устройства оценки MUSIC. Также в иллюстративных целях используется диаграмма направленности, которая помогает визуализировать пространственное распределение энергии принимаемого сигнала.
% 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 объекты преобразуют местоположения обнаружений, обнаруженных в данных диапазона-доплеровских данных, в измерения и соответствующие им дисперсии измерений. Эти оценщики подгоняют квадратичные кривые к доплеровским данным диапазона для оценки местоположения пика каждого обнаружения. Результирующие разрешения измерений представляют собой часть диапазона и доплеровскую выборку данных.
Разрешение диапазона среднеквадратичного (среднеквадратичного) передаваемого сигнала необходимо для вычисления дисперсии измерений диапазона. Разрешение Рэлеевского диапазона для дальнего радара было определено ранее как 1 метр. Разрешение Рэлея - это минимальное разделение, при котором можно разрешить две уникальные цели. Это значение определяет расстояние между ячейками разрешения дальности для радара. Однако дисперсия цели в ячейке разрешения определяется среднеквадратичным разрешением формы сигнала. Для чирпового сигнала LFM взаимосвязь между разрешением Рэлея и разрешением среднеквадратичного сигнала задается [1].
12ΔRayleigh
где - разрешение диапазона 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 свипов сигнала РЛС. Собранный куб данных затем обрабатывают в диапазоне и доплеровском диапазоне. Затем формируют пучок данных диапазона и доплеровских обработанных данных, и выполняют обнаружение CFAR данных, сформированных пучком. Измерения дальности, радиальной скорости и направления поступления оцениваются для обнаружений 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

На предыдущем рисунке показаны радиолокационные обнаружения и дорожки для 3 целевых транспортных средств на 1,1 секундах времени моделирования. На графике в левой верхней части показан вид камеры слежения за сценарием движения с точки зрения эго-транспортного средства (показано синим цветом). Для справки, эго-транспортное средство движется со скоростью 80 км/ч, а остальные три автомобиля - со скоростью 110 км/ч (оранжевый автомобиль), 100 км/ч (желтый автомобиль) и 130 км/ч (фиолетовый автомобиль).
В правой части рисунка показан график птичьего глаза, который представляет «нисходящую» перспективу сценария. Все транспортные средства, обнаруженные объекты и дорожки отображаются в системе координат эго-транспортного средства. Оцененное отношение сигнал/шум (SNR) для каждого радиолокационного измерения печатается рядом с каждым обнаружением. Местоположение транспортного средства, оцененное трекером, показано на графике с использованием черных квадратов с текстом рядом, указывающим идентификатор каждого пути. Расчетная скорость трекера для каждого транспортного средства показана в виде черной линии, указывающей в направлении скорости транспортного средства. Длина линии соответствует расчетной скорости, причем более длинные линии обозначают транспортные средства с более высокими скоростями относительно эго-транспортного средства. Дорожка фиолетового вагона (ID2) имеет самую длинную линию, в то время как дорожка жёлтого вагона (ID1) имеет самую короткую линию. Отслеживаемые скорости согласуются с ранее перечисленными моделируемыми скоростями транспортного средства.
На двух графиках в левой нижней части показаны радиолокационные изображения, полученные в результате обработки сигнала. На верхнем графике показано, как полученные радиолокационные эхо-сигналы от целевых аппаратов распределяются по дальности и радиальной скорости. Здесь наблюдаются все три транспортных средства. Измеренные радиальные скорости соответствуют скоростям, оцененным трекером, как показано на графике птичьего глаза. На нижнем графике показано, как принятые целевые эхо-сигналы пространственно распределены по дальности и углу. Опять же, все три мишени присутствуют, и их местоположения совпадают с тем, что показано на сюжете птичьего глаза.
Благодаря непосредственной близости к радару оранжевый автомобиль все еще может быть обнаружен, несмотря на большие потери на формирование луча из-за его положения за пределами ширины луча 3 дБ. Эти обнаружения создали дорожку (ID3) для оранжевого автомобиля.
При предыдущем моделировании сценария движения использовалось распространение свободного пространства. Это простая модель, которая моделирует только распространение прямой линии визирования между РЛС и каждой из целей. На самом деле, распространение радиолокационного сигнала является гораздо более сложным, включая отражения от множества препятствий, прежде чем достичь каждой цели и вернуться обратно на радар. Это явление известно как многолучевое распространение. На следующей иллюстрации показан один такой случай многолучевого распространения, когда сигнал, падающий на цель, исходит из двух направлений: линии визирования и одиночного отскока от поверхности дороги.

Общий эффект многолучевого распространения заключается в том, что принятые радиолокационные эхо-сигналы могут конструктивно и разрушительно создавать помехи. Эта конструктивная и разрушительная помеха является результатом различий в длине пути между различными путями распространения сигнала. По мере изменения расстояния между РЛС и транспортными средствами эти различия в длине пути также изменяются. Когда различия между этими путями приводят к тому, что радиолокатор принимает эхо, которое почти на 180 градусов не находится в фазе, эхо-сигналы разрушительно объединяются, и радиолокатор не обнаруживает этот диапазон.
Замените модель канала свободного пространства двухлучевой моделью канала для демонстрации среды распространения, показанной на предыдущей иллюстрации. Повторно используйте оставшиеся параметры в сценарии движения и модели радара и снова запустите моделирование.
% 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 секунды от времени моделирования, так же, как было показано для сценария распространения канала свободного пространства. Сравнивая эти две цифры, заметьте, что для двухлучевого канала в это время моделирования не обнаруживается фиолетовый автомобиль. Эта потеря обнаружения связана с тем, что различия в длине пути для этого автомобиля разрушительно мешают этому диапазону, что приводит к полной потере обнаружения.
Постройте график оценок SNR, полученных в результате обработки CFAR, относительно оценок дальности фиолетового автомобиля из моделирования свободного пространства и двухлучевого канала.
helperAutoDrivingRadarSigProc('Plot Channels',metricsFS,metrics2Ray);
По мере приближения машины к дальности 72 метра от РЛС наблюдается большая потеря в расчётном ОСШ от двухлучевого канала по отношению к каналу свободного пространства. Именно вблизи этого диапазона многолучевые помехи разрушительно объединяются, что приводит к потере обнаруженных сигналов. Однако обратите внимание на то, что трекер способен сойти с трассы в течение этого времени потери сигнала и обеспечить прогнозируемое положение и скорость для фиолетового автомобиля.
В этом примере показано, как моделировать аппаратное обеспечение и обработку сигналов автомобильного радара с помощью панели инструментов радара. Также вы научились интегрировать эту модель радара с моделированием сценария вождения Automated Driving Toolbox. Сначала вы создали синтетические радиолокационные детекторы. Затем эти обнаружения обрабатываются с помощью трекера для создания точных оценок положения и скорости в кадре координат эго-транспортного средства. Наконец, вы научились моделировать эффекты многолучевого распространения.
Представленный рабочий процесс позволяет понять, как решения по проектированию радиолокационной архитектуры влияют на системные требования более высокого уровня. С помощью этого рабочего процесса можно выбрать конструкцию радара, удовлетворяющую уникальным требованиям приложения.
[1] Ричардс, марк. основы обработки радиолокационных сигналов. Нью-Йорк: McGraw Hill, 2005.
multiObjectTracker | phased.DopplerEstimator (Панель инструментов системы фазированных массивов) | phased.FMCWWaveform(Панель инструментов системы фазированных массивов) | phased.FreeSpace(Панель инструментов системы фазированных массивов) | phased.RootMUSICEstimator(Панель инструментов системы фазированных массивов) | phased.ULA(Панель инструментов системы фазированных массивов) | twoRayChannel(Панель инструментов радара)