vs_lab2_kulnevx

advertisement
Нижегородский государственный технический университет
им. Р.Е. Алексеева
Лабораторная работа №2
Настройка дискретного прогнозирующего фильтра по алгоритму LMS
Задание №8
Выполнил:
студент группы М14-ИВТ-3
Кульнев А.А.
Проверил:
Саладаев Е.Н.
Нижний Новгород
2014г.
Задание
1 формирование информативного сигнала
2 реализация алгоритма прогнозирования и построения прогнозирующего значения
сигнала, а так же среднеквадратичного значения ошибки прогнозирования.
Исходные данные:
Количество гармоник в прогнозируемом процессе (наблюдаемом сигнале) m = 5.
Частота первой гармоники f1 = 5 кГц.
Амплитудный спектр наблюдаемого сигнала Um(i), i=1,2,…….m.
i
Um(i)
1
1
2
0,75
3
0,5
4
0,2
5
0,1
Среднеквадратичное значение помехи SQE = 0,01.
Длительность интервала (количество отсчетов сигнала) настройки М = 1000.
Частота дискретизации прогнозируемого процесса Fd = 500 кГц.
Время (интервал) прогнозирования Т = 1.
Длительность интервала проверки качества прогнозирования L = 1000.
Выполнение
1) Формирование информативного сигнала
Чтобы вычислить реализацию случайного информативного сигнала нужно
вычислить амплитуды гармоник случайной реализации сигнала и их фазы.
Код для вычисления амплитуды и фазы каждой из пяти гармоник случайным
образом:
Массив отсчетов информативного сигнала S(k) (k=1,2,….M) вычисляется по
формуле
m
S (k )   A(i ) * Cos[2f i t k  ph(i )]
i 1
где
t k  k * Td
.
Код:
Массив отсчетов наблюдаемого процесса вычисляется как X(k) = S(k) + E(k), где
E(k) – случайная величина с математическим ожиданием равным нулю и дисперсией
DE = SQE^2.
Код:
Сформированный сигнал имеет следующий вид:
На графике зашумленный сигнал X(k) слабо отличается от истинного S(k), т.к.
среднеквадратичная помеха очень мала.
После того, как сформирован информативный сигнал, можно переходить к
реализации алгоритма прогнозирования.
2) Реализация алгоритма прогнозирования и построение прогнозирующего
значения сигнала
Для прогнозирующего адаптивного фильтра LMS итерационный алгоритм
настройки коэффициентов W представляется в виде:
𝐸𝑌(𝑘) = 𝑋(𝑘) − 𝑌(𝑘 − 𝑇)
𝑊𝑗 (𝑘 + 1) = 𝑊𝑗 (𝑘) + 𝜇 ∗ 𝐸𝑌 ∗ 𝑋(𝑘 − 𝑗),
̅̅̅̅̅
̅̅̅̅̅̅
𝑗 = 0,
𝑁, 𝑘 = 𝑁,
𝑀
𝑁
̅̅̅̅̅̅
𝑌(𝑘) = ∑ 𝑊𝑗 (𝑘) ∗ 𝑋(𝑘 − 𝑗), 𝑘 = 𝑁,
𝑀
𝑗=0
В методе LMS прогнозирование и настройка вектора W производятся
одновременно в каждый момент дискретного времени k. Параметр настройки μ
подбирается экспериментально при моделировании прогнозирующего фильтра LMS.
При большом значении μ нарушается устойчивость настройки (коэффициенты W
устремляются в бесконечность). При малом значении μ падает скорость настройки.
Поэтому находится значение μ (порядка 0,01 – 0,04), при котором сохраняется
устойчивость и скорость настойки будет достаточно большой. В программе
коэффициент настройки был выбран равным 0,04.
Время настройки фильтра LMS должно составлять порядка нескольких сотен
тысяч отсчетов сигнала и время моделирования должно быть порядка Е5 - Е6 (100 000
- 1 000 000). В программе время моделирования выбрано равным М (все исходные
данные представлены в начале отчета).
Код:
Отобразим на графике первые 250 отсчетов прогнозируемого значения Y:
Оценив график можно сделать следующий вывод: прогнозируемое значение
сильно расходится с идеальным, это объясняется тем, что идет настройка фильтра и
как следствие, значения фильтра прогнозирования ещё не сошлись к нужному
значению.
Теперь отобразим последние 250 отсчетов прогнозируемого значения Y:
Из графика видно, что значения прогнозируемого фильтра сошлись к нужному
значению, в результате чего мы можем наблюдать совпадения прогнозируемого
значения с идеальным значением.
Настраиваемые значения вектора параметров фильтра W(0), W(l), W(2), W(R)
выводятся с некоторым коэффициентом децимации Kd в пределах 100 - 1000, т.е. из
Kd значений вектора W(k) выводится одно. Было взято значение Kd=100. График
настройки фильтра представлен ниже.
Настройка параметров фильтра LMS W(0), W(l), ... W(N)
Из графика видно, что каждые Kd отсчетов значения фильтра сходятся к
оптимальному значению. Проанализировав график, видим, что устойчивость
начинается чуть середины графика.
На основе полученных значений Y(k-T) и S(k) вычисляется ошибка
прогнозирования значения S(k) dY(k) == Y(k-T) - S(k).
Отобразим на графике первые 250 отсчетов ошибки прогнозирования dY:
А также последние несколько сотен отсчетов ошибки прогнозирования dY;
Из графиков видно, что по мере настройки прогнозируемого фильтра, значения
ошибки прогнозирования уменьшаются, и на последних отсчетах настройки
ошибка прогнозирования сводится к минимуму и составляет 0.04.
После того как рассчитана ошибка прогнозирования, необходимо определить
значение текущей оценки SQdYKd(k) среднеквадратичной погрешности
прогнозирования на текущем интервале Kd, рассчитывается по следующей
формуле:
SQdYKd (k ) 
1
Kd
Kd 1
 (dY (k  i))
2
i 0
Код:
Отобразим график для SQdYKd(k):
Оценив график, можно сказать, что среднеквадратичная ошибка сводится к
значению, равному примерно 0,05.
Вывод:
Достоинством алгоритма LMS для настройки дискретного прогнозирующего
фильтра является простота реализации и относительно не высокая трудоёмкость. К
основным недостаткам данного алгоритма можно отнести длительное время
настройки фильтра, значение которого в зависимости от коэффициента ц составляет
100-300 х 10 отсчетов.
Download