Модификация метода наименьших квадратов Прони

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

плитуда,

- частота,

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-ю - н