msepred

Предсказанная среднеквадратическая ошибка для адаптивного фильтра LMS

Синтаксис

[mmseemse] = msepred(lmsFilt,x,d)
[mmseemse,meanw,mse,tracek] = msepred(lmsFilt,x,d)
[mmseemse,meanw,mse,tracek] = msepred(lmsFilt,x,d,m)

Описание

пример

[mmseemse] = msepred(lmsFilt,x,d) предсказывает установившиеся значения в сходимости минимальной среднеквадратической ошибки, mmse, и избыточной среднеквадратической ошибки, emse, учитывая вход и желаемые последовательности сигнала ответа в x и d и количествах в Системе dsp.LMSFilter object™, lmsFilt.

пример

[mmseemse,meanw,mse,tracek] = msepred(lmsFilt,x,d) также вычисляет meanw, последовательность средних значений векторов коэффициентов, mse, последовательности среднеквадратических ошибок, и tracek, последовательности общих содействующих ошибочных степеней.

пример

[mmseemse,meanw,mse,tracek] = msepred(lmsFilt,x,d,m) задает дополнительный фактор десятикратного уменьшения для вычисления meanw, mse и tracek. Если m> 1, каждый m th ожидаемое значение каждой из этих последовательностей сохранен. Если не использовано, значение m является значением по умолчанию, которое является тем.

Примеры

свернуть все

Среднеквадратическая ошибка (MSE) измеряет среднее значение квадратов ошибок между желаемым сигналом и первичным входом сигнала к адаптивному фильтру. Сокращение этой ошибки сходится первичный входной параметр к желаемому сигналу. Определите ожидаемое значение MSE и моделируемое значение MSE в каждый раз мгновенное использование функции msesim и msepred. Сравните эти значения MSE друг с другом и относительно минимального MSE и установившихся значений MSE. Кроме того, вычислите сумму квадратов содействующих ошибок, данных трассировкой содействующей ковариационной матрицы.

Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным синтаксисом шага. Например, obj(x) становится step(obj,x).

Инициализация

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

num = fir1(31,0.5);
fir = dsp.FIRFilter('Numerator',num);  
iir = dsp.IIRFilter('Numerator',sqrt(0.75),...
        'Denominator',[1 -0.5]);
x = iir(sign(randn(2000,25))); 
n = 0.1*randn(size(x));           
d = fir(x) + n; 

Фильтр LMS

Создайте Системный объект dsp.LMSFilter, чтобы создать фильтр, который адаптируется, чтобы вывести желаемый сигнал. Установите длину адаптивного фильтра к 32 касаниям, размера шага к 0,008, и фактор десятикратного уменьшения для анализа и симуляции к 5. Переменная simmse представляет моделируемый MSE между выводом неизвестной системы, d, и выводом адаптивного фильтра. Переменная mse дает соответствующее ожидаемое значение.

l = 32;
mu = 0.008;
m  = 5;

lms = dsp.LMSFilter('Length',l,'StepSize',mu);
[mmse,emse,meanW,mse,traceK] = msepred(lms,x,d,m);
[simmse,meanWsim,Wsim,traceKsim] = msesim(lms,x,d,m);

Постройте результаты MSE

Сравните значения моделируемого MSE, предсказал MSE, минимальный MSE и итоговый MSE. Итоговое значение MSE дано суммой минимального MSE и избыточного MSE.

nn = m:m:size(x,1);
semilogy(nn,simmse,[0 size(x,1)],[(emse+mmse)...
    (emse+mmse)],nn,mse,[0 size(x,1)],[mmse mmse])
title('Mean Squared Error Performance')
axis([0 size(x,1) 0.001 10])
legend('MSE (Sim.)','Final MSE','MSE','Min. MSE')
xlabel('Time Index')
ylabel('Squared Error Value')

Предсказанный MSE следует за той же траекторией как моделируемый MSE. Обе этих траектории сходятся с установившимся (итоговым) MSE.

Постройте содействующие траектории

meanWsim является средним значением моделируемых коэффициентов, данных msesim. meanW является средним значением предсказанных коэффициентов, данных msepred.

Сравните моделируемые и предсказанные средние значения коэффициентов фильтра LMS 12,13,14, и 15.

