exponenta event banner

Обработка радиолокационных отражений, полученных с помощью платформы Demorad Radar Sensor

Введение

В этом примере показано, как обрабатывать и визуализировать отраженные сигналы FMCW, полученные с помощью платформы Demorad Radar Sensor Platform, с помощью Toolbox™ системы с фазированной решеткой. По умолчанию выборки I/Q и рабочие параметры считываются из двоичного файла, приведенного в этом примере. По желанию, та же процедура может быть использована для передачи, приема и обработки отражений FMCW из живых выборок I/Q с помощью собственной Demorad, следуя инструкциям, приведенным ниже в примере. Получение и обработка результатов в одной среде сокращает время разработки и облегчает быстрое создание прототипов систем обработки радиолокационных сигналов.

Необходимое оборудование и программное обеспечение

В этом примере требуется Toolbox™ системы фазированного массива.

Для обработки в реальном времени:

Платформа Analog Devices ® Demorad Radar Sensor имеет рабочую частоту 24 ГГц и максимальную полосу пропускания 250 МГц. Массив на платформе состоит из 2 передающих элементов и 4 приемных элементов. Приемные элементы разнесены по полуволне рабочей частоты, расположены в виде линейной матрицы. Передающие элементы также расположены в виде линейной матрицы и разнесены друг от друга на три полуволны. Элементы передачи и приема можно видеть на изображении ниже.

Установка драйверов и надстройки

  1. Загрузите драйверы Demorad и файлы MATLAB с USB-накопителя, поставляемого Analog Devices ® с Demorad

  2. Сохраните их в постоянном месте на компьютере

  3. Постоянное добавление папки, содержащей файлы MATLAB, в путь MATLAB

  4. Включите деморад и подключитесь к ПК через порт Mini-USB

  5. Перейдите к диспетчеру устройств и найдите «BF707 Bulk Device»

  6. Щелкните правой кнопкой мыши «BF707 Bulk Device» и выберите «Update driver» (Обновить драйвер).

  7. Выберите параметр «Поиск драйверов на моем компьютере»

  8. Найдите и выберите папку «drivers» на USB-накопителе

  9. Установка поэтапной системы массива Toolbox™ надстройка для деморад из диспетчера надстроек MATLAB

Настройка и подключение радара

В этом разделе мы настроим источник выборок I/Q в качестве опции по умолчанию устройства чтения двоичных файлов. В этом файле также содержатся параметры, определяющие передаваемую чирп FMCW, которые были написаны во время создания файла. Если вы хотите запустить этот пример с помощью эхо-сигналов из деморада, выполните действия в разделе Установка драйверов и надстроек и установите флаг «usingHW» ниже в значение «true». Затем этот пример связывается с Деморадом для передачи сигнала FMCW с рабочими параметрами радара, определенными ниже, и посылает отражения в MATLAB. Метод «setup» ниже определяется объектом, представляющим демораду. «setup» служит для включения питания и отправки параметров демораду.

usingHW = false;  % Set to "true" to use Demorad Radar Sensor Platform

if ~usingHW
  % Read I/Q samples from a recorded binary file
  radarSource = RadarBasebandFileReader('./DemoradExampleIQData.bb',256);
else
  % Instantiate the Demorad Platform interface
  radarSource = DemoradBoard;

  radarSource.SamplesPerFrame = 256;   % Number of samples per frame
  radarSource.AcquisitionTime = 30;    % Length of time to acquire samples (s)

  % Define operating parameters
  radarSource.RampTime = 280e-6;       % Pulse ramp time (s)
  radarSource.PRI = 300e-6;            % Pulse Repetition interval (s)
  radarSource.StartFrequency = 24e9;   % Pulse start frequency (Hz)
  radarSource.StopFrequency = 24.25e9; % Pulse stop frequency (Hz)
  radarSource.NumChirps = 1;           % Number of pulses to process

  % Establish the connection with the Demorad
  setup(radarSource);
end

Радиолокационные возможности

На основе рабочих параметров, определенных выше, могут быть определены характеристики радиолокационной системы для обработки и визуализации отражений. Уравнения, используемые для расчета возможностей радиолокационной системы с этими рабочими параметрами, можно видеть ниже:

Разрешение диапазона

Разрешение дальности (в метрах) для РЛС с чирп-сигналом определяется уравнением

$$\Delta R = \frac{c_0}{2B}$$

где$B$ - ширина полосы передаваемого импульса:

c0 = physconst('LightSpeed');
wfMetadata = radarSource.Metadata;                % Struct of waveform metadata
bandwidth = wfMetadata.StopFrequency ...
  - wfMetadata.StartFrequency;                    % Chirp bandwidth
rangeRes = c0/(2*bandwidth)                       % Range resolution (m)
rangeRes =

    0.5996

Максимальный диапазон

Платформа Demorad передает импульс FMCW в виде чирпа или пилообразного сигнала. Как таковая теоретическая максимальная дальность РЛС (в метрах) может быть рассчитана с помощью

$$R_{max} = \frac{F_sc_0}{2k_f}$$

где$k_f$ - частота чирпа. Эффективный диапазон на практике может изменяться из-за факторов окружающей среды, таких как SNR, помехи или размер испытательного устройства.

kf = bandwidth/wfMetadata.RampTime;          % Chirp rate
maxRange = radarSource.SampleRate*c0/(2*kf)  % Maximum range (m)
maxRange =

  158.2904

Ширина луча

Эффективная ширина луча радиолокационной панели может быть аппроксимирована уравнением

$$\Theta\approx\frac{\lambda}{N_{elements}\Delta x_{elements}}$$

где$\lambda$ - длина волны импульса, а$\delta x_{elements}$ - расстояние между элементами.

