Модификация метода наименьших квадратов Прони
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
а ap-1, 3-ю - на a p-2, и так до (p+1) строки. Сложив эти строки, получим первую строку новой системы уравнений. Если до n1 строки есть еще уравнения, вторую строку умножаем на аp и т.д. получая вторую строку новой системы.
-я часть системы: 1-ю строку умножим на ap, 3-ю - на ap-1, 4-ю - на ap-2, и так до (p+1) строки. Сложив эти строки, получим вторую строку новой системы уравнений.
И так далее.
Проделав все это у нас получится новая система уравнений, в которой учитывая условие (3.5), левые части равны нулю. Система условно разделена на 2 части
(3.6)
или учитывая, что a0 = 1, получим систему линейных уравнений, где неизвестными будут a1, a2, a3,…, ap:
(3.7)
Решая систему уравнений, находим коэффициенты a1,a2,a3 и т.д.
подставим в выражение (3.5), из которого найдем zk, т.е. необходимо решить следующее уравнение n-ого порядка:
, (3.8)
где a0 = 1.
Далее, взяв строки системы уравнений (3.4) и подставив в нее корни уравнения (3.8) z1, z2,…, zp , получим еще одну систему линейных уравнений:
(3.9)
из которой найдем значения h1, h2,…, h p
Найдем (3.8), решаем (3.9) и получаем: фазы, амплитуду, частоту, зная амплитуду, частоту и фазы мы можем найти все точки, в том числе и промежуточные, потерянные.
Зная частоту, амплитуду, фазу и коэффициент затухание мы легко сможем восстановить недостающий участок сигнала.
4. Тестирование алгоритма
.1 Реализация алгоритма восстановления сигнала в среде программирования LabVIEW
Данный алгоритм реализован как виртуальный прибор (ВП) в среде программирования LabVIEW. На рисунке 15 приведен исходный текст программы, реализующей модификацию МНК Прони для восстановления отрезка сигнала, а на рисунке 14 приведен пример ее работы.
В самом начале работы необходимо задать параметры исследуемого сигнала (см. рис.16: амплитуда сигнала A, частота f, фаза ?, коэффициент затухания ?) либо вручную, либо загрузить эти данные из файла (с разделителем - табуляция).
Далее можно указать параметры метода Прони (кол-во экспоненциальных компонент), уровень шума.
Далее после введения всех необходимых входных данных запускаем программу и на лицевой панели отображается (рис.14): таблица с найденными параметрами сигнала и график, на котором можно визуально увидеть правильность полученных данных (сравнив графики входного сигнала и график сигнала, определенного методом наименьших квадратов Прони).
Рис. 14 - Программа, реализующая модификацию МНК Прони
Рис. 15 - Блок диаграмм программы, реализующей модификацию МНК Прони
Рис. 16
4.2 Исследования алгоритма на сигналах смоделированных на компьютере
В качестве примера рассмотрим сигнал, записанный выражением
, (4.1)
состоящий из одной частотной компоненты с цифровой частотой 0,01; амплитудой А=1, нулевой фазой и без затухания (?=0, ?=0); вырезка отсчетов 200 - 700. На отрезке длиной 1000 отсчетов размещается 10 периодов сигнала, что видно из рисунка 17.
Сигнал аппроксимируется пятью комплексными экспонентами (P=5).
Рис. 17 - N=1000, n1=200, n2=700, P=5 ?= 5,16247E-27
Из рисунка 17 можно видеть, что удаленные данные были восстановлены с относительной ошибкой аппроксимации ?= 5,16247E-27.
Проверим модификацию МНКП на чувствительность к шуму. Для этого добавим к сигналу (4.1) белый гауссов шум с СКО 0,1. Осциллограмма такого сигнала представлена на рисунке 18.
Рис. 18 - N=1000, n1=200, n2=700, P=50 ?= 0,0156033
Для восстановления сигнала с шумом потребовалось увеличить количество комплексных экспонент для аппроксимации до 50. Относительная ошибка аппроксимации удаленного участка ?= 0,015, что соизмеримо с дисперсией шума
Добавим к сигналу (4.1) белый гауссов шум с СКО 0,2. Осциллограмма такого сигнала представлена на рисунке 19. Относительная ошибка аппроксимации удаленного участка ?= 0,05, что соизмеримо с дисперсией шума.
Рис. 19 - N=1000, n1=200, n2=700, P=50 ?=0,049786
При увеличении СКО шума до 0,5 для восстановления сигнала требуется увеличить количество комплексных экспонент для аппроксимации до 100. Относительная ошибка аппроксимации удаленного участка ?=0,25, что соизмеримо с дисперсией шума. График представлен на рис. 20.
Рис. 20 - N=1000, n1=200, n2=700, P=100 ?= 0,242978
Рассмотрим сигнал, записанный выражением
, (4.2)
состоящий из одной частотной компоненты с цифровой частотой 0,123; вырезка отсчетов 20 - 70; количество экспонент P=10 на отрезке длиной 100 отсчетов размещается 12 периода сигнала, что видно из рисунка 21.
Рис. 21 - N=100, n1=20, n2=70, P=10 ?= 2,64346E-29
Добавим к сигналу (4.2) белый гауссов шум с СКО= 0,1.
Состоящий из одной частотной компоненты с цифровой частотой 0,123; вырезка отсчетов 20 - 70; количество экспонент P=30, что видно из рисунка 22.
Рис. 22 - N=100, n1=20, n2=70, P=30 ?= 0,0224372
Относительная ошибка аппроксимации удаленного участка ?=0,022, что соизмеримо с дисперсией шума.
Рассмотрим сигнал, записанный выражением
, (4.2)
состоящий из одной частотной компоненты с цифровой частотой 0,0123; вырезка отсчетов 300 - 800; количество экспонент P=5 , что видно из рисунка 23.
Рис. 23 - N=1000, n1=300, n2=800, P=5 ?= 2,24513E-26
Добавим к сигналу (4.2) белый гауссов шум с СКО= 0,1.
Состоящий из одной частотной компоненты с цифровой частотой 0,123; вырезка отсчетов 20 - 70; количество экспонент P=30, что видно из рисунка 24.
Рис. 24 - N=1000, n1=300, n2=800, P=30 ?= 0,0179442
Алгоритм ведет себя