step

Системный объект: phased.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. Процесс компенсирует уровни мощности через все выборки, чтобы совпадать с данным диапазоном ссылки. Компенсированный сигнал возвращен в YX может быть вектор-столбец, матрица или куб. Усиление применяется к каждому столбцу в X независимо. Количество строк в X не может превысить длину вектора потерь, заданного в RangeLoss свойство. Y имеет ту же размерность как XX может быть одинарный или двойная точность.

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

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

Примечание

Объект выполняет инициализацию в первый раз, когда объект выполняется. Эта инициализация блокирует ненастраиваемые свойства и входные технические требования, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать 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')