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

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

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

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

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

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

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

Можно также использовать ответ Доплера области значений невидимыми способами. Например, можно выполнить пиковое обнаружение в области Доплера области значений и использовать информацию, чтобы разрешить связь Доплера области значений радиолокационной системы 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 plots.

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

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

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

Диаграмма направленности скорости области значений цели

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

Поместите изотропный антенный элемент в глобальном начале координат (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. Используйте основное уравнение радиолокации, чтобы определить пиковую мощность, требуемую обнаружить цель. Эта цель имеет RCS 1 квадратного метра в максимальной однозначной области значений для передатчика рабочая частота и усиление. ОСШ основан на желаемом ложно-сигнальном уровне$1e^{-6}$ для некогерентного детектора.

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');
lambda = c/target.OperatingFrequency;
maxrange = c/(2*waveform.PRF);
tau = waveform.PulseWidth;
Ts = 290;
dbterm = db2pow(SNR - 2*transmitter.Gain);
Pt = (4*pi)^3*physconst('Boltzmann')*Ts/tau/target.MeanRCS/lambda^2*maxrange^4*dbterm;

Установите пиковую степень передачи на значение, полученное из основного уравнения радиолокации.

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 м.

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

Похожие темы