Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать неотразимый комплимент Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?

Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Практическое занятие 13





Корреляционный анализ данных

Цель занятия

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

Сведения о методе

Одним из методов, применяемых для контроля состояния силовых трансформаторов (СТ), является метод низковольтных импульсов (НВИ) (другое название метода - метод частотного анализа).

Алгоритм диагностики по этому методу состоит из следующих этапов:

1. На обмотку СТ подаётся низковольтный импульс длительностью порядка 1 мкс и напряжением 100 ÷ 300 В. Прямые схемы измерений амплитудно–частотных характеристик (АЧХ) СТ с обмотками типа Y/Yн методом НВИ показаны на рис. 13.1;

Рис. 13.1. Прямые схемы измерений СТ по методу НВИ. 1 – генератор прямоугольных импульсов, 2 – осциллограф с платой АЦП

 

2. В обмотке СТ возникает переходной процесс, который записывается в цифровом виде в память компьютера (рис. 13.2);

Рис. 13.2. Переходной процесс в обмотке СТ после подачи запускающего импульса (ЗИ) с параметрами пункта 1 алгоритма метода

3. Выполняется Фурье преобразование переходного процесса (функция от времени U = f(t)) в передаточную функцию, зависящую от частоты U = f(w), представленную на рис. 13.3.

Рис. 13.3. Передаточные функции трансформатора ТСЗИ-2,5

4. Полученная передаточная функция сравнивается с эталонной передаточной функцией этого исправного СТ. Эталонная функция снимается на заводе изготовителе СТ и должна прикладываться к паспорту СТ, вместе с другими его характеристиками. При отсутствии такой эталонной функции за эталонную считается передаточная функция СТ непосредственно после ремонта или исправного СТ, не подвергавшегося воздействию токов короткого замыкания (КЗ). Сравнение проводится разными методами, одним из которых является вычисление интегрального коэффициента корреляции, т.е. степень сходства двух графиков оценивается с помощью скалярной величины. Коэффициент корреляции kr рассчитывается по формуле:



, (13.1)

где xi – значение ординаты i-й точки первой кривой; – среднее арифметическое всех значений ординат первой кривой; yi – значение ординаты i-й точки второй кривой; – среднее арифметическое всех значений ординат второй кривой.

5. Выдаётся заключение о дальнейшей работоспособности (при kr ³ 0.96) или не работоспособности (при kr < 0.96) СТ.

Задание 1

ЗапуститеДельфи. Создайте заголовок формы «Определение коэффициента корреляции». Сохраните программу в папке практика 13. Проверьте число сохранённых файлов (должно быть не менее 6).

Положите на форму компонент Panel, удалите её заголовок и измените цвет на clSkyBlue.

Положите на панель следующие компоненты: а) 2 кнопки запуска типа Button и измените их заголовки на «Старт» и «График»; б) 1 компонент LabeledEdit из дополнительной палитры компонентов и измените его заголовок на «коэффициент корреляции». Измените размеры панели так, чтобы компоненты занимали большую часть площади панели, а саму панель с компонентами переместите в верхний левый угол формы. Положите на форму под панелью отладочное поле вывода Memo, выровняйте его по ширине с панелью, измените вертикальный размер до края формы и вставьте линейки прокрутки. Положите на форму компонент OpenDialog из палитры компонентов Dialogs.

Положите на форму справа от панели компонент Chart из дополнительного набора и измените его размер так, чтобы он занимал всю оставшуюся часть формы. Подготовьте компонент Chart к выводу трёх графиков.

Задание 2

В конце раздела описания типов и перед разделом описания глобальных переменных (var Form1: TForm1;) опишите одномерный массив из 200 переменных типа real:

type massiv1 = array[1..200] of Real;.

В разделе описания глобальных переменных (после описания Form1: TForm1;) опишите 4 переменные типа massiv1: w, k1, k2, k3: massiv1; целочисленную переменную Nw (число выборок после преобразования Фурье).

Двойным щелчком на кнопке «График» создайте заготовку процедуры. В разделе описания переменных опишите целочисленную переменную I и переменную типа текстового файла f1:TextFile;.

Организуйте присвоение текстовому файлу f1 имени из диалогового окна: if dlgOpen1.Execute then AssignFile(f1,dlgOpen1.FileName);.

Откройте файл для чтения и закройте его:

Reset(f1);

CloseFile(f1);

Между двумя этими командами вставьте пролистывание первой строки файла данных: Readln(f1); и создайте цикл чтения с числом строк 165:

for i:=0 to 165 do

begin

end;

В тело цикла вставьте команду чтения данных:

Readln(f1,w[i],k1[i],k2[i],k3[i]);

И вывод полученных данных на график

chart2.Series[0].AddXY(w[i], k1[i]);

chart2.Series[1].AddXY(w[i], k2[i]);

chart2.Series[2].AddXY(w[i], k3[i]);.

