Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч. пособие. ПТ.Сахаров, Андрианов.docx
Скачиваний:
13
Добавлен:
01.04.2025
Размер:
3.31 Mб
Скачать
    1. 1.3. Оценка параметров периодических сигналов по экспериментальным данным

При малом уровне помех метод наименьших квадратов может эффективно использоваться для разложения периодических функций в ряд Фурье, а также для оценивания коэффициентов ортогональных полиномов и различных ортогональных функций, в частности, полиномов Чебышева, Лежандра и др.

Ряды Фурье широко используются в настоящее время для решения важных практических задач. Например, в электроэнергетических системах наиболее эффективно передавать энергию при номинальных значениях частоты и напряжения. Однако в реальных условиях в энергосистемах возникают искажения синусоидальной формы кривых тока и напряжения. По­этому необходимо отклонения форм кривых тока и напряжения от правильной синусоидальной формы оценивать по гармоническим составляю­щим периодических сигналов.

Предположим, что в процессе обработки периодического сигнала получены значения напряжения через каждые 15° в контрольных точках. Измерения произведены с точностью, определяемой лишь одним знаком после запятой. Полученные данные в интервале изменения угла alf= 180° сведены в таблицу 1.2, содержащую 13 экспериментальныхточек.

Таблица 1.2.

аlf(i)

(град)

0

15

30

45

60

75

90

105

120

135

150

165

180

u(i)(B)

12.7

33.8

52.0

60.9

57.8

45.7

31.1

20.1

15.6

15.1

13.0

4.2

-12.7

B первой строке таблицы приведен угол alf(i) (в градусах), во вто­рой - напряжение u(i) (в вольтах), i = 0, . . . , 12 .

Требуется по данным таблицы 1.2. определить амплитуды и фазы первых трех гармони периодического сигнала

(1.22)

где 0 - частота первой гармоники.

Таким образом, требуется оценить амплитуды и фазы

U1m , Q1 ,

U2m , Q2 ,

U3m , Q3 .

Разделив период Tна 24 равных интервала, мы получим . Так как , то каждому будет соответствовать угол (в градусах).

.

Для нахождения угла в i-ой точке, где i= 0 24, можно воспользо­ваться простым соотношением

i = 0, …, 12,

на основании которого заполнена первая строка таблицы 1.2.

Из данных второй строки образуем вектор выхода

y1 = [12.7 33.8 52.0 … 4.2 -12.7]T

размерности (13Ч1).

Чтобы придать уравнению (1.22) вид модели (1.19), воспользуемся тождественным преобразованием

(1.23)

Введем обозначения

Эти величины в уравнении (1.23) являются постоянными. u(0t) является скалярной величиной. Она может быть получена в виде произве­дения двух векторов: вектор-строки

[sin0tcos0tsin 20tcos20tsin 30tcos30t]

и вектор-столбца х, образованного из элементов

x = [x(1) x(2) x(3) x(4) x(5) x(6)]T , т.е

u(0 t) =[sin0 t cos 0 t sin 20 t cos20 t sin 30 t cos30 t]

Вектор x является искомым вектором, содержащим шесть неизвест­ных коэффициентов. Для их оценивания, согласно (1.10), требуется соста­вить число уравнений т > 6. Мы выбрали т = 13 и привели эти данные в таблице 1.2.

C помощью вектор-строки приведенного выше уравнения сформиру­ем матрицу Hразмерности (13Ч6), где каждая i-ая строка должна содер­жать значения элементов, соответствующие углу alf(i), приведенному в i- ой ячейке первой строки таблицы. B среде MatLABэта операция выполня­ется в режиме прямых вычислений

alf=0:15:180;

bet = alf.*(pi/180);

H = [sin(bet)' cos(bet)' sin(2*bet)' cos(2*bet)'

sin(3*bet)' cos(3*bet)']

H =

0 1.0000 0 1.0000 0 1.0000

0.2588 0.9659 0.5000 0.8660 0.7071 0.7071

0.5000 0.8660 0.8660 0.5000 1.0000 0.0000