plot(nn,meanWsim(:,12),'b',nn,meanW(:,12),'r',nn,...
meanWsim(:,13:15),'b',nn,meanW(:,13:15),'r')
PlotTitle ={'Average Coefficient Trajectories for';...
            'W(12), W(13), W(14), and W(15)'}
PlotTitle = 2x1 cell array
    {'Average Coefficient Trajectories for'}
    {'W(12), W(13), W(14), and W(15)'      }

title(PlotTitle)
legend('Simulation','Theory')
xlabel('Time Index')
ylabel('Coefficient Value')

В устойчивом состоянии оба сходятся траектории.

Сумма содействующих ошибок в квадрате

Сравните сумму содействующих ошибок в квадрате, данных msepred и msesim. Эти значения даны трассировкой содействующей ковариационной матрицы.

semilogy(nn,traceKsim,nn,traceK,'r')
title('Sum-of-Squared Coefficient Errors')
axis([0 size(x,1) 0.0001 1])
legend('Simulation','Theory')
xlabel('Time Index')
ylabel('Squared Error Value')

Входные параметры

свернуть все

LMS адаптивный фильтр, заданный как Системный объект dsp.LMSFilter.

Входной сигнал, заданный как скаляр, вектор-столбец или матрица. Столбцы матричного x содержат отдельные последовательности входного сигнала. Вход, x, и желаемый сигнал, d, должен иметь тот же размер, тип данных и сложность.

Типы данных: single | double

Желаемый сигнал ответа, заданный как скаляр, вектор-столбец или матрица. Столбцы матричного d содержат человека желаемые последовательности сигнала. Вход, x, и желаемый сигнал, d, должен иметь тот же размер, тип данных и сложность.

Типы данных: single | double

Фактор десятикратного уменьшения, заданный как положительная скалярная величина. Каждый m th ожидаемое значение 3-х, 4-х, и 5-х предсказанных последовательностей вывод сохранен в соответствующие выходные аргументы, meanw, mse и tracek. Если m равняется 1, каждое значение этих последовательностей сохранено.

m должен быть фактором входного формата кадра.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Выходные аргументы

свернуть все

Минимальная среднеквадратическая ошибка (mmse), возвращенный как скаляр. Этот параметр оценивается с помощью Винеровского фильтра. Винеровский фильтр минимизирует среднеквадратическую ошибку между желаемым сигналом и входным сигналом, отфильтрованным Винеровским фильтром. Большое значение среднеквадратической ошибки указывает, что адаптивный фильтр не может точно отследить желаемый сигнал. Минимальное значение среднеквадратической ошибки гарантирует, что адаптивный фильтр оптимален. Минимальная среднеквадратическая ошибка между конкретным кадром желаемого сигнала и отфильтрованным сигналом вычисляется как отклонение между двумя кадрами сигналов. Функция msepred выводит среднее значение mmse значений для всех кадров. Для получения дополнительной информации о том, как этот параметр вычисляется, см. Алгоритмы.

Типы данных: single | double

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

Типы данных: single | double

Последовательность средних значений вектора коэффициентов адаптивного фильтра в каждый раз момент, возвращенный как матрица. Столбцы этой матрицы содержат прогнозы средних значений адаптивных коэффициентов фильтра LMS в каждый раз момент. Если фактор десятикратного уменьшения, m равняется 1, размерности meanw M-by-N. M является форматом кадра (количество строк) входного сигнала, x. N является длиной КИХ-вектора весов фильтра, заданного свойством Length Системного объекта lmsFilt. Если m> 1, размерностями meanw является M/m-by-N.

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

Типы данных: double

Прогнозы среднеквадратической ошибки адаптивного фильтра LMS в каждый раз момент, возвращенный как вектор-столбец. Если фактор десятикратного уменьшения, m равняется 1, длина mse равняется формату кадра (количество строк) входного сигнала, M. Если m> 1, длина mse равняется M/m.

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

Типы данных: double

Прогнозы общей содействующей ошибочной степени адаптивного фильтра LMS в каждый раз момент, возвращенный как вектор-столбец. Если фактор десятикратного уменьшения, m равняется 1, длина tracek равняется формату кадра (количество строк) входного сигнала, данного размером (x, 1). Если m> 1, длина tracek равняется отношению входного формата кадра и фактора десятикратного уменьшения, m.

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

Типы данных: double

Алгоритмы

свернуть все