Запустите программу и убедитесь, что графики строятся при чтении данных из различных текстовых файлов. Чтобы графики от разных файлов не накладывались, перед циклом вывода поставьте команды очистки соответствующих графиков (for i:=0 to 2 do chart2.Series[i].clear;).



Задание 3

Создайте заготовку функции вычисления коэффициента корреляции в соответствии с формулой (13.1):

function FactorToСorrelations(x, y: massiv1; m: Integer): Real;

begin

end;{function FactorToСorrelations}

В разделе описания переменных функции опишите одну целочисленную переменную цикла I и переменные с плавающей запятой: xmed, ymed, sumx, sumy, sumxy, sumdx2, sumdy2.

В теле функции обнулите переменные sumx, sumy, sumxy, sumdx2, sumdy2 , на которых будет накапливаться соответствующие значения при суммировании.

Создайте цикл для расчёта средних значений:

for i:=1 to m do

begin

sumx:=sumx+x[i];

sumy:=sumy+y[i];

end;.

Переменная sumx (sumy) была равна нулю до входа в цикл, а после выхода из цикла станет равной сумме всех значений x[i] (y[i]). Для вычисления среднего значения ( ) нужно сумму разделить на количество чисел:

xmed:=sumx/m; { }

ymed:=sumy/m; { }

Для вычисления коэффициента корреляции нужно найти суммы с участием среднего значения (13.1). Создайте цикл нахождения нужных сумм:

for i:=1 to m do

begin

sumxy:=sumxy+(x[i]-xmed)*(y[i] - ymed); { }

sumdx2:=sumdx2+sqr(x[i] - xmed);{ }

sumdy2:=sumdy2+sqr(y[i] - ymed); { }

end;

и вычислите коэффициент по формуле (13.1):

Result:=sumxy/sqrt(sumdx2*sumdy2);.

Задание 4

Двойным щелчком на кнопке «Старт» создайте заготовку процедуры.

В разделе описания переменных функции опишите 3 переменные с плавающей запятой kcor12, kcor13, kcor23.

В тело цикла вставьте команды вычисления коэффициента корреляции и вывод его в поле мемо:

kcor12:= FactorToСorrelations(k1, k2,165).

Вопросы для самопроверки

1. Объясните алгоритм диагностики состояния обмоток силовых трансформаторов (СТ) методом низковольтных импульсов (МНИ)?

2. Какова должна быть форма зондирующего импульса в МНИ?

3. Чему равна длительность зондирующего импульса в МНИ?

4. Какова должна быть амплитуда зондирующего импульса в МНИ?

5. Что измеряется измерительной системой в МНИ?

6. Как осуществляется преобразование функции, зависящей от времени в функцию, зависящую от частоты?

7. Что такое передаточная функция обмотки СТ?

8. Какие различия между передаточной функцией и коэффициентом трансформации СТ?

9. Что такое коэффициент корреляции двух функций?

10. Для чего нужно рассчитывать коэффициент корреляции двух функций?

11. Как рассчитать коэффициент корреляции двух функций?

11. Как рассчитать среднее значение функции y = f(x) на интервале a < x < b?

12. В какой части кода программы следует описывать глобальные типы переменных?

13. В какой части кода программы следует описывать локальные типы переменных?

14. В чем состоит различие между глобальными и локальными типами переменных?

15. Что обозначает следующая строка в разделе interfase кода программы: type massiv1 = array[1..200] of Real;?

16. Как создать команду перехода на следующую строку файла, открытого для чтения, без чтения информации текущей строки?

17. Как построить графики функций, если данные разных графиков находятся в разных файлах?

18. Как записать цикл чтения данных из файла с пятой строки файла до последней строки, если число строк в файле неизвестно?

19. Как определить число строк в файле, если оно заранее не известно?

20. Можно ли построить график функции, если данные о значениях и аргументах функции находятся в файле неизвестной длины (с неизвестным числом строк)?

21. Как построить график функции, если данные о значениях и аргументах функции находятся в файле неизвестной длины (с неизвестным числом строк)?

22. Как создать заготовку новой функции?

23. В каких частях программного кода можно создавать заготовки новой функции?

24. В какой части программного кода нужно создать заготовку новой функции, чтобы её можно было вызывать из любой процедуры программы?

25. В какой части программного кода нужно создать заготовку новой функции, чтобы её можно было вызывать только из одной процедуры программы?

26. Чем функция отличается от процедуры?

27. Чем различаются формальные и фактические параметры функции?

28. Можно ли переменную a, описанную как одномерный массив из 10 переменных типа real использовать в качестве формальной переменной функции?

29. Можно ли переменную a, описанную как одномерный массив из 10 переменных типа real использовать в качестве фактической переменной функции?

30. Как и в каком месте программы должен быть описан одномерный массив из 10 переменных типа real, чтобы массив можно было использовать в качестве фактической переменной функции?

 






Date: 2016-05-16; view: 169; Нарушение авторских прав

mydocx.ru - 2015-2020 year. (0.014 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию