exponenta event banner

шаг

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

Применение изменяющихся во времени коэффициентов усиления к входному сигналу

Синтаксис

Y = step(H,X)
Y = step(H,X,L)

Описание

Примечание

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

Y = step(H,X) применяет изменяющиеся во времени коэффициенты усиления к матрице входного сигнала X. Процесс выравнивает уровни мощности по всем выборкам в соответствии с заданным опорным диапазоном. Компенсированный сигнал возвращается в Y. X может быть вектором столбца, матрицей или кубом. Коэффициент усиления применяется к каждому столбцу в X независимо. Количество строк в X не может превышать длину вектора потерь, указанного в RangeLoss собственность. Y имеет ту же размерность, что и X. X может быть одинарной или двойной точностью.

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

Y = step(H,X,L) кроме того, указывается потеря диапазона, L в виде вектора столбцов. Этот аргумент используется только при установке RangeLossSource свойство для 'Input port'. Длина L должно быть равно или больше числа строк X. L может быть одинарной или двойной точностью.

Примечание

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

Примеры

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

Применение изменяющегося во времени усиления к сигналу для компенсации потери мощности сигнала из-за дальности.

Сначала создайте сигнал с потерей дальности. Установите значение опорной потери 16 дБ.

rngloss = 10:22;
refloss = 16;
t = (1:length(rngloss))';
x = 1./db2mag(rngloss(:));

Затем добавьте выигрыш, чтобы компенсировать потерю дальности.

gain = phased.TimeVaryingGain('RangeLoss',rngloss,'ReferenceLoss',refloss);
y = gain(x);

Постройте график сигнала с потерями и компенсированным сигналом.

tref = find(rngloss==refloss);
stem([t t],[abs(x) abs(y)])
hold on
stem(tref,x(tref),'filled','r')
xlabel('Time (s)'); ylabel('Magnitude (V)')
grid on
legend('Before time varying gain','After time varying gain',...
    'Reference range')

Figure contains an axes. The axes contains 3 objects of type stem. These objects represent Before time varying gain, After time varying gain, Reference range.