step

Системный объект: фазированный. MatchedFilter
Пакет: поэтапный

Выполните согласованную фильтрацию

Синтаксис

Y = step(H,X)
Y = step(H,X,COEFF)
[Y,GAIN] = step(___)

Описание

Примечание

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

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

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

Y = step(H,X,COEFF) использует входную COEFF как коэффициенты согласованного фильтра. Этот синтаксис доступен, когда вы устанавливаете CoefficientsSource свойство к 'Input port'.

[Y,GAIN] = step(___) возвращает дополнительный выход GAIN как коэффициент усиления (в децибелах) согласованного фильтра. Этот синтаксис доступен, когда вы устанавливаете GainOutputPort свойство к true.

Примечание

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

Примеры

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

Создайте линейную FM-форму волны с шириной полосы свип-сигнала 300 кГц и шириной импульса 50 мкс. Получите коэффициенты согласованного фильтра с помощью getMatchedFilter способ. Затем используйте step для соответствия-фильтрации формы волны.

waveform = phased.LinearFMWaveform('SweepBandwidth',3e5,...
    'OutputFormat','Pulses','SampleRate',1e6,...
    'PulseWidth',50e-6,'PRF',1e4);
wav = waveform();

Постройте график всей формы волны. Длина формы волны является интервалом повторения импульса (100 выборки).

stem(real(wav))
xlabel('Samples')
title('Real Part of Waveform')

Figure contains an axes. The axes with title Real Part of Waveform contains an object of type stem.

Получите коэффициенты согласованного фильтра для линейной формы FM волны. Длина коэффициентов согласованного фильтра является длиной импульса.

mfcoeffs = getMatchedFilter(waveform);
stem(real(mfcoeffs))
xlabel('Samples')
title('Real Part of Matched Filter Coefficients')

Figure contains an axes. The axes with title Real Part of Matched Filter Coefficients contains an object of type stem.

Использование phased.MatchedFilter step способ получения согласованного фильтра выхода.

filter = phased.MatchedFilter('Coefficients',mfcoeffs);
mfoutput = filter(wav);
stem(real(mfoutput))
xlabel('Samples')
title('Real Part of Matched Filter Output')

Figure contains an axes. The axes with title Real Part of Matched Filter Output contains an object of type stem.