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

Введение

Этот пример демонстрирует, как обработать и визуализировать эхо FMCW, полученное через Радарную Платформу Датчика Demorad с Phased Array System Toolbox™. По умолчанию выборки I/Q и рабочие параметры читаются из двоичного файла, которому предоставляют этот пример. Опционально, та же процедура может использоваться, чтобы передать, получить, и обработать отражения FMCW от живых выборок I/Q с вашим собственным Demorad путем следования инструкциям позже в примере. Получение и обработка результатов в одной среде уменьшают время разработки и упрощают быстрое прототипирование радарных систем обработки сигналов.

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

Этот пример требует Phased Array System Toolbox™.

Для живой обработки:

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

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

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

  2. Сохраните их в постоянное местоположение на вашем PC

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

  4. Включите Demorad и соединитесь с PC через Мини-USB-порт

  5. Перейдите к Диспетчеру устройств и ищите "Устройство Объема BF707"

  6. Щелкните правой кнопкой по "BF707 Bulk Device" и выберите "Update driver"

  7. Выберите опцию, "Просматривают мой компьютер программное обеспечение драйвера"

  8. Просмотрите к и выберите папку "драйверов" из Карты памяти

  9. Установите дополнение Phased Array System Toolbox™ для Demorad из Add-On Manager MATLAB

Радарный Setup и связь

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

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$ уровень щебета. Диапазон измерений на практике может варьироваться из-за факторов окружающей среды, таких как ОСШ, интерференция или размер средства тестирования.

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, полученные Demorad, вниз преобразованы в основную полосу в оборудовании, десятикратно уменьшили и передали MATLAB.

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

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

Компенсатор С 3 импульсами

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

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

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

threePulseCanceller = PulseCanceller('NumPulses',3);

Ответ области значений

Алгоритмы для вычисления ответа области значений инициализируются ниже. Для beamforming сенсорная матрица моделируется с помощью количества антенных элементов и интервала получить элементов. Модель сенсорной матрицы и рабочая частота Demorad требуются для beamforming алгоритма. Поскольку 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);

Осциллографы

Setup осциллографы, чтобы просмотреть обработанные отражения 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 до на расстоянии приблизительно в ~10 метров, затем изменяющее направление снова, чтобы попятиться к платформе. Разовый областью значений осциллограф интенсивности показывает области значений обнаружения.

Сводные данные

Этот пример демонстрирует, как соединить интерфейсом с Аналогом с Радарной Платформой Датчика Devices® Demorad, чтобы получить, обработать и визуализировать радарные отражения из живых данных. Эта возможность включает быстрое прототипирование и тестирование радарных систем обработки сигналов в единой среде, решительно уменьшая время разработки.