0.7071 0.7071 1.0000 0.0000 0.7071 -0.7071

0.8660 0.5000 0.8660 -0.5000 0.0000 -1.0000

0.9659 0.2588 0.5000 -0.8660 -0.7071 -0.7071

1.0000 0.0000 0.0000 -1.0000 -1.0000 0.0000

0.9659 -0.2588 -0.5000 -0.8660 -0.7071 0.7071

0.8660 -0.5000 -0.8660 -0.5000 0.0000 1.0000

0.7071 -0.7071 -1.0000 0.0000 0.7071 0.7071

0.5000 -0.8660 -0.8660 0.5000 1.0000 0.0000

0.2588 -0.9659 -0.5000 0.8660 0.7071 -0.7071

0.0000 -1.0000 0.0000 1.0000 0.0000 -1.0000

>>

Можно убедиться, что H имеет полный ранг: rank(Н)=6. Поэтому существует ее обратная матрица . Следовательно, для оценки x можно использовать уравнение (1.15).

Используя выражения для x(l)и x(2), определим амплитуду первой гармоники U1mи фазу Q1

Угол Q1(в градусах) найдем с помощью уравнения

Аналогично определим U2m, Q2, U3mи Q3

Следовательно, напряжение u(0t), в соответствии с (1.22), может быть записано с помощью уравнения

(1.24)

при условии, что 0t имеет размерность "градусы".

B полученном уравнении (1.24) амплитуда напряжения первой гар­моники более чем на два порядка превышает амплитуду второй гармоники. Поэтому при выполнении инженерных расчетов второй гармоникой можно пренебречь, а в величинах аргументов первой и третьей гармоник - учесть лишь десятые доли градуса. Тогда получим

(1.25)

Все приведенные выше расчеты в среде MaiLABмогут быть выпол­нены в режиме прямых вычислений, без составления машинных программ. B случае автоматизации вычислительного процесса необходимо иметь в виду, что в составе вектора x* могут быть элементы равные нулю. Если, например, (3)и (4)равны нулю, то при получении U2m=0 из цикладолжна исключаться операция расчета Q2, поскольку будет представлять собой неопределенность типа 0/0, и последующие вычисления на ПЭВМ прекратятся.

Чтобы оценить погрешность вычислений, вызванную ограничением разрядов чисел, содержащихся во второй строке таблицы 1.2, возвратим­ся к уравнению (1.26) — модели процесса, которая в действительности ис­пользована для получения экспериментальных данных и составления таблицы:

(1.26)

Видно, что вторая гармоника в составе сигнала отсутствовала. Повы­сим точность измерений и представим вектор уследующими данными:

y = [l2.6937 33.7823 52.0270 60.8661 57.8116 45.7234 ...

31.0608 20.1415 15.5952 15.0802 12.9958 4.1658 -12.6937]Т

B этом случае у условно можно считать вектором детерминирован­ных сигналов.

Чтобы убедиться практически в отсутствии шума в элементах у, оце­ним вновь искомые величины с помощью метода наименьших квадратов. B результате получим

(1.27)

Используя элементы вектора-столбца (1.27) для оценки амплитуд и фаз гармоник, будем иметь

Таким образом, оценочные значения практически совпадают с при­нятыми исходными данными.

Теперь определим вектор шума z, представляющий собой разность между у и у1:

z = yy1 = [-0.0063 -0.0177 0.0270 -0.0339 0.0116 0.0234 ...

-0.0392 0.0415 -0.0048 -0.0198 -0.0042 -0.0342 0.0063]T

Для оценки zиспользуем критерий (1.13)

Аналогичный результат получим, если воспользуемся эвклидовой нормой согласно правилу (1.18). Вычисления в среде MatLABвыполним с помощью оператора

Заметим, что полученные величины Jне характеризуют "качество" моделирования. Адекватность модели и объекта, представленного векто­ром y1, может быть установлена по вектору z1, где

z1 = y1 yм= [-0.0056 0.0166 -0.0271 0.0309 -0.0150 -0.0223 ...

0.0462 -0.0330 0.0660 0.0091 -0.0166 0.0153 -0.0061]Т

