Системный объект: phased.RangeResponse
Пакет: поэтапный
Постройте ответ области значений
plotResponse(
строит ответ области значений с дополнительными опциями, заданными одним или несколькими response
,___,Name,Value
)Name,Value
парные аргументы.
response
— Ответ области значенийphased.RangeResponse
Система object™Ответ области значений в виде phased.RangeResponse
Системный объект.
Пример: phased.RangeResponse
x
— Введите радарный куб данныхВведите радарный куб данных в виде K с комплексным знаком-by-1 вектор-столбец, K-by-L матрица или K-by-N-by-L массив.
K является количеством выборок области значений или быстро-разовых.
N является количеством независимых пространственных каналов, таких как датчики или направления.
L является медленно-разовой размерностью, которая соответствует количеству импульсов или развертывается во входном сигнале.
Смотрите радарный куб данных.
Каждый K - элемент быстро-разовая размерность обрабатывается независимо.
Для форм волны FMCW с треугольной разверткой развертки чередуются между положительными и отрицательными наклонами. Однако phased.RangeResponse
спроектирован, чтобы обработать последовательные развертки того же наклона. Применять phased.RangeResponse
для системы треугольной развертки используйте один из следующих подходов:
Задайте положительный SweepSlope
значение свойства, с x
соответствие upsweeps только. После получения Доплера или значений скорости, разделите их на 2.
Задайте отрицательный SweepSlope
значение свойства, с x
соответствие downsweeps только. После получения Доплера или значений скорости, разделите их на 2.
Размер первой размерности входной матрицы может варьироваться, чтобы симулировать изменяющуюся длину сигнала. Изменение размера может произойти, например, в случае импульсного сигнала с переменной импульсной частотой повторения.
Типы данных: single
| double
Поддержка комплексного числа: Да
xref
— Опорный сигнал используется для dechirpingОпорный сигнал, используемый для dechirping в виде K с комплексным знаком-by-1 вектор-столбец. Значение K должно равняться длине первой размерности x
.
Чтобы включить этот входной параметр, установите значение RangeMethod
к 'FFT'
и DechirpInput
к true
.
Типы данных: single
| double
Поддержка комплексного числа: Да
coeff
— Коэффициенты согласованного фильтраКоэффициенты согласованного фильтра в виде P с комплексным знаком-by-1 вектор-столбец. P должен быть меньше чем или равен K, длине быстро-разовой размерности.
Чтобы включить этот входной параметр, установите RangeMethod
свойство к 'Matched filter'
.
Типы данных: single
| double
Поддержка комплексного числа: Да
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Unit'
— Вертикальные модули осей'db'
(значение по умолчанию) | 'mag'
| 'pow'
Модули для вертикальной оси графика в виде 'db'
, 'mag'
, или 'pow'
.
Пример: 'pow'
Типы данных: char
Постройте радарный ответ области значений трех целей с помощью plotResponse
метод phased.RangeResponse
Система object™. Передатчик и приемник расположены изотропные антенные элементы, формирующие моностатическую радиолокационную систему. Переданный сигнал является линейной формой волны FM с импульсным интервалом повторения 7,0 μs и рабочим циклом 2%. Рабочая частота составляет 77 ГГц, и частота дискретизации составляет 150 МГц.
fs = 150e6;fs = 150e6;
c = physconst('LightSpeed');
fc = 77e9;
pri = 7e-6;
prf = 1/pri;
Настройте параметры сценария. Радарный передатчик и приемник являются стационарными и расположены в начале координат. Цели 500, 530, и в 750 метрах от радаров на оси X. Цели проходят ось 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);
Настройте обработку сигналов конца передатчика. Создайте upsweep линейный сигнал FM с пропускной способностью половины частоты дискретизации. Найдите RMS пропускную способность и RMS разрешение области значений.
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 импульсов, чтобы создать куб данных. Для каждого шага цикла переместите цель и распространите сигнал. Затем поместите полученный сигнал в куб данных. Куб данных содержит полученный сигнал на импульс. Обычно, куб данных имеет три измерения. Последняя размерность соответствует антеннам или лучам. Поскольку только один датчик используется в этом примере, куб имеет только две размерности.
Шаги обработки:
Переместите радар и цели.
Передайте форму волны.
Распространите сигнал формы волны к цели.
Отразите сигнал от цели.
Распространите форму волны назад к радару. Двухсторонний режим распространения позволяет распространению возврата быть объединенным с исходящим распространением.
Получите сигнал в радаре.
Загрузите сигнал в куб данных.
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);
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.