Модификация метода наименьших квадратов Прони
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
плитуда,
- частота,
jk - начальная фаза,
ak - коэффициент затухания.
Подставляя значения от единицы до четырёх, получаем:
Вычисление спектра методом Прони для заданного сигнала
этап: составляем и решаем систему уравнений (2.7) для p = 2:
,
из которой находим коэффициенты a1 и a2:
.
этап: найденные значения a1, a2 подставляем в уравнение (2.8)
, где .
,
откуда находим комплексные корни z1 и z2:
.
.
Используя найденные значения, можем найти частоту и коэффициент затухания по формулам (2.10):
;
этап: найденные значения z1, z2 подставляем в систему линейных уравнений
,
решая которую находим h1 и h2
этап: учитывая выражение (2.10), найдем оставшиеся параметры модели:
;
Запишем сигнал, используя полученные результаты:
что соответствует нашему исходному сигналу с точностью до седьмого знака.
2.3 Метод наименьших квадратов Прони
Для работы с реальными сигналами используют метод наименьших квадратов [9,11], имеющий ряд преимуществ перед исходным:
количество комплексных экспонент p в выражении (2.1) меньше или равно половине отсчетов в сигнале (p N / 2);
данный метод минимизирует ошибку аппроксимации.
Выведем формулы для нахождения параметров методом наименьших квадратов Прони.
Так как p N / 2, то система уравнений (2.4) будет выглядеть по-другому:
(2.11)
(знак равенства поставлен условно, так как предполагается, что модель имеет ошибку аппроксимации, в дальнейшем мы это учтем).
Далее над системой уравнений (3.11) проделаем следующие действия:
-ю строку системы умножим на a0, 2-ю - на a1, 3-ю - на a2, и так до (p+1) строки. Сложив эти строки, получим первую строку новой системы уравнений.
-ю строку системы умножим на a0, 3-ю - на a1, 4-ю - на a2, и так до (p+1) строки. Сложив эти строки, получим вторую строку новой системы уравнений.
И так далее до p-ой строки, т.е. новая система уравнений будет выглядеть следующим образом:
Коэффициенты a0, a1, a2,…, ap необходимо выбрать так, чтобы выполнялось выражение (2.5) и a0 = 1, т.е. левая часть в каждой строке системы уравнений равна нулю, и систему уравнений можно переписать:
(2.12)
т.е. получилась система из (N-p) уравнений, аналогичная системе (2.6), состоящей из p уравнений.
Учитывая, что аппроксимация сигнала моделью (2.1) имеет погрешность, перепишем систему уравнений (2.12) с учетом ошибок:
,
Параметры am будем выбирать так, чтобы сумма квадратов ошибок
была минимальна. Для этого необходимо взять производную от r по каждому параметру am. и полученное выражение приравнять к нулю. Проделав это, получается система уравнений:
которую можно записать по другому
(2.13)
Решая эту систему уравнений, находим коэффициенты a0, a1, a2,…, ap.
Найденные значения a1, a2, a3,…, ap подставляем в уравнение (2.8), из которого находим z1, z2,…, zp.
Чтобы найти h1, h2,…, hp , изменим выражение (2.11) чтобы учесть ошибки аппроксимации:
где e1, e2,…, ep ошибки аппроксимации, которые необходимо минимизировать. Для этого необходимо взять производную от по каждому параметру hm, и полученное выражение приравнять к нулю. Получится новая система уравнений:
(2.14)
из которой можно найти h1, h2, …, hp.
Используя формулу суммы геометрической прогрессии, перепишем последнее выражение:
,(2.15)
где
Алгоритм поиска параметров модели Прони по методу наименьших квадратов состоит из четырех этапов:
этап: составляется и решается система уравнений (2.13), из которой находятся коэффициенты a1, a2, a3,…, ap;
этап: найденные значения a1, a2, a3,…, ap подставляем в уравнение (2.8), из которого находим z1, z2,…, zp;
этап: найденные значения z1, z2,…, zp подставляем в систему линейных уравнений (2.15), решая которую находим h1, h2,…, h p;
этап: из выражений (2.10) найдем параметры модели: Ak, fk, jk, ak.
Блок-схема программы, реализующей алгоритм поиска параметров модели Прони по методу наименьших квадратов, представлен на рисунках 11-13.
Рис. 11 - Программа, вычисляющая спектр по методу наименьших квадратов Прони
Рис. 12 - Подпрограмма, вычисляющая
Рис. 13 - Подпрограмма, вычисляющая амплитуды и фазы, решая систему линейных уравнений (2.14)
3. Модификация метода наименьших квадратов Прони для восстановления поврежденных участков сигнала
.1 Описание алгоритма
За основу алгоритма взят метод наименьших квадратов (МНК) Прони [9].
Берем не непрерывный участок сигнала как в МНК Прони, а участок, у которого есть потерянные данные.
Суть метода состоит в следующем: дан сигнал хi; i=0……n1, n2…N-1. У нас есть два отрезка сигнала: начальные отсчеты и конечные. В качестве модели мы принимаем модель алгоритма Прони.- последний отсчет перед поврежденным участком сигнала,- первый отсчет после поврежденного участка сигнала,- общее количество отсчетов сигнала,
, i = 0...n1,n2, …N-1 (3.1)
, (3.2)
. (3.3)
Для всех n составим систему уравнений
(3.4)
При этом должно выполняться условия
(n1+1+N-n2)/2
n1p-1n2 p
Для решения этой системы введем дополнительные коэффициенты a0, a1,,a2,…, ap, такие, что a0 = 1 и
,(3.5)
спектр сигнал прони экстраполяция
для k = 1, 2,…, p.
Далее над системой уравнений (3.4) проделаем следующие действия:
-ю строку системы умножим на ap, 2-ю - н