lambda = c0/radarSource.CenterFrequency;               % Signal wavelength
rxElementSpacing = lambda/2;
beamwidth = rad2deg(lambda/ ...
  (radarSource.NumChannels*rxElementSpacing))          % Effective beamwidth
beamwidth =

   28.6479

При полосе пропускания передачи 250 МГц и 4-элементной матрице приема диапазон и угловое разрешение достаточны для разрешения множества близко расположенных объектов. Выборки I/Q, записанные в двоичном файле, возвращаются с платформы Demorad без какой-либо дополнительной цифровой обработки. Отражения FMCW, полученные Деморадом, преобразуются в базовую полосу аппаратно, прореживаются и передаются в MATLAB.

Компоненты обработки сигналов

Алгоритмы, используемые в контуре обработки сигналов, инициализируются в этом разделе. После приема выборок I/Q 3-импульсный компенсатор удаляет обнаруженные сигналы со стационарных объектов. Выходной сигнал 3-импульсного компенсатора затем формируется лучом и используется для вычисления отклика диапазона. Детектор CFAR используется в соответствии с алгоритмом ответа дальности для обнаружения любых движущихся целей.

3-Pulse Отмена

3-импульсный компенсатор, используемый после получения I/Q выборок, удаляет любое неподвижное скопление в окружающей среде. Импульсная характеристика 3-импульсного компенсатора задается как

$$h(t) = -\delta(t) + 2\delta(t-T_s) - \delta(t-2T_s)$$

Это уравнение реализовано в алгоритме подавления импульсов, определенном ниже.

threePulseCanceller = PulseCanceller('NumPulses',3);

Ответ диапазона

Алгоритмы вычисления ответа диапазона инициализируются ниже. Для формирования луча решетка датчиков моделируется с использованием количества антенных элементов и расстояния между приемными элементами. Модель матрицы датчиков и рабочая частота Demorad требуются для алгоритма формирования луча. Поскольку деморад передает сигнал FMCW, ответ диапазона вычисляется с использованием БПФ.

antennaArray = phased.ULA('NumElements',radarSource.NumChannels, ...
  'ElementSpacing',rxElementSpacing);

beamFormer = phased.PhaseShiftBeamformer('SensorArray',antennaArray, ...
'Direction',[0;0],'OperatingFrequency',radarSource.CenterFrequency);

% Setup the algorithm for processing
NFFT = 4096;
rangeResp = phased.RangeResponse( ...
  'DechirpInput', false, ...
  'RangeMethod','FFT', ...
  'ReferenceRangeCentered', false, ...
  'PropagationSpeed',c0, ...
  'SampleRate',radarSource.SampleRate, ...
  'SweepSlope',kf*2, ...
  'RangeFFTLengthSource','Property', ...
  'RangeFFTLength',NFFT, ...
  'RangeWindow', 'Hann');

Детектор CFAR

Детектор постоянной частоты ложной тревоги (CFAR) затем используется для обнаружения любых движущихся целей.

cfar = phased.CFARDetector('NumGuardCells',6,'NumTrainingCells',10);

Объемы

Настройте области для просмотра обработанных отражений FMCW. Установите для окна просмотра диапазона значений интенсивности времени значение 15 секунд.

timespan = 15;

% The Demorad returns data every 128 pulse repetition intervals
rangeScope = phased.RTIScope( ...
  'RangeResolution',maxRange/NFFT,...
  'TimeResolution',wfMetadata.PRI*128, ...
  'TimeSpan', timespan, ...
  'IntensityUnits','power');

Моделирование и визуализация

Затем выборки принимаются из устройства чтения двоичных файлов, обрабатываются и отображаются в областях. Этот цикл будет продолжаться до тех пор, пока все образцы не будут считаны из двоичного файла. Используя Demorad, петля продолжится в течение 30 секунд, определенных собственностью «AcquisitionTime» объекта, который представляет правление. Показаны только диапазоны от 0 до 15 метров, поскольку априори известно, что цель, записанная в двоичном файле, находится в этом диапазоне.

while ~isDone(radarSource)
  % Retrieve samples from the I/Q sample source
  x = radarSource();

  % Cancel out any pulses from non-moving objects and beamform
  y = threePulseCanceller(x);
  y = beamFormer(y);

  % Calculate the range response and convert to power
  resp = rangeResp(y);
  rangepow = abs(resp).^2;

  % Use the CFAR detector to detect any moving targets from 0 - 15 meters
  maxViewRange = 15;
  rng_grid = linspace(0,maxRange,NFFT).';
  [~,maxViewIdx] = min(abs(rng_grid - maxViewRange));
  detIdx = false(NFFT,1);
  detIdx(1:maxViewIdx) = cfar(rangepow,1:maxViewIdx);

  % Remove non-detections and set a noise floor at 1/10 of the peak value
  rangepow = rangepow./max(rangepow(:)); % Normalize detections to 1 W
  noiseFloor = 1e-1;
  rangepow(~detIdx & (rangepow < noiseFloor)) = noiseFloor;

  % Display ranges from 0 - 15 meters in the range-time intensity scope
   rangeScope(rangepow(1:maxViewIdx));
end

Область действия показывает одиночную цель, удаляющуюся от платформы Demorad Radar Sensor примерно на 10 метров, а затем снова меняющую направление, чтобы вернуться к платформе. Диапазон интенсивности по времени показывает диапазоны обнаружения.

Резюме

В этом примере показано, как взаимодействовать с платформой Demorad Radar Sensor Platform Analog Devices ® для получения, обработки и визуализации радиолокационных отражений из живых данных. Эта возможность позволяет быстро создавать прототипы и тестировать системы обработки радиолокационных сигналов в единой среде, значительно сокращая время разработки.