Визуализация сигнала в области Доплера области значений может помочь вам интуитивно изучить связи среди целей. Из карты Доплера области значений вы можете:
Смотрите, как далеко далеко цели и как быстро они приближаются или отступают.
Различайте цели, перемещающиеся на различных скоростях в различных областях значений в частности:
Если платформа передатчика является стационарной, карта Доплера области значений показывает ответ от стационарных целей в нуле Доплер.
Для целей, которые перемещаются относительно платформы передатчика, карта Доплера области значений показывает ответ в ненулевых Доплеровских значениях.
Можно также использовать ответ Доплера области значений невидимыми способами. Например, можно выполнить пиковое обнаружение в области Доплера области значений и использовать информацию, чтобы разрешить связь Доплера области значений радиолокационной системы 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
графики.
Задайте отрицательный SweepSlope
значение свойства, с x
соответствие downsweeps только. Истинные значения Доплера или скорости являются половиной какой step
возвращается или plotResponse
графики.
Используйте 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 м.