Визуализация сигнала в области Доплера области значений может помочь вам интуитивно изучить связи среди целей. Из карты Доплера области значений вы можете:
Смотрите, как далеко далеко цели и как быстро они приближаются или отступают.
Различайте цели, перемещающиеся на различных скоростях в различных областях значений в частности:
Если платформа передатчика является стационарной, карта Доплера области значений показывает ответ от стационарных целей в нуле Доплер.
Для целей, которые перемещаются относительно платформы передатчика, карта Доплера области значений показывает ответ в ненулевых Доплеровских значениях.
Можно также использовать ответ Доплера области значений невидимыми способами. Например, можно выполнить пиковое обнаружение в области Доплера области значений и использовать информацию, чтобы разрешить связь Доплера области значений радиолокационной системы FMCW.
Можно использовать phased.RangeDopplerResponse
объект вычислить и визуализировать ответ Доплера области значений входных данных. Этот объект выполняет обработку области значений в быстрое время, сопровождаемое Доплером, обрабатывающим в медленное время. Конфигурация объекта и синтаксис обычно зависят от вида радиолокационной системы.
Эта процедура используется обычно, чтобы произвести ответ Доплера области значений для импульсной радиолокационной системы. (В особом случае линейных импульсов FM процедура в Радиолокационных системах FMCW является альтернативной опцией.)
Создайте phased.RangeDopplerResponse
объект, устанавливая RangeMethod
свойство к 'Matched Filter'
.
Настройте эти характеристики или примите значения по умолчанию для любого из них:
Скорость распространения сигнала
Частота дискретизации
Длина БПФ для Доплера, обрабатывающего
Характеристики окна для Доплера, взвешивающего, если любой
Доплеровская область выход preference в терминах радиальной скорости или частоты эффекта Доплера. (Если вы выбираете радиальную скорость, также задаете несущую частоту сигнала.)
Организуйте свои данные, x
, в матрицу. Столбцы в этой матрице соответствуют отдельным, последовательным импульсам.
Используйте plotResponse
построить ответ Доплера области значений или step
получить данные, представляющие ответ Доплера области значений. Включайте x
и коэффициенты согласованного фильтра в вашем синтаксисе, когда вы вызываете plotResponse
или step
.
Для примеров смотрите step
страница с описанием или Диаграмма направленности Скорости области значений Цели.
Эта процедура используется обычно, чтобы произвести ответ Доплера области значений для радиолокационной системы FMCW. Можно также использовать эту процедуру для системы, которая использует пульсировавшие сигналы линейного FM. В случае импульсных сигналов вы обычно используете обработку фрагмента для dechirp сигнал.
Создайте phased.RangeDopplerResponse
объект, устанавливая RangeMethod
свойство к 'Dechirp'
.
Настройте эти характеристики или примите значения по умолчанию для любого из них:
Скорость распространения сигнала
Частота дискретизации
Наклон развертки FM
Должен ли процессор dechirp или десятикратно уменьшать ваш сигнал
Длина БПФ для обработки области значений. Алгоритм выполняет БПФ, чтобы перевести dechirped данные в частотный диапазон удара, который предоставляет информацию об области значений.
Характеристики окна для взвешивания области значений, если любой
Длина БПФ для Доплера, обрабатывающего
Характеристики окна для Доплера, взвешивающего, если любой
Доплеровская область выход preference в терминах радиальной скорости или частоты эффекта Доплера. (Если вы выбираете радиальную скорость, также задаете несущую частоту сигнала.)
Организуйте свои данные, x
, в матрицу, в которой столбцы соответствуют разверткам или импульсам, которые являются отдельными и последовательными.
В случае формы волны FMCW с треугольной разверткой развертки чередуются между положительными и отрицательными наклонами. Однако phased.RangeDopplerResponse
спроектирован, чтобы обработать последовательные развертки того же наклона. Применять phased.RangeDopplerResponse
для системы треугольной развертки используйте один из следующих подходов:
Задайте положительный SweepSlope
значение свойства, с x
соответствие upsweeps только. Истинные значения Доплера или скорости являются половиной какой step
возвращается или plotResponse
plots.
Задайте отрицательный SweepSlope
значение свойства, с x
соответствие downsweeps только. Истинные значения Доплера или скорости являются половиной какой step
возвращается или plotResponse
plots.
Используйте 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 квадратного метра в максимальной однозначной области значений для передатчика рабочая частота и усиление. ОСШ основан на желаемом ложно-сигнальном уровне для некогерентного детектора.
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 м.