шаг

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

Входящий сигнал обратного рассеяния

Синтаксис

refl_sig = step(target,sig,ang)
refl_sig = step(target,sig,ang,update)
refl_sig = step(target,sig,ang,laxes)
refl_sig = step(target,sig,ang,laxes,update)

Описание

Примечание

При запуске в R2016b, вместо того, чтобы использовать метод step, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

пример

refl_sig = step(target,sig,ang) возвращает отраженный сигнал, refl_sig, инцидента неполяризованный сигнал, sig, прибывающий в цель от угла, ang. Этот синтаксис применяется, когда вы устанавливаете свойство EnablePolarization на false и свойство Model к 'Nonfluctuating'. В этом случае значения, заданные в свойстве RCSPattern, используются, чтобы вычислить значения RCS для инцидента и отраженных направлений, ang.

refl_sig = step(target,sig,ang,update) update использования, чтобы управлять, обновить ли значения RCS. Этот синтаксис применяется, когда вы устанавливаете свойство EnablePolarization на false и свойство Model к одной из колеблющихся моделей RCS: 'Swerling1', 'Swerling2', 'Swerling3' или 'Swerling4'. Если update является true, новое значение RCS сгенерировано. Если update является false, предыдущее значение RCS используется.

refl_sig = step(target,sig,ang,laxes) возвращает отраженный сигнал, refl_sig, инцидента поляризованный сигнал, sig. Матрица, laxes, задает локальную целевую систему координат. Этот синтаксис применяется, когда вы устанавливаете EnablePolarization на true и свойство Model к 'Nonfluctuating'. Значения, заданные в ShhPattern, SvvPattern и свойствах ShvPattern, используются, чтобы вычислить рассеивающиеся матрицы для инцидента и отраженных направлений, ang.

пример

refl_sig = step(target,sig,ang,laxes,update) использует аргумент update, чтобы управлять, обновить ли рассеивающиеся матричные значения. Этот синтаксис применяется, когда вы устанавливаете свойство EnablePolarization на true и свойство Model к одной из колеблющихся моделей RCS: 'Swerling1', 'Swerling2', 'Swerling3' или 'Swerling4'. Если update является true, новое значение RCS сгенерировано. Если update является false, предыдущее значение RCS используется.

Примечание

Объект выполняет инициализацию в первый раз, когда объект выполняется. Эта инициализация блокирует ненастраиваемые свойства (MATLAB) и входные спецификации, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать метод release, чтобы разблокировать объект.

Входные параметры

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

Цель обратного рассеяния, заданная как Системный объект.

Пример: phased.BackscatterRadarTarget

  • Узкополосная связь неполяризованный сигнал, заданный как N-by-M матрица с комплексным знаком. Количество N является количеством выборок сигнала и M, является количеством сигналов, отражающихся от цели. Каждый столбец соответствует независимому инциденту сигнала под различным углом отражения.

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

  • Узкополосная связь поляризованный сигнал, заданный как 1 M массивом struct, содержащим поля с комплексным знаком. Каждый элемент struct содержит три N-by-1 вектор-столбцы компонентов электромагнитного поля (sig.X,sig.Y,sig.Z), представляющий поляризованный сигнал, который отражается от цели.

    Для поляризованных полей элемент struct содержит три N-by-1 вектор-столбцы с комплексным знаком, sig.X, sig.Y и sig.Z. Эти векторы представляют x, y и z Декартовы компоненты поляризованного сигнала.

    Размер первой размерности матричных полей в struct может отличаться, чтобы моделировать изменяющуюся длину сигнала, такую как импульсная форма волны с переменной импульсной частотой повторения.

Пример: [1,1;j,1;0.5,0]

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

Инцидентное направление сигнала, заданное как 2-by-1 положительный вектор-столбец с действительным знаком или 2-by-M положительная матрица столбца с действительным знаком. Каждый столбец ang задает инцидентное направление соответствующего сигнала в форме пары [AzimuthAngle;ElevationAngle]. Модули являются степенями. Количество столбцов в ang должно совпадать с количеством независимых сигналов в sig.

