Предсказанная среднеквадратическая ошибка для адаптивного фильтра LMS
[mmseemse] = msepred(lmsFilt,x,d)
[mmseemse,meanw,mse,tracek] = msepred(lmsFilt,x,d)
[mmseemse,meanw,mse,tracek] = msepred(lmsFilt,x,d,m)
[
предсказывает установившиеся значения в сходимости минимальной среднеквадратической ошибки, mmse
emse
] = msepred(lmsFilt
,x
,d
)mmse
, и избыточной среднеквадратической ошибки, emse
, учитывая вход и желаемые последовательности сигнала ответа в x
и d
и количествах в Системе dsp.LMSFilter
object™, lmsFilt
.
[
задает дополнительный фактор десятикратного уменьшения для вычисления mmse
emse
,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')
lmsFilt
— LMS адаптивный Системный объект фильтраdsp.LMSFilter
LMS адаптивный фильтр, заданный как Системный объект dsp.LMSFilter
.
x
Входной сигналВходной сигнал, заданный как скаляр, вектор-столбец или матрица. Столбцы матричного x
содержат отдельные последовательности входного сигнала. Вход, x
, и желаемый сигнал, d
, должен иметь тот же размер, тип данных и сложность.
Типы данных: single | double
d
Желаемый сигналЖелаемый сигнал ответа, заданный как скаляр, вектор-столбец или матрица. Столбцы матричного d
содержат человека желаемые последовательности сигнала. Вход, x
, и желаемый сигнал, d
, должен иметь тот же размер, тип данных и сложность.
Типы данных: single | double
m
Фактор десятикратного уменьшения1
(значение по умолчанию) | положительная скалярная величинаФактор десятикратного уменьшения, заданный как положительная скалярная величина. Каждый m
th ожидаемое значение 3-х, 4-х, и 5-х предсказанных последовательностей вывод сохранен в соответствующие выходные аргументы, meanw
, mse
и tracek
. Если m
равняется 1, каждое значение этих последовательностей сохранено.
m
должен быть фактором входного формата кадра.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический
mmse
— Минимальная среднеквадратическая ошибкаМинимальная среднеквадратическая ошибка (mmse), возвращенный как скаляр. Этот параметр оценивается с помощью Винеровского фильтра. Винеровский фильтр минимизирует среднеквадратическую ошибку между желаемым сигналом и входным сигналом, отфильтрованным Винеровским фильтром. Большое значение среднеквадратической ошибки указывает, что адаптивный фильтр не может точно отследить желаемый сигнал. Минимальное значение среднеквадратической ошибки гарантирует, что адаптивный фильтр оптимален. Минимальная среднеквадратическая ошибка между конкретным кадром желаемого сигнала и отфильтрованным сигналом вычисляется как отклонение между двумя кадрами сигналов. Функция msepred
выводит среднее значение mmse значений для всех кадров. Для получения дополнительной информации о том, как этот параметр вычисляется, см. Алгоритмы.
Типы данных: single | double
emse
— Среднеквадратическая ошибка избытка устойчивого состоянияИзбыточная среднеквадратическая ошибка, возвращенная как скаляр. Эта ошибка является различием между среднеквадратической ошибкой, введенной адаптивными фильтрами и минимальной среднеквадратической ошибкой, произведенной соответствующим Винеровским фильтром. Для получения дополнительной информации о том, как этот параметр вычисляется, см. Алгоритмы.
Типы данных: single | double
meanw
— Последовательность средних значений вектора коэффициентовПоследовательность средних значений вектора коэффициентов адаптивного фильтра в каждый раз момент, возвращенный как матрица. Столбцы этой матрицы содержат прогнозы средних значений адаптивных коэффициентов фильтра LMS в каждый раз момент. Если фактор десятикратного уменьшения, m
равняется 1, размерности meanw
M-by-N. M является форматом кадра (количество строк) входного сигнала, x
. N является длиной КИХ-вектора весов фильтра, заданного свойством Length
Системного объекта lmsFilt
. Если m
> 1, размерностями meanw
является M/m-by-
N.
Для получения дополнительной информации о том, как этот параметр вычисляется, см. Алгоритмы.
Типы данных: double
mse
— Последовательность среднеквадратических ошибокПрогнозы среднеквадратической ошибки адаптивного фильтра LMS в каждый раз момент, возвращенный как вектор-столбец. Если фактор десятикратного уменьшения, m
равняется 1, длина mse
равняется формату кадра (количество строк) входного сигнала, M. Если m
> 1, длина mse
равняется M/m
.
Для получения дополнительной информации о том, как этот параметр вычисляется, см. Алгоритмы.
Типы данных: double
tracek
— Последовательность общих содействующих ошибочных степенейПрогнозы общей содействующей ошибочной степени адаптивного фильтра LMS в каждый раз момент, возвращенный как вектор-столбец. Если фактор десятикратного уменьшения, m
равняется 1, длина tracek
равняется формату кадра (количество строк) входного сигнала, данного размером (x
, 1). Если m
> 1, длина tracek
равняется отношению входного формата кадра и фактора десятикратного уменьшения, m
.
Для получения дополнительной информации о том, как этот параметр вычисляется, см. Алгоритмы.
Типы данных: double
Функция msepred
вычисляет минимальную среднеквадратическую ошибку (mmse) использование следующего уравнения:
где,
N Количество кадров во входном сигнале, x
.
d i – i th кадр (столбец) желаемого сигнала.
x i – i th кадр (столбец) входного сигнала.
W(xi) – Вывод Винеровского фильтра.
var
Дисперсия
Функция msepred
вычисляет установившуюся избыточную среднеквадратическую ошибку с помощью следующих уравнений:
где,
K Окончательные значения преобразованных содействующих отклонений.
λ – Вектор-столбец, содержащий собственные значения входной матрицы автокорреляции.
λ' – Транспонируйте λ.
B Аналитический срок управления MSE.
L Длина КИХ адаптивный фильтр, данный lmsFilt.Length
.
I(L) – L-by-L единичная матрица.
A Аналитическая матрица перехода MSE.
μ – Размер шага дан lmsFilt.StepSize
.
Lam – Диагональная матрица, содержащая собственные значения.
kurt – Среднее значение эксцесса отфильтрованных собственным вектором сигналов.
Функция msepred
вычисляет каждый элемент последовательности средних значений вектора коэффициентов с помощью следующих уравнений:
где,
meanw – Начальное значение meanw дано lmsFilt.InitialConditions
.
T Матрица перехода для среднего содействующего анализа.
I(L) – L-by-L единичная матрица.
μ – Размер шага дан lmsFilt.StepSize
.
R Введите матрицу автокорреляции размера L-by-L.
D Управление термином для среднего содействующего анализа.
P Вектор взаимной корреляции размера 1 L.
kurt – Среднее значение эксцесса отфильтрованных собственным вектором сигналов.
Функция msepred
вычисляет каждый элемент последовательности среднеквадратических ошибок с помощью следующих уравнений:
где,
mmse – Минимальная среднеквадратическая ошибка.
dk – Диагональные элементы содействующей ковариационной матрицы. Начальным значением dk дают.
meanw – Средние значения вектора коэффициентов даны lmsFilt.InitialConditions
.
Wopt – Оптимальные Винеровские коэффициенты фильтра.
Q L-by-L матрица, столбцы которой являются собственными векторами входной матрицы автокорреляции, R, так, чтобы R Q = Q Lam. Lam является диагональной матрицей, содержащей соответствующие собственные значения.
diagA – Фрагмент аналитической матрицы перехода MSE.
dk ◦diagA – Адамар или entrywise продукт dk и diagA.
λ – Вектор-столбец, содержащий собственные значения входной матрицы автокорреляции, R.
μ – Размер шага дан lmsFilt.StepSize
.
kurt – Среднее значение эксцесса собственного вектора отфильтровало сигналы.
λ ◦2 – Адамар или entrywise степень вектор-столбца, содержащего собственные значения.
D Управление термином для анализа MSE.
Функция msepred
вычисляет каждый элемент последовательности общих содействующих ошибочных степеней. Эти значения даны трассировкой содействующей ковариационной матрицы. Диагональные элементы содействующей ковариационной матрицы даны dk в следующих уравнениях:
Трассировка содействующей ковариационной матрицы дана следующим уравнением:
[1] Hayes, M.H. Статистическая цифровая обработка сигналов и моделирование. Нью-Йорк: John Wiley & Sons, 1996.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.