Вектор ум, в свою очередь, следует восстановить, используя матрицу H и вектор наилучшей оценки

yм= = [l2.7056 33.7834 52.0271 60.8691 57.8150 45.7223 ...

31.0538 20.1330 15.5934 15.0909 13.0166 4.1847 -12.6939]T

Примеры оценки параметров моделей с помощью МНК

% sah548.m

% Простейшие вычисления в среде MATLAB.

% -1-

% На пружинные весы поочередно устанавливается груз массой x (г).

% Измеряется сжатие пружины в виде данных вектора y (мм).

x=0:100:800;

y=[0 0.09 0.18 0.28 0.37 0.46 0.55 0.65 0.74];

% Оценить параметры модели y=f(x)=b+a*x методом наименьших квадратов.

% Найти вектор погрешностей измерений.Построить график.

H=[ones(9,1) x'];

d=inv(H'*H)*H'*y'

ym=H*d;

[y' ym]

eps=y'-ym;

plot(x,y,'.',x,ym),grid

% -2-

% Применение функций polyfit и polyval для оценки коэффициентов полиномов.

x1=0:0.1:3;

k=size(x1);

y1=2*x1.^3-0.25*x1.^2+1.2*x1-4;

p1=polyfit(x1,y1,1)

p2=polyfit(x1,y1,2)

p3=polyfit(x1,y1,3)

p4=polyfit(x1,y1,4)

z1=polyval(p1,x1);

z2=polyval(p2,x1);

z3=polyval(p3,x1);

plot(x1,y1,x1,z1,x1,z2,x1,z3,'.'),grid

% Решение этой же задачи с помощью МНК:

H1=[x1.^3;x1.^2;x1;ones(1,k(2))]';

d1=inv(H1'*H1)*H1'*y1'

% Сравнение коэффициентов полинома:

[d1 p3']

хххххххххххххххххххххххххххххххххххххххххххххххх

% Файл sah525.m

% См. также файл sah444d.m

% Метод наименьших квадратов и нормальное распределение

% для простой линейной модели: y=a+b*x+eps. В моделях

% множественной регрессии используются ортогональные

% преобразования ( см.файл sah526.m).

x=0:0.1:10;

% Используем модель y=a+b*x+eps,где a=2,b=3, eps-сигнал помехи

% с нормальным распределением.

y1=2+3*x';

y=y1+0.2*randn(101,1);

% Оценка коэффициентов с помощью МНК:

H=[ones(101,1) x'];

a=H\y

ym=H*a;

[y ym]

%===========================================================

% Оценка коэффициентов с помощью ковариационной матрицы

% и дисперсии:

Z=cov(x,y,0)/cov(x,0)

Z1=cov(x,y,1)/cov(x,1)

% "Вырезка" коэффициента b=b1 и b=b2 из матриц Z и Z1:

b1=Z(1,2);

b2=Z1(1,2);

[b1 b2 a(2)]

% Оценка коэффициента am=a(1) модели:

am=(mean(y)-b1*mean(x));

[am a(1)]

%=======================================================

% Оценка минимума критения качества:

% Вектор погрешности моделирования:

epsil1=y-ym;

% Критерий качества:

J=1/2*epsil1'*epsil1

% Эвклидова норма и ее связь с критерием качества:

J1=norm(epsil1)

J2=1/2*J1^2;

% Убеждаемся, что норма J1 ,возведенная в квадрат и поделенная по-

% полам, численно совпадает с критерием оптимальности J:

[J J2]

ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх

Простой файл для оценки параметров модели расходной характеристики

% sah1a.m

% G=f(v)

v=10:2:16;

G=0.03*v.^3.0;

[v;G]

y=log(G);

H=[ones(4,1) log(v')]

x=H\y'

Xm=[exp(x(1));x(2)]

v1=10:0.1:16;

G1=Xm(1)*v1.^Xm(2);

plot(v1,G1,v,G,'*'),grid

ххххххххххххххххххххххххххххххххххххххххххххххх

Применениеполиномовдляаппроксимациихарактеристик