step

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

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

Описание

Примечание

Запуск в 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 метод, чтобы разблокировать объект.

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

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

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

Пример: 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