Нижегородский государственный технический университет им. Р.Е. Алексеева Лабораторная работа №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[2f 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 отсчетов.