Системный объект: поэтапный. RangeResponse
Пакет: поэтапный
Постройте ответ области значений
plotResponse(response,x)
plotResponse(response,x,xref)
plotResponse(response,x,coeff)
plotResponse(response,___,Name,Value)
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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.