exponenta event banner

шаг

Системный объект: поэтапный. 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 метод разблокирования объекта.

Примеры

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

Создайте линейный ЧМ-сигнал с полосой пропускания свип-сигнала 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.

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

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.