Пример: [30;45]

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

Позвольте значениям RCS для моделей колебания обновлять, заданный как false или true. Когда update является true, новое значение RCS сгенерировано с каждым вызовом метода step. Если update является false, RCS остается неизменным с каждым вызовом step.

Пример: true

Типы данных: логический

Системная матрица локальной координаты, заданная как 3х3 ортонормированная матрица с действительным знаком или 3 3 M массивом с действительным знаком. Столбцы матрицы задают систему локальной координаты ортонормированный x - ось, y - ось, и z - ось, соответственно. Каждая ось является вектором формы (x;y;z) относительно глобальной системы координат. Когда sig имеет только один сигнал, laxes является 3х3 матрицей. Когда sig имеет несколько сигналов, можно использовать одну 3х3 матрицу для нескольких сигналов в sig. В этом случае все цели имеют те же системы локальной координаты. Когда вы задаете laxes как 3 3 массивом M MATLAB®, каждая страница (третий индекс) задает 3х3 матрицу локальной координаты для соответствующей цели.

Пример: [1,0,0;0,0.7071,-0.7071;0,0.7071,0.7071]

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

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

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

  • Узкополосная связь неполяризованный сигнал, заданный как N-by-M матрица с комплексным знаком. Каждый столбец содержит независимый сигнал, отраженный от цели.

    Количество N является количеством выборок сигнала и M, является количеством сигналов, отражающихся от цели. Каждый столбец соответствует отражающемуся углу.

  • Узкополосная связь поляризованный сигнал, заданный как 1 M массивом struct, содержащим поля с комплексным знаком. Каждый элемент struct содержит три N-by-1 вектор-столбцы компонентов электромагнитного поля (sig.X,sig.Y,sig.Z), представляющий поляризованный сигнал, который отражается от цели.

    Для поляризованных полей элемент struct содержит три N-by-1 вектор-столбцы с комплексным знаком, sig.X, sig.Y и sig.Z. Эти векторы представляют x, y и z Декартовы компоненты поляризованного сигнала.

Вывод refl_sig содержит выборки сигнала, прибывающие к месту назначения сигнала в течение текущего входного периода времени. Когда время распространения от источника до места назначения превысит длительность кадра текущего времени, вывод не будет содержать все вклады от входа кадра текущего времени. Остающийся вывод появляется в следующем вызове step.

Примеры

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

Вычислите отраженный радарный сигнал от не колеблющейся цели точки с пиковым RCS 10,0 m2. Используйте упрощенное выражение шаблона RCS цели в иллюстративных целях. Действительные шаблоны RCS более сложны. Шаблон RCS покрывает область значений углов от 10 °-30 ° в азимуте и 5 °-15 ° в повышении. RCS достигает максимума в азимуте на 20 ° и повышении на 10 °. Примите, что радар, рабочая частота составляет 1 ГГц и что сигнал является синусоидой на уровне 1 МГц.

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным синтаксисом step. Например, замените myObject(x) на step(myObject,x).

Создайте и постройте шаблон RCS.

azmax = 20.0;
elmax = 10.0;
azpatangs = [10.0:0.1:30.0];
elpatangs = [5.0:0.1:15.0];
rcspattern = 10.0*cosd(4*(elpatangs - elmax))'*cosd(4*(azpatangs - azmax));
imagesc(azpatangs,elpatangs,rcspattern)
axis image
axis tight
title('RCS')
xlabel('Azimuth (deg)')
ylabel('Elevation (deg)')

Сгенерируйте и постройте 50 выборок радарного сигнала.

foper = 1.0e9;
freq = 1.0e6;
fs = 10*freq;
nsamp = 50;
t = [0:(nsamp-1)]'/fs;
sig = sin(2*pi*freq*t);
plot(t*1e6,sig)
xlabel('Time (\mu seconds)')
ylabel('Signal Amplitude')
grid

