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 из предопределенного списка PRFs, заданного 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 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 кВт.

Настройте характеристики радиолокационной системы. Эта система использует универсальную линейную матрицу (ULA) с 4 элементами. Частота дискретизации составляет 1 МГц, и PRF составляет 10 кГц. Скорость распространения является скоростью света, и рабочая частота составляет 300 МГц. Радарная платформа управляет 1 км над землей с путем, параллельным земле вдоль оси массивов. Скорость платформы составляет 2 000 м/с. Основной лепесток имеет угол депрессии 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 дБ. Вы вводите передаваемый сигнал радиолокационной системы при создании помехи. В этом случае вы не задаете эффективную переданную степень сигнала в свойстве.

Настройте характеристики радиолокационной системы. Эта система имеет универсальную линейную матрицу (ULA) с 4 элементами. Частота дискретизации составляет 1 МГц, и PRF составляет 10 кГц. Скорость распространения является скоростью света, и рабочая частота составляет 300 МГц. Радарная платформа управляет 1 км над землей с путем, параллельным земле вдоль оси массивов. Скорость платформы составляет 2 000 м/с. Основной лепесток имеет угол депрессии 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 μs.

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++ с помощью MATLAB® Coder™.

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