Минимальная среднеквадратическая ошибка (mmse)

Функция msepred вычисляет минимальную среднеквадратическую ошибку (mmse) использование следующего уравнения:

mmse=i=1Nvar(diW(xi))N

где,

  • N Количество кадров во входном сигнале, x.

  • d ii th кадр (столбец) желаемого сигнала.

  • x ii th кадр (столбец) входного сигнала.

  • W(xi) – Вывод Винеровского фильтра.

  • var Дисперсия

Избыточная среднеквадратическая ошибка (emse)

Функция msepred вычисляет установившуюся избыточную среднеквадратическую ошибку с помощью следующих уравнений:

emse=Kλ,K=BI(L)A,B=μ2.mmse.λ',A=I(L)2μLam+μ2(Lam2(kurt+2)+λλ').

где,

  • K Окончательные значения преобразованных содействующих отклонений.

  • λ – Вектор-столбец, содержащий собственные значения входной матрицы автокорреляции.

  • λ' – Транспонируйте λ.

  • B Аналитический срок управления MSE.

  • L Длина КИХ адаптивный фильтр, данный lmsFilt.Length.

  • I(L)L-by-L единичная матрица.

  • A Аналитическая матрица перехода MSE.

  • μ – Размер шага дан lmsFilt.StepSize.

  • Lam – Диагональная матрица, содержащая собственные значения.

  • kurt – Среднее значение эксцесса отфильтрованных собственным вектором сигналов.

Средства вектора коэффициентов (meanw)

Функция msepred вычисляет каждый элемент последовательности средних значений вектора коэффициентов с помощью следующих уравнений:

meanw=meanw.T.D,T=I(L)μR,D=μP.

где,

  • meanw – Начальное значение meanw дано lmsFilt.InitialConditions.

  • T Матрица перехода для среднего содействующего анализа.

  • I(L)L-by-L единичная матрица.

  • μ – Размер шага дан lmsFilt.StepSize.

  • R Введите матрицу автокорреляции размера L-by-L.

  • D Управление термином для среднего содействующего анализа.

  • P Вектор взаимной корреляции размера 1 L.

  • kurt – Среднее значение эксцесса отфильтрованных собственным вектором сигналов.

Среднеквадратические ошибки (mse)

Функция msepred вычисляет каждый элемент последовательности среднеквадратических ошибок с помощью следующих уравнений:

mse=mmse+dk.λ,dk=dkdiagA+mse.D,diagA=(12μλ+μ2(kurt+2)λ2)',D=μ2λ'.

где,

  • mmse – Минимальная среднеквадратическая ошибка.

  • dk – Диагональные элементы содействующей ковариационной матрицы. Начальным значением dk дают.

  • meanw – Средние значения вектора коэффициентов даны lmsFilt.InitialConditions.

  • Wopt – Оптимальные Винеровские коэффициенты фильтра.

  • Q L-by-L матрица, столбцы которой являются собственными векторами входной матрицы автокорреляции, R, так, чтобы R Q = Q Lam. Lam является диагональной матрицей, содержащей соответствующие собственные значения.

  • diagA – Фрагмент аналитической матрицы перехода MSE.

  • dkdiagA – Адамар или entrywise продукт dk и diagA.

  • λ – Вектор-столбец, содержащий собственные значения входной матрицы автокорреляции, R.

  • μ – Размер шага дан lmsFilt.StepSize.

  • kurt – Среднее значение эксцесса собственного вектора отфильтровало сигналы.

  • λ ◦2 – Адамар или entrywise степень вектор-столбца, содержащего собственные значения.

  • D Управление термином для анализа MSE.

Общие содействующие ошибочные полномочия (tracek)

Функция msepred вычисляет каждый элемент последовательности общих содействующих ошибочных степеней. Эти значения даны трассировкой содействующей ковариационной матрицы. Диагональные элементы содействующей ковариационной матрицы даны dk в следующих уравнениях:

mse=mmse+dk.λ,dk=dkdiagA+mse.D,diagA=(12μλ+μ2(kurt+2)λ2)',D=μ2λ'.

Трассировка содействующей ковариационной матрицы дана следующим уравнением:

tracek=sum(dk).

Ссылки

[1] Hayes, M.H. Статистическая цифровая обработка сигналов и моделирование. Нью-Йорк: John Wiley & Sons, 1996.

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