Создайте Систему phased.BackscatterRadarTarget object™.

target = phased.BackscatterRadarTarget('Model','Nonfluctuating',...
    'AzimuthAngles',azpatangs,'ElevationAngles',elpatangs,...
    'RCSPattern',rcspattern,'OperatingFrequency',foper);

Для последовательности инцидентных углов под постоянным углом повышения найдите и постройте рассеянную амплитуду сигнала.

az0 = 13.0;
el = 10.0;
naz = 20;
az = az0 + [0:2:20];
naz = length(az);
ss = zeros(1,naz);
for k = 1:naz
    y = target(sig,[az(k);el]);
    ss(k) = max(abs(y));
end
plot(az,ss,'.')
xlabel('Azimuth (deg)')
ylabel('Scattered Signal Amplitude')
grid

Вычислите поляризованный радарный сигнал, рассеянный от Swerling1, колеблющегося цель точки. Примите, что целевая ось вращается от глобальной системы координат. Используйте простые выражения для рассеивающихся шаблонов для рисунка. Действительные шаблоны рассеивания более сложны. Для поляризованных сигналов необходимо задать HH, HV и компоненты VV рассеивающейся матрицы для области значений инцидентных углов. В этом примере шаблоны покрывают область значений 10 °-30 ° в азимуте и 5 °-15 ° в повышении. Углы относительно целевой системы локальной координаты. Примите, что радар, рабочая частота составляет 1 ГГц и что сигнал является синусоидой с частотой 1 МГц. Инцидентный угол является азимутом на 13,0 ° и повышением на 14,0 ° относительно целевой ориентации.

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным синтаксисом step. Например, замените myObject(x) на step(myObject,x).

Создайте и постройте рассеивающиеся матричные шаблоны.

azmax = 20.0;
elmax = 10.0;
azpatangs = [10.0:0.1:35.0];
elpatangs = [5.0:0.1:15.0];
shhpat = cosd(4*(elpatangs - elmax))'*cosd(4*(azpatangs - azmax));
shvpat = 1i*cosd(4*(elpatangs - elmax))'*sind(4*(azpatangs - azmax));
svvpat = sind(4*(elpatangs - elmax))'*sind(4*(azpatangs - azmax));
subplot(1,3,1)
imagesc(azpatangs,elpatangs,abs(shhpat))
axis image
axis tight
title('HH')
xlabel('Azimuth (deg)')
ylabel('Elevation (deg)')
subplot(1,3,2)
imagesc(azpatangs,elpatangs,abs(shvpat))
axis image
axis tight
title('HV')
xlabel('Azimuth (deg)')
subplot(1,3,3)
imagesc(azpatangs,elpatangs,abs(svvpat))
axis image
axis tight
title('VV')
xlabel('Azimuth (deg)')

Создайте Систему phased.BackscatterRadarTarget object™.

target = phased.BackscatterRadarTarget('EnablePolarization',true,...
    'Model','Swerling1','AzimuthAngles',azpatangs,...
    'ElevationAngles',elpatangs,'ShhPattern',shhpat,'ShvPattern',shvpat,...
    'SvvPattern',svvpat);

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

foper = 1.0e9;
freq = 1.0e6;
fs = 10*freq;
nsamp = 50;
t = [0:(nsamp-1)]'/fs;
signal.X = exp(1i*2*pi*freq*t);
signal.Y = exp(1i*2*pi*freq*t + pi/3);
signal.Z = zeros(size(signal.X));
tgtaxes = azelaxes(60,10);
ang = [13.0;14.0];

Отразите сигнал от цели и постройте ее компоненты.

refl_signal = target(signal,ang,tgtaxes,true);
figure
plot(t*1e6,real(refl_signal.X))
hold on
plot(t*1e6,real(refl_signal.Y))
plot(t*1e6,real(refl_signal.Z))
hold off
xlabel('Time \mu seconds')
ylabel('Amplitude')
grid

Введенный в R2016a