поэтапный. MatchedFilter

Согласованный фильтр

Описание

Объект MatchedFilter реализует согласованную фильтрацию входного сигнала.

Вычислить совпадающий отфильтрованный сигнал:

  1. Задайте и настройте свой согласованный фильтр. Смотрите Конструкцию.

  2. Вызовите step, чтобы выполнить согласованную фильтрацию согласно свойствам phased.MatchedFilter. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

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

Конструкция

H = phased.MatchedFilter создает Системный объект согласованного фильтра, H. Объект выполняет согласованную фильтрацию на входных данных.

H = phased.MatchedFilter(Name,Value) создает объект согласованного фильтра, H, с каждым заданным набором имени свойства к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

CoefficientsSource

Источник коэффициентов согласованного фильтра

Задайте, прибывают ли коэффициенты согласованного фильтра из свойства Coefficients этого объекта или от входного параметра в step. Значения этого свойства:

'Property'Свойство Coefficients этого объекта задает коэффициенты.
'Input port'Входной параметр в каждом вызове step задает коэффициенты.

Значение по умолчанию: 'Property'

Coefficients

Коэффициенты согласованного фильтра

Задайте коэффициенты согласованного фильтра как вектор-столбец. Это свойство применяется, когда вы устанавливаете свойство CoefficientsSource на 'Property'. Это свойство является настраиваемым.

Значение по умолчанию: [1;1]

SpectrumWindow

Окно для взвешивания спектра

Задайте окно, используемое для взвешивания спектра с помощью одного из 'None', 'Hamming', 'Chebyshev', 'Hann', 'Kaiser', 'Taylor' или 'Custom'. Взвешивание спектра часто используется с линейной формой волны FM, чтобы уменьшать боковые лепестки во временном интервале. Объект вычисляет длину окна внутренне, чтобы совпадать с длиной БПФ.

Значение по умолчанию: 'None'

CustomSpectrumWindow

Пользовательское окно для взвешивания спектра

Задайте пользовательское окно для взвешивания спектра с помощью указателя на функцию или массива ячеек. Это свойство применяется, когда вы устанавливаете свойство SpectrumWindow на 'Custom'.

Если CustomSpectrumWindow является указателем на функцию, заданная функция берет длину окна в качестве входа и генерирует соответствующие коэффициенты окна.

Если CustomSpectrumWindow является массивом ячеек, то первая ячейка должна быть указателем на функцию. Заданная функция берет длину окна в качестве первого входного параметра, с другими дополнительными входными параметрами при необходимости, и генерирует соответствующие коэффициенты окна. Остающиеся записи в массиве ячеек являются дополнительными входными параметрами к функции, если таковые имеются.

Значение по умолчанию: @hamming

SpectrumRange

Зона обслуживания окна Spectrum

Задайте область спектра, на которую окно спектра применяется как 1 2 вектор в форме  [StartFrequency EndFrequency] (в герц). Это свойство применяется, когда вы устанавливаете свойство SpectrumWindow на значение кроме 'None'.

Обратите внимание на то, что и StartFrequency и EndFrequency измеряются в основной полосе. Таким образом, они в  [-Fs/2 Fs/2], где Fs является частотой дискретизации, которую вы задаете в свойстве SampleRate. StartFrequency не может быть больше, чем EndFrequency.

Значение по умолчанию: [0 1e5]

SampleRate

Содействующая частота дискретизации

Задайте содействующую частоту дискретизации согласованного фильтра (в герц) как положительная скалярная величина. Это свойство применяется, когда вы устанавливаете свойство SpectrumWindow на значение кроме 'None'.

Значение по умолчанию: 1e6

SidelobeAttenuation

Уровень затухания бокового лепестка окна

Задайте уровень затухания бокового лепестка (в децибелах) окна Чебышева или Тейлора как положительная скалярная величина. Это свойство применяется, когда вы устанавливаете свойство SpectrumWindow на 'Chebyshev' или 'Taylor'.

Значение по умолчанию: 30

Beta

Параметр окна Kaiser

Задайте параметр, который влияет на затухание бокового лепестка окна Kaiser как на неотрицательный скаляр. Обратитесь к kaiser для получения дополнительной информации. Это свойство применяется, когда вы устанавливаете свойство SpectrumWindow на 'Kaiser'.

Значение по умолчанию: 0.5

Nbar

Количество почти постоянных боковых лепестков в окне Тейлора

Задайте количество почти постоянных боковых лепестков уровня, смежных с mainlobe в окне Тейлора как положительное целое число. Это свойство применяется, когда вы устанавливаете свойство SpectrumWindow на 'Taylor'.

Значение по умолчанию: 4

GainOutputPort

Выведите усиление

Чтобы получить усиление согласованного фильтра, установите это свойство на true и используйте соответствующий выходной аргумент при вызове step. Если вы не хотите получать усиление согласованного фильтра, установите это свойство на false.

По умолчанию: false

Методы

шагВыполните согласованную фильтрацию
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

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

Создайте согласованный фильтр для линейной формы волны FM.

waveform = phased.LinearFMWaveform('PulseWidth',1e-4,'PRF',5e3);
x = waveform();
filter = phased.MatchedFilter( ...
    'Coefficients',getMatchedFilter(waveform));
y = filter(x);
subplot(2,1,1),plot(real(x))
xlabel('Samples')
ylabel('Amplitude')
title('Input Signal')
subplot(2,1,2),plot(real(y))
xlabel('Samples')
ylabel('Amplitude')
title('Matched Filter Output')

Примените согласованный фильтр, с помощью Окна Хэмминга, чтобы сделать взвешивание спектра.

waveform = phased.LinearFMWaveform('PulseWidth',1e-4,'PRF',5e3);
x = waveform();
filter = phased.MatchedFilter( ...
    'Coefficients',getMatchedFilter(waveform), ...
	'SpectrumWindow','Hamming');
y = filter(x);
subplot(2,1,1)
plot(real(x))
xlabel('Samples')
ylabel('Amplitude')
title('Input Signal')
subplot(2,1,2)
plot(real(y))
xlabel('Samples')
ylabel('Amplitude')
title('Matched Filter Output')

Примените согласованный фильтр, с помощью пользовательского окна Gaussian для взвешивания спектра.

waveform = phased.LinearFMWaveform('PulseWidth',1e-4,'PRF',5e3);
x = waveform();
filter = phased.MatchedFilter( ...
    'Coefficients',getMatchedFilter(waveform), ...
	'SpectrumWindow','Custom', ...
	'CustomSpectrumWindow',{@gausswin,2.5});
y = filter(x);
subplot(2,1,1)
plot(real(x))
xlabel('Samples')
ylabel('Amplitude')
title('Input Signal')
subplot(2,1,2)
plot(real(y))
xlabel('Samples')
ylabel('Amplitude')
title('Matched Filter Output')

Алгоритмы

Операция фильтрации использует перекрытие - добавляет метод.

Взвешивание спектра производит передаточную функцию

H'(F)=w(F)H(F)

где w (F) является окном, и H (F) является исходной передаточной функцией.

Для получения дальнейшей информации на теории согласованного фильтра, см. [1] или [2].

Ссылки

[1] Ричардс, M. A. Основные принципы радарной обработки сигналов. Нью-Йорк: McGraw-Hill, 2005.

[2] Skolnik, M. Введение в радиолокационные системы, 3-го Эда. Нью-Йорк: McGraw-Hill, 2001.

Расширенные возможности

Представленный в R2012a