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

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

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

а 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

Алгоритм ведет себя