Скачиваний:
39
Добавлен:
22.02.2014
Размер:
116.74 Кб
Скачать

5.3.3. Разработка программного модуля «Идентификация»

Программная реализация модуля представлена в виде класса IDN, заголовок которого приведен ниже:

class Idn

{

float W1,W2,da,das,k1,k2,h1,h2,st,ss,t1,B;

public:

float A1,A2,Q1,Q2,TK,nf;

float TO,KO,HO,TO2,KO2,HO2;

void init();

void Compute(float,float,float ,float ,float,float,float);

};

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

Таблица 3. Переменные класса IDN

1

W1,W2

2

da,das

3

k1,k2

4

h1,h2

5

st

6

ss

7

t1

8

B

5.3.4. Разработка программного модуля объекта «Заграждающий фильтр»

Программная реализация модуля представлена в виде класса Filter, заголовок которого приведен ниже:

class Filter

{

double GF,JF,IW,HF;

public:

double AF,BF,CF;

double DF;

void init(double, double);

void KZFilter(double, double);

void ZFilter(double, double &);

};

Соответствие переменным, используемым при разработке схемы алгоритма заграждающего фильтра, приведено в таблице 4

Таблица 4. Переменные класса Filter

1

AF,BF,CF

Коэффициенты а, в, с фильтра

2

DF

Добротность фильтра

3

HF

(j-2) сигнал на выходе фильтра

4

IW

(j-1) сигнал на входе заграждающего фильтра

5

GF

(j-1) сигнал на выходе заграждающего фильтра

6

JF

(j-1) сигнал на входе заграждающего фильтра

7

XF

j сигнал на входе заграждающего фильтра

В класс Filter входят следующие функции:

  1. init - функция инициализации переменных. Переменным, описанным в данном классе присваивается первоначальное значение, которое в последствии может быть изменено.

  2. KZFilter - функция, с помощью которой вычисляются коэффициенты а, b, c заграждающего фильтра.

  3. ZFilter - функция, которая содержит в себе уравнение динамики заграждающего фильтра в координатах вход - выход, преобразует входную величину, поступающую с выхода ПИ - регулятора, в выходную величину, которая является частью управляющего сигнала, поступающего на объект управления.

5.3.5. Разработка программного модуля объекта «Синхронный детектор»

Программная реализация модуля представлена в виде класса SyncDetector, заголовок которого приведен ниже:

class SyncDetector

{

double TS1,WS1;

double MS,QS;

double M1,M2,M3,M4,Q1,Q2,Q3,Q4;

public:

int NY;

double M,Q,DM,DQ,DMS,DQS;

int S1;

int KCC;

BOOL flag;

void init(double, int);

void Compute(Generator &, double, double, double);

};

Соответствие переменным, используемым при разработке схемы алгоритма синхронного детектора, приведено в таблице 5.

Таблица 4. Переменные класса SyncDetector

1

КСС

Число циклов усреднения

2

NY

Число периодов усреднения

3

ТХ

Синусная составляющая

4

WY

Косинусная составляющая

5

МТ

Текущее значение амплитуды АТ(j)

6

QT

Текущее значение фазы jТ(j)

7

DM

Приращение амплитуды на j шаге

8

DQ

Приращение фазы на j шаге

9

M1, M2, M3, M4

Переменные, которые используются при применении метода «скользящего среднего» (для определения текущей амплитуды).

10

Q1 ,Q2,

Q3, Q4

Переменные, которые используются при применении метода «скользящего среднего» (для определения текущей фазы).

В класс SyncDetector входят следующие функции:

  1. init - функция инициализации переменных. Переменным, описанным в данном классе присваивается первоначальное значение, которое в последствии может быть изменено.

  2. Compute - функция, построенная на основе алгоритма синхронного детектора.

Соседние файлы в папке Лабораторный комплекс