Доплер области значений Респонс

Преимущества создания ответа Доплера области значений

Визуализация сигнала в области Доплера области значений может помочь вам интуитивно понять связи среди целей. Из карты Доплера области значений вы можете:

  • Смотрите, как далеко далеко цели и как быстро они приближаются или отступают.

  • Различайте цели, перемещающиеся на различных скоростях в различных областях значений в частности:

    • Если платформа передатчика является стационарной, карта Доплера области значений показывает ответ от стационарных целей в нуле Доплер.

    • Для целей, которые перемещаются относительно платформы передатчика, карта Доплера области значений показывает ответ в ненулевых Доплеровских значениях.

Можно также использовать ответ Доплера области значений невидимыми способами. Например, можно выполнить пиковое обнаружение в области Доплера области значений и использовать информацию, чтобы разрешить связь Доплера области значений радиолокационной системы FMCW.

Поддержка Доплера области значений, обрабатывающего

Можно использовать объект phased.RangeDopplerResponse вычислить и визуализировать ответ Доплера области значений входных данных. Этот объект выполняет обработку области значений в быстрое время, сопровождаемое Доплером, обрабатывающим в медленное время. Конфигурация объекта и синтаксис обычно зависят от вида радиолокационной системы.

Импульсные радиолокационные системы

Эта процедура используется обычно, чтобы произвести ответ Доплера области значений для импульсной радиолокационной системы. (В особом случае линейных импульсов FM процедура в Радиолокационных системах FMCW является альтернативной опцией.)

  1. Создайте объект phased.RangeDopplerResponse, установив свойство RangeMethod на 'Matched Filter'.

  2. Настройте эти характеристики или примите значения по умолчанию для любого из них:

    • Скорость распространения сигнала

    • Частота дискретизации

    • Длина БПФ для Доплера, обрабатывающего

    • Характеристики окна для Доплера, взвешивающего, если любой

    • Доплеровская область вывод preference с точки зрения радиальной скорости или частоты эффекта Доплера. (Если вы выбираете радиальную скорость, также задаете несущую частоту сигнала.)

  3. Организуйте свои данные, x, в матрицу. Столбцы в этой матрице соответствуют отдельным, последовательным импульсам.

  4. Используйте plotResponse, чтобы построить ответ Доплера области значений или step, чтобы получить данные, представляющие ответ Доплера области значений. Включайте x и коэффициенты согласованного фильтра в вашем синтаксисе, когда вы вызовете plotResponse или step.

Для примеров смотрите страницу с описанием step или Шаблон Ответа Скорости области значений Цели.

Радиолокационные системы FMCW

Эта процедура используется обычно, чтобы произвести ответ Доплера области значений для радиолокационной системы FMCW. Можно также использовать эту процедуру для системы, которая использует пульсировавшие сигналы линейного FM. В случае импульсных сигналов вы обычно используете обработку фрагмента для dechirp сигнал.

  1. Создайте объект phased.RangeDopplerResponse, установив свойство RangeMethod на 'Dechirp'.

  2. Настройте эти характеристики или примите значения по умолчанию для любого из них:

    • Скорость распространения сигнала

    • Частота дискретизации

    • Наклон развертки FM

    • Должен ли процессор dechirp или десятикратно уменьшать ваш сигнал

    • Длина БПФ для обработки области значений. Алгоритм выполняет БПФ, чтобы перевести dechirped данные в частотный диапазон удара, который предоставляет информацию об области значений.

    • Характеристики окна для взвешивания области значений, если любой

    • Длина БПФ для Доплера, обрабатывающего

    • Характеристики окна для Доплера, взвешивающего, если любой

    • Доплеровская область вывод preference с точки зрения радиальной скорости или частоты эффекта Доплера. (Если вы выбираете радиальную скорость, также задаете несущую частоту сигнала.)

  3. Организуйте свои данные, x, в матрицу, в которой столбцы соответствуют разверткам или импульсам, которые являются отдельными и последовательными.

    В случае формы волны FMCW с треугольной разверткой развертки чередуются между положительными и отрицательными наклонами. Однако phased.RangeDopplerResponse разработан, чтобы обработать последовательные развертки того же наклона. Чтобы применить phased.RangeDopplerResponse для системы треугольной развертки, используйте один из следующих подходов:

    • Задайте положительное значение свойства SweepSlope с x, соответствующим upsweeps только. Истинные значения Доплера или скорости являются половиной того, что step возвращает или графики plotResponse.

    • Задайте отрицательное значение свойства SweepSlope с x, соответствующим downsweeps только. Истинные значения Доплера или скорости являются половиной того, что step возвращает или графики plotResponse.

  4. Используйте plotResponse, чтобы построить ответ Доплера области значений или step, чтобы получить данные, представляющие ответ Доплера области значений. Включайте x в синтаксис, когда вы вызовете plotResponse или step. Если ваши данные уже не dechirped, также включайте ссылочный сигнал в синтаксис.

