Модификация метода наименьших квадратов Прони
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?стей, присущих сигналу на интервале предыстории .t, за границы этого интервала сводится к задаче адекватного уменьшения ширины пиков в его спектре. Наиболее простым и естественным способом, на наш взгляд, является почленное умножение компонент комплексного спектра на соответствующие точки нормированной огибающей этого же спектра. При этом, как легко увидеть, значение спектра в пике наибольшего значения останется без изменений, а уровень скатов понизится тем больше, чем ниже их исходный уровень по отношению к высоте пика. Конечно, уровень других пиков тоже понизится, но тем меньше, чем менее их уровень будет отличаться от уровня наибольшего пика. Выполняя обратное Фурье-преобразование для модифицированного спектра, получим на временной оси продолжение колебательных закономерностей исходного отрезка (предыстории). Причем продолжение возникает как в будущее, так и в прошлое. Как показывает компьютерное моделирование, положение точек экстремумов на графике прогноза достаточно точно совпадает с координатами соответствующих точек в полной реализации процесса. Аналитическое выражение для последовательности операций этого алгоритма имеет вид:
где Sbase(t) - отрезок с отсчетами предыстории, Sextr(t) - отрезок предыстории, расширенный на удвоенный интервал экстраполяции; 1 . F и F - соответственно операторы обратного и прямого Фурье-преобразования; - масштабирующий множитель, вычисляемый по критерию согласования уровней прогноза и предыстории на границах интервала предыстории. Описанные алгоритмы являются базовыми и в силу прозрачности их физической интерпретации допускают ряд модификаций и обобщение на многомерные случаи, что и позволяет говорить о классе АПГЭ.
Рис. 8 - Сверху - искаженный сигнал, снизу - восстановленный сигнал
Результаты по восстановлению искаженных сигналов в целом положительны. Сравнение с аналогичной программой MP3Doctor показало существенное улучшение качества реставрации дефектов аудио - файлов в виде резких щелчков.
Использование двумерного обобщения алгоритма полигармонической экстраполяции позволяет распространить этот подход и на двумерные сигналы (фотографии).
2. Метод Прони
.1 Исходный подход Прони
Метод Прони [1,9] аппроксимирует последовательность комплексных данных xi моделью, состоящей из p затухающих комплексных экспонент :
,(2.1)
где Ak - амплитуда, fk - частота, jk - начальная фаза, ak - коэффициент затухания и T - период дискретизации сигнала.
Запишем выражение (2.1) в виде:
, n = 1, 2, … 2p
где
, (2.2)
.(2.3)
Для всех n составим систему уравнений:
(2.4)
Для решения этой системы введем дополнительные коэффициенты a0, a1,,a2,…, ap, такие, что a0 = 1 и
,(2.5)
для k = 1, 2,…, p.
Далее над системой уравнений (2.4) проделаем следующие действия:
-ю строку системы умножим на a0, 2-ю - на a1, 3-ю - на a2, и так до (p+1) строки. Сложив эти строки, получим первую строку новой системы уравнений.
-ю строку системы умножим на a0, 3-ю - на a1, 4-ю - на a2, и так до (p+1) строки. Сложив эти строки, получим вторую строку новой системы уравнений.
И так далее до p-ой строки, т.е. новая система уравнений будет выглядеть следующим образом:
Учитывая (2.5), заметим, что левая часть в каждой строке системы уравнений равна нулю, т.е. систему уравнений можно переписать:
(2.6)
или учитывая, что a0 = 1, получим систему линейных уравнений, где неизвестными будут a1, a2, a3,…, ap:
(2.7)
Решив эту систему, найденные значения a1, a2, a3,…, ap подставим в выражение (2.5), из которого найдем zk, т.е. необходимо решить следующее уравнение n-ого порядка:
,(2.8)
где a0 = 1.
Далее, взяв первые p строк системы уравнений (2.4) и подставив в нее корни уравнения (2.8) z1, z2,…, zp , получим еще одну систему линейных уравнений:
(2.9)
из которой найдем значения h1, h2,…, h p
Алгоритм поиска параметров модели Прони по классическому подходу состоит из четырех этапов:
этап: составляется и решается система уравнений (2.7), из которой находятся коэффициенты a1, a2, a3,…, ap;
этап: найденные значения a1, a2, a3,…, ap подставляем в уравнение (2.8), из которого находим z1, z2,…, zp;
этап: найденные значения z1, z2,…, zp подставляем в систему линейных уравнений (2.9), решая которую находим h1, h2,…, h p;
этап: учитывая выражения (2.2) и (2.3), найдем параметры модели:
(2.10)
Описанный алгоритм раскладывает N комплексных отсчетов сигнала на N/2 комплексных затухающих экспоненциальных компонент.
Недостатками являются:
большая погрешность вычисления при N превышающих 200 отсчетов, так как приходится решать уравнение (2.8) 100-го и выше порядка, а также системы из 100 и более линейных уравнений (2.7) и (2.9);
Если сигнал не раскладывается на N/2 комплексных затухающих экспоненциальных компонент, то возникает значительная ошибка аппроксимации.
На рисунке 9 приведен исходный текст программы, реализующей метод Прони, написанной в среде программирования LabVIEW, а на рисунке 10 приведен пример ее работы.
Рис. 9 - Блок диаграмм программы, реализующей метод Прони
Рис. 10 - Программа, реализующая метод Прони
2.2 Пример вычисления спектра методом Прони
Задание сигнала
В качестве примера анализируемого сигнала возьмем четыре отсчета синусоиды, записанной следующим выражением:
,
где
- ам