Сравните производительность сходимости между LMS-алгоритмом и нормированным LMS-алгоритмом

Адаптивный фильтр адаптирует свои коэффициенты фильтра inorder, чтобы совпадать с коэффициентами неизвестной системы. Цель состоит в том, чтобы минимизировать сигнал ошибки между выходом неизвестной системы и выходом адаптивного фильтра. Для того же входа, когда эти два выходных параметров сходятся и соответствуют тесно, коэффициенты двух фильтров, как говорят, соответствуют тесно. Адаптивный фильтр в этом состоянии напоминает неизвестную систему. Этот пример сравнивает уровень, на котором эта сходимость происходит для этих двух LMS-алгоритмов - нормированный LMS-алгоритм, LMS-алгоритм без нормализации.

Неизвестная система

Создайте dsp.FIRFilter это представляет неизвестную систему. Передайте сигнал, x, как вход к неизвестной системе. Желаемый сигнал, d, сумма выхода неизвестной системы (КИХ-фильтр) и аддитивный шумовой сигнал, n.

filt = dsp.FIRFilter;
filt.Numerator = fircband(12,[0 0.4 0.5 1], [1 1 0 0], [1 0.2],... 
{'w' 'c'});
x = 0.1*randn(1000,1);
n = 0.001*randn(1000,1);
d = filt(x) + n;

Адаптивный фильтр

Выберите размер шага адаптации 0,2 и установите длину адаптивного фильтра к 13 касаниям.

mu = 0.2;
lms_normalized = dsp.LMSFilter(13,'StepSize',mu,...
    'Method','Normalized LMS');
lms_nonnormalized = dsp.LMSFilter(13,'StepSize',mu,...
    'Method','LMS');

Передайте сигнал первичного входного параметра, x, и желаемый сигнал, d, обоим изменения LMS-алгоритма. Переменные, e1 и e2, представляйте ошибку между желаемым сигналом и выходом нормированного и не нормированных фильтров, respecitvely.

[~,e1,~] = lms_normalized(x,d);
[~,e2,~] = lms_nonnormalized(x,d);

Постройте сигналы ошибки для обоих изменения. Когда вы выдерживаете сравнение, сигнал ошибки для варианта NLMS сходится, чтобы обнулить намного быстрее, чем сигнал ошибки для варианта LMS. Нормированная версия адаптируется в гораздо меньшем количестве итераций к результату, почти столь же хорошему как не нормированная версия.

plot([e1,e2]);
title('Comparing the LMS and NLMS Conversion Performance');
legend('NLMS Derived Filter Weights', ...
       'LMS Derived Filter Weights','Location', 'NorthEast');

Смотрите также

Объекты

Похожие темы

Ссылки

[1] Hayes, Монсон Х., статистическая цифровая обработка сигналов и Modeling, John Wiley & Sons, 1996, 493–552.

[2] Haykin, Саймон, адаптивная теория фильтра, Prentice-Hall, Inc., 1996