step

Системный объект: phased.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.

Примечание

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

Примеры

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

Создайте линейную форму волны FM с полосой пропускания развертки 300 кГц и шириной импульса 50 μs. Получите коэффициенты согласованного фильтра с помощью 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 object. The axes object 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 object. The axes object 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 object. The axes object with title Real Part of Matched Filter Output contains an object of type stem.