step

Системный объект: gpuConstantGammaClutter

Симулируйте загромождение с помощью постоянных гамма- моделей

Синтаксис

Y = step(H)
Y = step(H,X)
Y = step(H,STEERANGLE)
Y = step(H,WS)
Y = step(H,PRFIDX)
Y = step(H,X,STEERANGLE)

Описание

Примечание

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

Y = step(H) вычисляет возврат собранного загромождения на каждом датчике. Этот синтаксис доступен, когда вы устанавливаете TransmitSignalInputPort свойство к false.

Y = step(H,X) задает сигнал передачи в X. Transmit signal относится к выходу передатчика, когда он включен во время данного импульса. Этот синтаксис доступен, когда вы устанавливаете TransmitSignalInputPort свойство к true.

Y = step(H,STEERANGLE) использует STEERANGLE в качестве угла поворота подрешетки. Этот синтаксис доступен при конфигурировании H так что H.Sensor - массив, содержащий подрешетки и H.Sensor.SubarraySteering является либо 'Phase' или 'Time'.

Y = step(H,WS) использует WS как веса, примененные к каждому элементу в каждой подрешетке. Чтобы использовать этот синтаксис, установите Sensor свойство для массива, который поддерживает подрешетки и устанавливает SubarraySteering свойство массива, которое нужно 'Custom'.

Y = step(H,PRFIDX) использует индекс, PRFIDX, чтобы выбрать PRF из предопределенного списка PRF, заданного PRF свойство. Чтобы включить этот синтаксис, установите PRFSelectionInputPort на true.

Y = step(H,X,STEERANGLE) объединяет все входные параметры. Этот синтаксис доступен при конфигурировании H так что H.TransmitSignalInputPort является true, H.Sensor - массив, содержащий подрешетки, и H.Sensor.SubarraySteering является либо 'Phase' или 'Time'.

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

H

Объект постоянного гамма-загромождения.

X

Передайте сигнал, заданный как вектор-столбец типа данных double. Этот Системный объект обрабатывает передачу данных между центральным процессором и графическим процессором.

STEERANGLE

Угол поворота подрешетки в степени. STEERANGLE может быть вектором-столбцом длины-2 или скаляром.

Если STEERANGLE является вектором длины-2, имеет вид [азимут; повышение]. Угол азимута должен быть между -180 степенями и 180 степенями, а угол возвышения должен быть между -90 степенями и 90 степенями.

Если STEERANGLE является скаляром, он представляет угол азимута. В этом случае угол возвышения принимается равным 0.

WS

Веса элементов подрешетки

Веса элементов подрешетки, заданные как комплексные NSE -by- N матрица или 1-by- N массив ячеек, где N количество подрешеток. Эти веса применяются к отдельным элементам в подрешетку.

Веса элементов подрешетки

Датчик МассиваПодрешетки
phased.ReplicatedSubarray

Все подрешетки имеют одинаковые размерности и размеры. Затем веса подрешетки образуют NSE -by - N матрицу. NSE - количество элементов в каждой подрешетке, а N - количество подрешеток. Каждый столбец WS задает веса для соответствующей подрешетки.

phased.PartitionedArray

Когда подрешетки не имеет одинаковых размерностей, можно задать веса подрешетки как

  • матрица NSE -by N, где NSE теперь количество элементов в самой большой подрешетке. Первые Q значения в каждом столбце являются весами элементов для подрешетки, где Q - количество элементов в подрешетке.

  • массив ячеек 1 N байта. Каждая камера содержит вектор-столбец весов для соответствующих подрешеток. Длины векторов-столбцов равны количеству элементов в соответствующих подрешетках.

Зависимости

Чтобы включить этот аргумент, установите Sensor свойство для массива, который содержит подрешетки и устанавливает SubarraySteering свойство массива, которое нужно 'Custom'.

PRFIDX

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

Пример: 4

Зависимости

Чтобы включить этот аргумент, установите PRFSelectionInputPort на true.

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

Y

Собранный возврат загромождения на каждом датчике. Y имеет размерности N -by M матрице. Если H.Sensor содержит подрешетки, M количество подрешеток в радиолокационной системе. В противном случае это количество датчиков. Когда вы устанавливаете OutputFormat свойство к 'Samples'N определяется NumSamples свойство. Когда вы устанавливаете OutputFormat свойство к 'Pulses'N - общее количество выборок в следующих L импульсах. В этом случае L определяется NumPulses свойство.

Примеры

расширить все

Моделируйте возврат загромождения с местности с значением 0 дБ. Эффективная передаваемая степень радиолокационной системы составляет 5 кВт.

Настройте характеристики радиолокационной системы. Эта система использует 4-элементный равномерный линейный массив (ULA). Частота дискретизации составляет 1 МГц, а PRF составляет 10 кГц. Скорость распространения - это скорость света, а рабочая частота - 300 МГц. Радиолокационная платформа летит на 1 км над землей с пути, параллельной земле вдоль оси массива. Скорость платформы составляет 2000 м/с. Майнлобе имеет угол впадины 30.

Nele = 4;
c = physconst('Lightspeed');
fc = 300e6;
lambda = c/fc;
array = phased.ULA('NumElements',Nele,'ElementSpacing',lambda/2);
fs = 1e6;
prf = 10e3;
height = 1000.0;
direction = [90;0];
speed = 2.0e3;
depang = 30.0;
mountingAng = [0,30,0];

