Предсказанная среднеквадратическая ошибка для адаптивного фильтра LMS
[
предсказывает установившиеся значения в сходимости минимальной среднеквадратической ошибки, mmse
emse
] = msepred(lmsFilt
,x
,d
)mmse
, и избыточная среднеквадратическая ошибка, emse
, учитывая вход и желаемый ответ сигнализируют о последовательностях в x
и d
и количества в dsp.LMSFilter
Система object™, lmsFilt
.
Среднеквадратическая ошибка (MSE) измеряет среднее значение квадратов ошибок между желаемым сигналом и первичным входом сигнала к адаптивному фильтру. Сокращение этой ошибки сходится первичный входной параметр к желаемому сигналу. Определите ожидаемое значение MSE и симулированное значение MSE в каждый раз мгновенное использование msepred
и msesim
функции. Сравните эти значения 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
— Фактор децимации
(значение по умолчанию) | положительная скалярная величинаФактор децимации, заданный как положительная скалярная величина. Каждый m
ожидаемое значение th 3-х, 4-х, и 5-х предсказанных последовательностей выход сохранено в соответствующие выходные аргументы, meanw
, mse
, и tracek
. Если m
равняется 1, каждое значение этих последовательностей сохранено.
m
должен быть фактор размера входного кадра.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
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
- 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.