exponenta event banner

plotResponse

Системный объект: поэтапный. RangeResponse
Пакет: поэтапный

Ответ диапазона графика

Описание

plotResponse(response,x) строит график ответа диапазона дехирпированного входного сигнала, x. Этот синтаксис применяется при установке RangeMethod свойство для 'FFT' и DechirpInput свойство для false.

plotResponse(response,x,xref) строит график ответа диапазона xпосле выполнения операции дехирпирования с использованием опорного сигнала, xref. Этот синтаксис применяется при установке RangeMethod свойство для 'FFT' и DechirpInput свойство для true.

пример

plotResponse(response,x,coeff) строит график ответа диапазона x после фильтрации совпадений с использованием коэффициентов фильтра совпадений, coeff. Этот синтаксис применяется при установке RangeMethod свойство для 'Matched filter'.

plotResponse(response,___,Name,Value) отображает отклик диапазона с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары.

Входные аргументы

развернуть все

Ответ диапазона, указанный как phased.RangeResponse Системный объект.

Пример: phased.RangeResponse

Входной куб радиолокационных данных, определяемый как вектор K-by-1 столбца с комплексными значениями, матрица K-by-L или матрица K-by-N-by-L.

  • K - количество быстрых отсчетов или отсчетов диапазона.

  • N - количество независимых пространственных каналов, таких как датчики или направления.

  • L - медленная размерность, которая соответствует количеству импульсов или свипов во входном сигнале.

См. раздел Куб радиолокационных данных.

Каждый K-элемент быстро-временного измерения обрабатывается независимо.

Для сигналов FMCW со сдвигом треугольника сдвиги чередуются между положительным и отрицательным наклоном. Однако phased.RangeResponse предназначен для обработки последовательных протягиваний одного и того же уклона. Подавать phased.RangeResponse для системы «треугольник-сдвиг» используйте один из следующих подходов.

  • Укажите положительное значение SweepSlope значение свойства, с x соответствует только восходящим сдвигам. После получения доплеровских или скоростных значений делите их на 2.

  • Укажите отрицательное значение SweepSlope значение свойства, с x соответствует только нисходящим сдвигам. После получения доплеровских или скоростных значений делите их на 2.

Размер первого размера входной матрицы может изменяться для моделирования изменения длины сигнала. Изменение размера может происходить, например, в случае формы импульса с переменной частотой повторения импульса.

Типы данных: single | double
Поддержка комплексного номера: Да

Опорный сигнал, используемый для дехирпирования, заданный как вектор K-by-1 столбца с комплексными значениями. Значение K должно быть равно длине первого размера x.

Зависимости

Чтобы включить этот входной аргумент, задайте значение RangeMethod кому 'FFT' и DechirpInput кому true.

Типы данных: single | double
Поддержка комплексного номера: Да

Совпадающие коэффициенты фильтра, заданные как вектор P-by-1 столбца с комплексным значением. P должно быть меньше или равно K, длина быстроразъемной размерности.

Зависимости

Чтобы включить этот входной аргумент, установите RangeMethod свойство для 'Matched filter'.

Типы данных: single | double
Поддержка комплексного номера: Да

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Единицы измерения для вертикальной оси графика, указанные как 'db', 'mag', или 'pow'.

Пример: 'pow'

Типы данных: char

Примеры

развернуть все

Постройте график радиолокационной дальностной реакции трех целей с помощью plotResponse способ phased.RangeResponse object™ системы. Передатчик и приемник являются совмещенными изотропными антенными элементами, образующими моностатическую радиолокационную систему. Передаваемый сигнал представляет собой линейный ЧМ-сигнал с интервалом повторения импульсов 7,0 мкс и рабочим циклом 2%. Рабочая частота 77 ГГц, частота дискретизации 150 МГц.

fs = 150e6;fs = 150e6;
c = physconst('LightSpeed');
fc = 77e9;
pri = 7e-6;
prf = 1/pri;

Настройте параметры сценария. Радиолокационный передатчик и приемник неподвижны и расположены в начале координат. Цели находятся в 500, 530 и 750 метрах от радаров на оси х. Цели движутся вдоль оси x на скоростях − 60, 20 и 40 м/с. Все три цели имеют нефлютурующую RCS 10 дБ.

Создайте платформы цели и РЛС.