Создайте объект симуляции загромождения графический процессор. Согласно строения Земля плоская. Максимальная интересующая область значений загромождения составляет 5 км, а максимальное азимутальное покрытие составляет ±60.

Rmax = 5000;
Azcov = 120;
tergamma = 0;
tpower = 5000;
clutter = gpuConstantGammaClutter('Sensor',array, ...
    'PropagationSpeed',c,'OperatingFrequency',fc,'PRF',prf, ...
    'SampleRate',fs,'Gamma',tergamma,'EarthModel','Flat' ,...
    'TransmitERP',tpower,'PlatformHeight',height, ...
    'PlatformSpeed',speed,'PlatformDirection',direction, ...
    'MountingAngles',mountingAng,'ClutterMaxRange',Rmax, ...
    'ClutterAzimuthSpan',Azcov,'SeedSource','Property', ...
    'Seed',40547);

Моделируйте возврат загромождения на 10 импульсов.

Nsamp = fs/prf;
Npulse = 10;
clsig = zeros(Nsamp,Nele,Npulse);
for m = 1:Npulse
    clsig(:,:,m) = clutter();
end

Постройте график угловой доплеровской характеристики загромождения в 20-ой области значений.

response = phased.AngleDopplerResponse('SensorArray',array, ...
    'OperatingFrequency',fc,'PropagationSpeed',c,'PRF',prf);
plotResponse(response,shiftdim(clsig(20,:,:)),'NormalizeDoppler',true);

Результаты не идентичны результатам, полученным при помощи constantGammaClutter из-за различий между центральным процессором и графическим процессором расчетов.

Моделируйте возврат загромождения с местности с значением 0 дБ. Вы вводите сигнал передачи радиолокационной системы при создании загромождения. В этом случае вы не задаете эффективную переданную степень сигнала в свойстве.

Настройте характеристики радиолокационной системы. Эта система имеет 4-элементный равномерный линейный массив (ULA). Частота дискретизации составляет 1 МГц, а PRF составляет 10 кГц. Скорость распространения - это скорость света, а рабочая частота - 300 МГц. Радиолокационная платформа летит на 1 км над землей с пути, параллельной земле вдоль оси массива. Скорость платформы составляет 2000 м/с. Майнлобе имеет угол впадины 30 °.

Nele = 4;
c = physconst('LightSpeed');
fc = 300e6;
lambda = c/fc;
ha = phased.ULA('NumElements',Nele,'ElementSpacing',lambda/2);
fs = 1e6;
prf = 10e3;
height = 1000;
direction = [90;0];
speed = 2000;
mountingAng = [0,30,0];

Создайте объект симуляции загромождения графического процессора и сконфигурируйте его, чтобы взять переданный сигнал за входной параметр. Согласно строения Земля плоская. Максимальная интересующая дальность загромождения составляет 5 км, а максимальная азимутальная - ± 60 °.

Rmax = 5000;
Azcov = 120;
tergamma = 0;
clutter = gpuConstantGammaClutter('Sensor',ha,...
    'PropagationSpeed',c,'OperatingFrequency',fc,'PRF',prf,...
    'SampleRate',fs,'Gamma',tergamma,'EarthModel','Flat',...
    'TransmitSignalInputPort',true,'PlatformHeight',height,...
    'PlatformSpeed',speed,'PlatformDirection',direction,...
    'MountingAngles',mountingAng,'ClutterMaxRange',Rmax,...
    'ClutterAzimuthSpan',Azcov,'SeedSource','Property','Seed',40547);

Моделируйте возврат загромождения на 10 импульсов. При каждом вызове объекта передайте сигнал передачи как входной параметр. Программа автоматически вычисляет эффективную переданную степень сигнала. Сигнал передачи является прямоугольной формой волны с шириной импульса 2 мкс.

tpower = 5000;
pw = 2e-6;
X = tpower*ones(floor(pw*fs),1);
Nsamp = fs/prf;
Npulse = 10;
clsig = zeros(Nsamp,Nele,Npulse);
for m = 1:Npulse
    clsig(:,:,m) = clutter(X);
end

Постройте график угловой доплеровской характеристики загромождения в 20-ой области значений.

response = phased.AngleDopplerResponse('SensorArray',ha,...
    'OperatingFrequency',fc,'PropagationSpeed',c,'PRF',prf);
plotResponse(response,shiftdim(clsig(20,:,:)),...
    'NormalizeDoppler',true);

Результаты не идентичны результатам, полученным при помощи constantGammaClutter из-за различий между центральным процессором и графическим процессором расчетов.

Совет

Симуляция загромождения, которая constantGammaClutter предоставляет основано на этих допущениях:

  • Радиолокационная система моностатическая.

  • Распространение находится в свободном пространстве.

  • Рельеф местности однородный.

  • Загромождение закрашенной фигуры является стационарным во время когерентности. Coherence time указывает, как часто программа изменяет набор случайных чисел в симуляции загромождения.

  • Поскольку сигнал является узкополосным, пространственный ответ и доплеровский сдвиг могут быть аппроксимированы сдвигами фазы.

  • Радиолокационная система поддерживает постоянную высоту во время симуляции.

  • Радиолокационная система поддерживает постоянную скорость во время симуляции.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

Генерация кода GPU
Сгенерируйте код CUDA ® для графических процессоров NVIDIA ® с помощью GPU Coder™

.