Системный объект: фазированный. RangeResponse
Пакет: поэтапный
Постройте график отклика области значений
plotResponse(
строит график области значений отклика с дополнительными опциями, заданными одним или несколькими response
,___,Name,Value
)Name,Value
аргументы в виде пар.
response
- Область значений откликаphased.RangeResponse
Системные object™Область значений ответ, заданный как phased.RangeResponse
Системный объект.
Пример: phased.RangeResponse
x
- Входной радиолокационный кубик данныхВходной радиолокационный кубик данных, заданный как комплексно- K вектор-столбец, a K -by- L матрица или K -by- N -by- L массив.
K - количество быстрых выборок или выборок области значений.
N - количество независимых пространственных каналов, таких как датчики или направления.
L - это медленная размерность, которая соответствует количеству импульсов или свипов в входном сигнале.
Смотрите Radar Data Cube.
Каждое измерение K-element в быстром времени обрабатывается независимо.
Для форм волны FMCW с треугольным сдвигом сдвиги чередуются между положительным и отрицательным наклонами. Однако phased.RangeResponse
предназначен для обработки последовательных выступов того же уклона. Применение phased.RangeResponse
для системы треугольника-протягивания используйте один из следующих подходов:
Задайте положительное SweepSlope
значение свойства, с x
соответствует только восходящим ветрам. После получения Доплера или значений скорости разделите их на 2.
Задайте отрицательное SweepSlope
значение свойства, с x
соответствует только нисходящим потокам. После получения Доплера или значений скорости разделите их на 2.
Размер первой размерности матрицы входа может варьироваться, чтобы симулировать изменяющуюся длину сигнала. Изменение размера может произойти, например, в случае импульсного сигнала с переменной частотой повторения импульса.
Типы данных: single
| double
Поддержка комплексного числа: Да
xref
- Уставка, используемая для дешифрированияУставка, используемая для дешифрования, задается как комплексный вектор- K-на-1 столбец. Значение K должно равняться длине первой размерности x
.
Чтобы включить этот входной параметр, задайте значение RangeMethod
на 'FFT'
и DechirpInput
на true
.
Типы данных: single
| double
Поддержка комплексного числа: Да
coeff
- Совпадающие коэффициенты фильтраСогласованные фильтры, заданные как комплексный вектор- P-на-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
Постройте график радара области значений ответ трех целей usin plotResponse
метод phased.RangeResponse
Системные object™. Передатчик и приемник являются связанными изотропными антенными элементами, образующими моностатическую радиолокационную систему. Переданный сигнал является линейной FM-формой волны с интервалом повторения импульса 7,0 мкс и коэффициентом заполнения 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);
Настройте обработку сигнала на конце передатчика. Создайте восходящий линейный 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.