Numtgts = 3;
tgtpos = zeros(Numtgts);
tgtpos(1,:) = [500 530 750];
tgtvel = zeros(3,Numtgts);
tgtvel(1,:) = [-60 20 40];
tgtrcs = db2pow(10)*[1 1 1];
tgtmotion = phased.Platform(tgtpos,tgtvel);
target = phased.RadarTarget('PropagationSpeed',c,'OperatingFrequency',fc, ...
    'MeanRCS',tgtrcs);
radarpos = [0;0;0];
radarvel = [0;0;0];
radarmotion = phased.Platform(radarpos,radarvel);

Создайте антенны передатчика и приемника.

txantenna = phased.IsotropicAntennaElement;
rxantenna = clone(txantenna);

Настройка обработки сигналов на стороне передатчика. Создайте линейный ЧМ-сигнал повышенной частоты с полосой пропускания, равной половине частоты дискретизации. Найдите среднеквадратичную полосу пропускания и разрешение диапазона среднеквадратичных значений.

bw = fs/2;
waveform = phased.LinearFMWaveform('SampleRate',fs,...
    'PRF',prf,'OutputFormat','Pulses','NumPulses',1,'SweepBandwidth',fs/2,...
    'DurationSpecification','Duty cycle','DutyCycle',.02);
sig = waveform();
Nr = length(sig);
bwrms = bandwidth(waveform)/sqrt(12);
rngrms = c/bwrms;

Настройте свойства объекта «Система датчиков и радиаторов». Пиковая выходная мощность составляет 10 Вт, а коэффициент усиления передатчика - 36 дБ.

peakpower = 10;
txgain = 36.0;
transmitter = phased.Transmitter(...
    'PeakPower',peakpower,...
    'Gain',txgain,...
    'InUseOutputPort',true);
radiator = phased.Radiator(...
    'Sensor',txantenna,...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc);

Создайте канал распространения свободного пространства в режиме двустороннего распространения.

channel = phased.FreeSpace(...
    'SampleRate',fs,...    
    'PropagationSpeed',c,...
    'OperatingFrequency',fc,...
    'TwoWayPropagation',true);

Настройте обработку на стороне получателя. Коэффициент усиления приемника равен 42 дБ, а показатель шума равен 10.

collector = phased.Collector(...
    'Sensor',rxantenna,...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc);
rxgain = 42.0;
noisefig = 10;
receiver = phased.ReceiverPreamp(...
    'SampleRate',fs,...
    'Gain',rxgain,...
    'NoiseFigure',noisefig);

Закольцовывание 128 импульсов для построения куба данных. Для каждого шага цикла перемещайте цель и распространяйте сигнал. Затем поместите принятый сигнал в куб данных. Куб данных содержит принятый сигнал на импульс. Обычно куб данных имеет три измерения. Последний размер соответствует антеннам или лучам. Поскольку в этом примере используется только один датчик, куб имеет только два измерения.

Шаги обработки:

  1. Переместите РЛС и цели.

  2. Передача сигнала.

  3. Распространение сигнала формы сигнала на цель.

  4. Отражение сигнала от цели.

  5. Распространение сигнала обратно на радар. Двусторонний режим распространения позволяет комбинировать обратное распространение с исходящим.

  6. Прием сигнала на РЛС.

  7. Загрузите сигнал в куб данных.

Np = 128;
cube = zeros(Nr,Np);
for n = 1:Np
    [sensorpos,sensorvel] = radarmotion(pri);
    [tgtpos,tgtvel] = tgtmotion(pri);
    [tgtrng,tgtang] = rangeangle(tgtpos,sensorpos);
    sig = waveform();
    [txsig,txstatus] = transmitter(sig);
    txsig = radiator(txsig,tgtang);
    txsig = channel(txsig,sensorpos,tgtpos,sensorvel,tgtvel);    
    tgtsig = target(txsig);   
    rxcol = collector(tgtsig,tgtang);
    rxsig = receiver(rxcol);
    cube(:,n) = rxsig;
end

Создать phased.RangeResponse Системный объект в согласованном режиме фильтра. Затем вызовите plotResponse способ отображения первых 20 импульсов.

matchcoeff = getMatchedFilter(waveform);
rangeresp = phased.RangeResponse('SampleRate',fs,'PropagationSpeed',c);
plotResponse(rangeresp,cube(:,1:20),matchcoeff);

Figure contains an axes. The axes with title Range Response Pattern contains 20 objects of type line.

Представлен в R2017a