Для примера смотрите страницу с описанием plotResponse.

Шаблон ответа скорости области значений цели

Этот пример показывает, как визуализировать скорость и область значений цели в импульсной радиолокационной системе, которая использует прямоугольную форму волны.

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным синтаксисом step. Например, замените myObject(x) на step(myObject,x).

Поместите изотропный элемент антенны в глобальном начале координат (0,0,0). Затем поместите цель с неколебанием RCS 1 квадратного метра в (5000,5000,10), который является приблизительно в 7 км от передатчика. Установите операционное (поставщик услуг) частота к 10 ГГц. Чтобы моделировать моностатический радар, установите свойство InUseOutputPort на передатчике к true. Вычислите область значений и угол от передатчика до цели.

antenna = phased.IsotropicAntennaElement(...
    'FrequencyRange',[5e9 15e9]);
transmitter = phased.Transmitter('Gain',20,'InUseOutputPort',true);
fc = 10e9;
target = phased.RadarTarget('Model','Nonfluctuating',...
    'MeanRCS',1,'OperatingFrequency',fc);
txloc = [0;0;0];
tgtloc = [5000;5000;10];
antennaplatform = phased.Platform('InitialPosition',txloc);
targetplatform = phased.Platform('InitialPosition',tgtloc);
[tgtrng,tgtang] = rangeangle(targetplatform.InitialPosition,...
    antennaplatform.InitialPosition);

Создайте форму волны меандра 2μs в длительности с PRF 10 кГц. Определите максимальную однозначную область значений для данного PRF. Используйте функцию radareqpow, чтобы определить пиковую мощность, требуемую обнаружить цель. Эта цель имеет RCS 1 квадратного метра в максимальной однозначной области значений для передатчика рабочая частота и усиление. ОСШ основан на желаемом ложно-сигнальном уровне для некогерентного детектора.

waveform = phased.RectangularWaveform('PulseWidth',2e-6,...
    'OutputFormat','Pulses','PRF',1e4,'NumPulses',1);
c = physconst('LightSpeed');
maxrange = c/(2*waveform.PRF);
SNR = npwgnthresh(1e-6,1,'noncoherent');
Pt = radareqpow(c/fc,maxrange,SNR,...
    waveform.PulseWidth,'RCS',target.MeanRCS,'Gain',transmitter.Gain);

Установите пиковую степень передачи на выходное значение от radareqpow.

transmitter.PeakPower = Pt;

Создайте теплоотвод и объекты коллектора, которые действуют на уровне 10 ГГц. Создайте путь к свободному пространству для распространения импульса к и от цели. Затем создайте получатель.

radiator = phased.Radiator(...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc,'Sensor',antenna);
channel = phased.FreeSpace(...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc,'TwoWayPropagation',false);
collector = phased.Collector(...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc,'Sensor',antenna);
receiver = phased.ReceiverPreamp('NoiseFigure',0,...
    'EnableInputPort',true,'SeedSource','Property','Seed',2e3);

Распространите 25 импульсов к и от цели. Соберите эхо в получателе и сохраните их в матрице с 25 столбцами под названием rx_puls.

numPulses = 25;
rx_puls = zeros(100,numPulses);

Цикл симуляции

for n = 1:numPulses

Сгенерируйте форму волны

    wf = waveform();

Передайте форму волны

    [wf,txstatus] = transmitter(wf);

Излучите импульс к цели

    wf = radiator(wf,tgtang);

Распространите импульс к цели

    wf = channel(wf,txloc,tgtloc,[0;0;0],[0;0;0]);

Отразите его от цели

    wf = target(wf);

Распространите импульс назад к передатчику

    wf = channel(wf,tgtloc,txloc,[0;0;0],[0;0;0]);

Соберите эхо

    wf = collector(wf,tgtang);

Получите целевое эхо

    rx_puls(:,n) = receiver(wf,~txstatus);
end

Создайте объект ответа Доплера области значений, который использует подход согласованного фильтра. Сконфигурируйте этот объект показать радиальную скорость, а не Доплеровскую частоту. Используйте plotResponse, чтобы построить область значений по сравнению со скоростью.

rangedoppler = phased.RangeDopplerResponse(...
    'RangeMethod','Matched Filter',...
    'PropagationSpeed',c,...
    'DopplerOutput','Speed','OperatingFrequency',fc);
plotResponse(rangedoppler,rx_puls,getMatchedFilter(waveform))

График показывает стационарную цель в области значений приблизительно 7 000 м.

Смотрите также

Похожие темы