НЕЙРОСЕТЕВОЙ ПРЕОБРАЗОВАТЕЛЬ КОДА В ЧАСТОТУ
NEURAL NETWORK NUMBER-TO-FREQUENCY CONVERTER

Изобретение относится к автоматике и вычислительной технике, в частности к устройствам нелинейного преобразования кода в частоту, и может быть использовано в вычислительных и управляющих комплексах в качестве нелинейного преобразователя кода в частоту, совмещающего функцию преобразования формы представления информации с ее математической переработкой по нелинейной зависимости.
i
i
i
Наиболее близким по совокупности признаков и по технической сущности к заявляемому устройству является нейросетевой преобразователь кода в частоту (патент на изобретение РФ №2420804, МПК G06N 99/00, 2009), который обеспечивает формирование выходной частоты, пропорциональной входному коду; содержащий счетчик, дешифратор, память кодов, четыре элемента "И", два элемента "ИЛИ", два элемента задержки, два сумматора, группа цифровых выходов счетчика соединена через дешифратор со входами памяти кодов, выходы памяти кодов соединены через первый и второй элементы "И" с первыми входами первого и второго элементов "ИЛИ" соответственно, вторые входы первого и второго элементов "ИЛИ" соединены через третий и четвертый элементы "И" соответственно с первым входом цифрового кода устройства, второй частотный вход устройства соединен с входом первого элемента "И" и через первый элемент задержки с входом третьего элемента "И", выход первого элемента "ИЛИ" соединен с первым суммирующим входом первого сумматора, выход первого сумматора соединен со вторым входом переноса второго сумматора, выход второго сумматора соединен со входом второго элемента "И" и через второй элемент задержки со входом четвертого элемента "И", выход второго элемента "ИЛИ" соединен с первым входом второго сумматора, выход второго сумматора соединен со входом счетчика, выход переноса которого одновременно является выходом устройства, отличающийся тем, что в преобразователь введены блок памяти весовых коэффициентов и блок обучения, вход данных блока обучения соединен со входом тестовой последовательности, адресный вход блока памяти весовых коэффициентов соединен с шиной SA адреса весовых коэффициентов блока обучения, информационный вход блока памяти весовых коэффициентов соединен с шиной SD данных весовых коэффициентов блока обучения, вход разрешения записи блока памяти весовых коэффициентов соединен с выходом разрешения записи we блока обучения, выходы w1 и w2 блока памяти весовых коэффициентов соединены соответственно со вторыми входами первого и второго сумматоров, задающими режим работы сумматоров (сумматоры могут работать в режимах суммирования и вычитания), выходы v (i=1, 2, …, k) и u (i=1, 2, …, k) блока памяти весовых коэффициентов соединены с третьими входными шинами первого и второго сумматоров, задающими начальное значение, используемое в операциях суммирования и вычитания, выходы s (i=1, 2, …, k) блока памяти весовых коэффициентов соединены со входами памяти кодов.
Недостатками прототипа являются его ограниченные функциональные возможности, а именно схемно-конструктивно не предусмотрены возможность использования в одном цикле преобразования разных функций активации нейронов в сети преобразователя для реализации широкого ряда функциональных зависимостей выходной частоты от входного кода и возможность коррекции мультипликативной составляющей погрешности датчиков, так как в качестве функций активации используются только дробно-рациональные функции с двумя настроечными коэффициентами.
Технический результат предлагаемого изобретения направлен на расширение функциональных возможностей и улучшение способности преобразователя корректировать мультипликативную составляющую погрешности датчиков, а именно на реализацию различных функциональных зависимостей выходной частоты от входного кода, достигаемый за счет использования в одном цикле преобразования разных типов функций активации нейронов в сети преобразователя и за счет введения третьего настроечного коэффициента в дробно-рациональные аппроксимирующие функции. Использование блока выбора функции активации позволяет использовать в одном цикле преобразования разные виды функций активации нейронов в сети преобразователя, выполняющиеся в разные такты преобразования, что позволяет расширить круг воспроизводимых функциональных зависимостей. Использование умножителя позволяет ввести третий настроечный коэффициент в дробно-рациональные аппроксимирующие функции для улучшения способности преобразователя корректировать мультипликативную составляющую погрешности датчиков.
i
i
i
Технический результат достигается тем, что в преобразователь кода в частоту, содержащий счетчик, дешифратор, память кодов, четыре элемента "И", два элемента "ИЛИ", два элемента задержки, два сумматора, блок памяти весовых коэффициентов и блок обучения, вход данных блока обучения соединен со входом тестовой последовательности, адресный вход блока памяти весовых коэффициентов соединен с шиной SA адреса весовых коэффициентов блока обучения, информационный вход блока памяти весовых коэффициентов соединен с шиной SD данных весовых коэффициентов блока обучения, вход разрешения записи блока памяти весовых коэффициентов соединен с выходом разрешения записи we блока обучения, выходы v (i=1, 2, …, k) и u (i=1, 2, …, k) блока памяти весовых коэффициентов соединены с третьими входными шинами первого и второго сумматоров, задающими начальное значение, используемое в операциях суммирования и вычитания, выходы s (i=1, 2, … k) блока памяти весовых коэффициентов соединены с первой группой входов памяти кодов, группа цифровых выходов счетчика соединена через дешифратор со второй группой входов памяти кодов, третий и первый выходы памяти кодов соединены через первый и второй элементы "И" с первыми входами первого и второго элементов "ИЛИ" соответственно, второй вход первого элемента "ИЛИ" соединен через третий элемент "И" с первым входом цифрового кода устройства, второй вход второго элемента "ИЛИ" соединен с выходом четвертого элемента "И", второй частотный вход устройства соединен с входом первого элемента "И" и через первый элемент задержки с входом третьего элемента "И", выход первого элемента "ИЛИ" соединен с первым суммирующим входом первого сумматора, выход первого сумматора соединен со вторым входом переноса второго сумматора, выход второго сумматора соединен со входом второго элемента "И" и через второй элемент задержки со входом четвертого элемента "И", выход второго элемента "ИЛИ" соединен с первым входом второго сумматора, выход второго сумматора соединен со входом счетчика, выход переноса которого одновременно является выходом устройства;
1
2
вводятся умножитель и блок выбора функции активации, входы умножителя соединены с первым входом цифрового кода устройства и со вторым выходом блока памяти кодов, выход умножителя соединен с входом четвертого элемента "И", четвертый выход памяти кодов соединен со входом блока выбора функции активации, выходы w и w блока выбора функции активации соединены соответственно со вторыми входами первого и второго сумматоров, задающими режим работы сумматоров (сумматоры могут работать в режимах суммирования и вычитания).
На фиг.1 представлена структурная схема предлагаемого устройства.
0
x
y
Нейросетевой преобразователь кода в частоту содержит первый сумматор 1, второй сумматор 2, первый элемент "ИЛИ" 3, второй элемент "ИЛИ" 4, первый элемент задержки 5, второй элемент задержки 6, счетчик 7, дешифратор 8, память кодов 9, первый элемент "И" 10, второй элемент "И" 11, третий элемент "И" 12, четвертый элемент "И" 13, вход опорной (эталонной) частоты F 14, вход преобразуемого кода N 15, выход результирующей частоты F 16, блок памяти весовых коэффициентов 17, блок обучения 18, вход тестовой последовательности 19, шину SA 20 адреса весовых коэффициентов блока обучения, шину SD 21 данных весовых коэффициентов блока обучения, выход разрешения записи we 22 блока обучения, умножитель 23, блок выбора функции активации 24.
x
<mrow><msub><mi>N</mi><mrow><msub><mi>c</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><mi>x</mi><mi>c</mi></mrow></msub><mo>=</mo><msub><mi>N</mi><mi>x</mi></msub><mo>⋅</mo><msub><mi>N</mi><mrow><msub><mi>c</mi><mi>i</mi></msub></mrow></msub></mrow>
Умножитель 23 осуществляет операцию умножения кодов N и
с выводом результирующего кода
. Умножитель 23 имеет два цифровых входа и один цифровой выход.
xc
xc
0
1
1
1
<mrow><msub><mi>N</mi><mrow><msub><mi>b</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>F</mi><mi>i</mi></msub><mo>=</mo><msub><mi>F</mi><mn>0</mn></msub><mo>⋅</mo><mfrac><mrow><msub><mi>N</mi><mrow><mi>x</mi><mi>c</mi></mrow></msub><mo>+</mo><msub><mi>N</mi><mrow><msub><mi>b</mi><mi>i</mi></msub></mrow></msub></mrow><mrow><msup><mn>2</mn><mi>k</mi></msup></mrow></mfrac></mrow>
<mrow><msub><mi>F</mi><mi>i</mi></msub><mo>=</mo><msub><mi>F</mi><mn>0</mn></msub><mo>⋅</mo><mfrac><mrow><mi>V</mi><mo>−</mo><mo stretchy="false">(</mo><msub><mi>N</mi><mrow><mi>x</mi><mi>c</mi></mrow></msub><mo>+</mo><msub><mi>N</mi><mrow><msub><mi>b</mi><mi>i</mi></msub></mrow></msub><mo stretchy="false">)</mo></mrow><mrow><msup><mn>2</mn><mi>k</mi></msup></mrow></mfrac></mrow>
<mrow><msub><mi>N</mi><mrow><msub><mi>b</mi><mi>i</mi></msub></mrow></msub></mrow>
k
Первый сумматор 1 реализует операцию суммирования кодов N и
с преобразованием суммы в частоту
(режим суммирования) или
- (режим вычитания), представляющую собой последовательность импульсов переполнения на выходе первого сумматора 1, образуемых путем переноса на его вход кодов
и N с частотой F (k - число разрядов сумматора). Первый сумматор 1 является неотъемлемой частью искусственной нейронной сети преобразователя. Весовой коэффициент w, подаваемый на второй вход первого сумматора 1, задает тип операции: суммирование (w=1) или вычитание (w=0). Величина V, подаваемая на третью входную шину первого сумматора 1, задает диапазон результата суммирования/вычитания (0≤V<2).
Первый сумматор 1 имеет первый суммирующий вход, второй вход управления, определяющий тип операции (суммирование или вычитание), третью входную шину, задающую начальное значение суммы и выход переноса.
Второй сумматор 2 работает по принципу развертывающих структур. Формирование на его выходе периода
<mrow><msub><mi>N</mi><mrow><mi>С</mi><msub><mi>М</mi><mn>2</mn></msub></mrow></msub><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mrow>
<mrow><mo stretchy="false">(</mo><msub><mi>N</mi><mi>x</mi></msub><mo>+</mo><msub><mi>N</mi><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow></msub><mo stretchy="false">)</mo></mrow>
<mrow><msub><mi>T</mi><mrow><msub><mi>z</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><mi>С</mi><msub><mi>М</mi><mn>2</mn></msub></mrow></msub><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mrow>
i
в режиме вычитания осуществляется путем линейной развертки кода
во втором сумматоре 2 от начального числа, равного сумме
, образуемой в начале периода
до момента переполнения второго сумматора 2. Линейная развертка кода
достигается при работе второго сумматора 2 в режиме счета, когда на его счетный вход подаются импульсы частоты F. В режиме суммирования второго сумматора 2 на его выходе формируется период
Второй сумматор 2 имеет первый суммирующий вход, второй вход управления, определяющий тип операции (суммирование или вычитание), третью входную шину, задающую начальное значение суммы и выход переноса. Второй сумматор 2 является неотъемлемой частью искусственной нейронной сети преобразователя.
Первый элемент "ИЛИ" 3 и второй элемент "ИЛИ" 4 имеют по два логических входа и одному логическому выходу.
Первый 10, второй 11, третий 12 и четвертый 13 элементы "И" имеют по два логических входа и одному логическому выходу.
y
Счетчик 7 имеет вход разрешения счета, группу цифровых выходов и выход переноса. С выхода переноса счетчика 7 снимается выходная частота преобразования F 16.
Дешифратор 8 имеет группу цифровых входов и группу цифровых выходов.
<mrow><msub><mi>N</mi><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><msub><mi>b</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><msub><mi>c</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><mi>f</mi><msub><mi>a</mi><mi>i</mi></msub></mrow></msub></mrow>
Память кодов 9 имеет группу цифровых входов и группу цифровых выходов и предназначена для промежуточного хранения цифровых коэффициентов
,
и
, а также кода
функции активации.
i
i
Блок памяти весовых коэффициентов 17 имеет адресную входную шину, шину данных и вход разрешения записи, а также выходы коэффициентов, задающих веса u (i=1, 2, … k) и v (i=1, 2, … k) синаптических связей первого и второго сумматоров.
Блок обучения 18 предназначен для обучения нейронной сети блока определения интервала на реализацию требуемой функции разбиения входной частоты на ее диапазоны.
Блок обучения 18 имеет вход тестовой последовательности, выходную адресную шину, выходную шину данных и выход разрешения записи.
<mrow><msub><mi>N</mi><mrow><mi>f</mi><msub><mi>a</mi><mi>i</mi></msub></mrow></msub></mrow>
Блок выбора функции активации 24 предназначен для переключения типа выполняемых операций первым и вторым сумматорами (суммирование и вычитание) на основе кода
функции активации.
<mrow><msub><mi>N</mi><mrow><mi>f</mi><msub><mi>a</mi><mi>i</mi></msub></mrow></msub></mrow>
i
Блок выбора функции активации 24 имеет один цифровой вход кода
функции активации и два логических выхода w (i=1, 2), с помощью которых осуществляется переключение типа выполняемых операций первым и вторым сумматорами (суммирование и вычитание).
x
x
1
2
0
1
2
i
i
i
Нейросетевой преобразователь кода в частоту содержит счетчик 7, дешифратор 8, память кодов 9, первый элемент "И" 10, второй элемент "И" 11, третий элемент "И" 12, четвертый элемент "И" 13, первый элемент задержки 5, второй элемент задержки 6, блок памяти весовых коэффициентов 17, блок обучения 18, первый сумматор 1, второй сумматор 2, первый элемент "ИЛИ" 3, второй элемент "ИЛИ" 4, первый вход цифрового кода устройства 15, второй частотный вход устройства 14, выход устройства 16, вход тестовой последовательности 19, шину SA 20 адреса весовых коэффициентов, шину SD 21 данных весовых коэффициентов, выход разрешения записи we 22, умножитель 23, блок выбора функции активации 24. Группа цифровых выходов счетчика 7 соединена через дешифратор 8 со входами памяти кодов 9. Первый и третий выходы памяти кодов 9 соединены через первый элемент "И" 10 и второй элемент "И" 11 с первыми входами первого элемента "ИЛИ" 3 и второго элемента "ИЛИ" 4 соответственно. Второй вход первого элемента "ИЛИ" 3 соединен через третий элемент "И" 12 с первым входом цифрового кода N устройства 15. Второй вход второго элемента "ИЛИ" 4 соединен с выходом умножителя 23. Входы умножителя 23 соединены с первым входом цифрового кода N устройства 15 и со вторым выходом блока памяти кодов 9. Четвертый выход памяти кодов 9 соединен со входом блока выбора функции активации 24. Выходы w и w блока выбора функции активации 24 соединены соответственно со вторым входом первого сумматора 1 и со вторым входом второго сумматора 2. Второй частотный вход F устройства 14 соединен с входом первого элемента "И" 3 и через первый элемент задержки 5 с входом третьего элемента "И" 12. Выход первого элемента "ИЛИ" 3 соединен с первым суммирующим входом первого сумматора 1. Выход первого сумматора 1 соединен со вторым входом переноса второго сумматора 2. Выход второго сумматора 2 соединен со входом второго элемента "И" 11 и через второй элемент задержки 6 со входом четвертого элемента "И" 13. Выход второго элемента "ИЛИ" 4 соединен с первым входом второго сумматора 2. Выход второго сумматора 2 соединен со входом счетчика 7, выход переноса которого одновременно является выходом устройства. Вход данных блока обучения 18 соединен со входом тестовой последовательности 19. Адресный вход блока памяти весовых коэффициентов 17 соединен с шиной SA 20 адреса весовых коэффициентов блока обучения 18. Информационный вход блока памяти весовых коэффициентов 17 соединен с шиной SD 21 данных весовых коэффициентов блока обучения 18. Вход разрешения записи блока памяти весовых коэффициентов 17 соединен с выходом разрешения записи we 22 блока обучения 18. Выходы w и w блока выбора функции активации 24 соединены со вторыми входами первого сумматора 1 и второго сумматора 2 соответственно, задающими тип функции активации путем задания режимов работы сумматоров. Первый сумматор 1 и второй сумматор 2 могут работать в режимах суммирования и вычитания. Выходы v (i=1, 2, …, k) и u (i=1, 2, …, k) блока памяти весовых коэффициентов 17 соединены с третьими входными шинами первого сумматора 1 и второго сумматора 2 соответственно, задающими начальное значение, используемое в операциях суммирования и вычитания. Выходы s (i=1, 2, …, k) блока памяти весовых коэффициентов 17 соединены со входами памяти кодов 9.
Нейросетевой блок определения интервала работает следующим образом.
x
y
y
x
Для реализации нелинейной зависимости преобразования нейросетевой преобразователь кода в частоту должен быть обучен при помощи блока обучения 18. Обучение осуществляется при помощи подачи тестовой последовательности 19. Тестовая последовательность состоит из последовательно подаваемых значений входного кода N 15 и соответствующих этим значениям значения выходной частоты F 16. Объем тестовой последовательности влияет на точность обучения. Чем больше тестовая последовательность, тем точнее обучения устройства на реализацию зависимости выходной частоты F 16 от входного кода N 15.
Блок обучения 18 может быть реализован, например, на внешней или внутренней плате расширения персонального компьютера.
При подаче тестовой последовательности 19 на вход блока обучения 18 начинается операция обучения. По окончании операции обучения осуществляется запись новых значений весовых коэффициентов и порогов нейронов в блок памяти весовых коэффициентов 17. Для этого на вход подтверждения записи блока памяти весовых коэффициентов 17 с выхода we 22 блока обучения 18 подается значение we=1. На вход шины адреса блока памяти весовых коэффициентов 17 с выхода SA 20 блока обучения 18 подается адрес соответствующего весового коэффициента. При этом на шину данных SD 21 подается значение весового коэффициента.
x
0
На входы устройства поступает входной код N и опорная частота F.
<mrow><msub><mi>N</mi><mi>x</mi></msub><mo>+</mo><msub><mi>N</mi><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><mi>x</mi><mi>c</mi></mrow></msub><mo>+</mo><msub><mi>N</mi><mrow><msub><mi>b</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><mo stretchy="false">(</mo><msub><mi>N</mi><mrow><mi>x</mi><mi>c</mi></mrow></msub><mo>=</mo><msub><mi>N</mi><mi>x</mi></msub><mo>+</mo><msub><mi>N</mi><mrow><msub><mi>c</mi><mi>i</mi></msub></mrow></msub><mo stretchy="false">)</mo></mrow>
0
x
з
0
z
Формирование сумм
и
в первом сумматоре 1 и втором сумматоре 2 соответственно происходит при подаче импульса опорной частоты F и импульса переполнения второго сумматора 2. При этом код N подается в первый 1 и второй 2 сумматоры с некоторой задержкой τ<Т, длительность которой обеспечивается элементами задержки 5 и 6. Результирующая частота F снимается со счетчика 7.
Описываемый нейросетевой преобразователь относится к классу гибридных вычислительных устройств с дискретно-управляемыми параметрами (в том числе с использованием цифровых весовых коэффициентов искусственной нейронной сети), использующих принцип многократного использования импульсно-цифровых решающих элементов, входящих в состав операционного блока. Управление последовательностью выполнения отдельных операций производится счетчиком 7 и дешифратором 8.
a
i
i
i
<mrow><msub><mi>N</mi><mrow><mi>x</mi><mi>c</mi></mrow></msub><mo>=</mo><msub><mi>N</mi><mi>x</mi></msub><mo>⋅</mo><msub><mi>N</mi><mrow><msub><mi>c</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><msub><mi>b</mi><mi>i</mi></msub></mrow></msub></mrow>
Операционный блок, моделирующий в каждом i-м такте (i=1, 2, …, n) простую дробь вида (x+)/(x·c+b), состоит из последовательного соединения линейных преобразователей (Пр) "код-частота" (N→F) и "код-период" (N→T). Преобразователь "N→F" построен на основе первого сумматора 1, реализующего операцию суммирования кодов
и
с преобразованием суммы/разности в частоту
(режим суммирования) или
<mrow><msub><mi>N</mi><mrow><msub><mi>b</mi><mi>i</mi></msub></mrow></msub></mrow>
xc
0
1
1
1
k
(режим вычитания), представляющую собой последовательность импульсов переполнения на выходе первого сумматора 1, образуемых путем переноса на его вход кодов
и N с частотой F (k - число разрядов сумматора). Первый сумматор 1 является неотъемлемой частью искусственной нейронной сети преобразователя. Весовой коэффициент w, подаваемый на второй вход первого сумматора 1, задает тип операции: суммирование (w=1) или вычитание (w=0). Величина V, подаваемая на третью входную шину первого сумматора 1, задает диапазон результата суммирования/вычитания (0≤V<2).
Пр "N→Т" построен на основе второго сумматора 2 и работает по принципу развертывающихся структур. Формирование на его выходе периода
2
i
k
<mrow><msub><mi>N</mi><mrow><mi>С</mi><msub><mi>М</mi><mn>2</mn></msub></mrow></msub><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mrow>
<mrow><mo stretchy="false">(</mo><msub><mi>N</mi><mi>x</mi></msub><mo>+</mo><msub><mi>N</mi><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow></msub><mo stretchy="false">)</mo></mrow>
<mrow><msub><mi>T</mi><mrow><msub><mi>z</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><mi>С</mi><msub><mi>М</mi><mn>2</mn></msub></mrow></msub><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mrow>
в режиме вычитания (весовой коэффициент w=0, а весовой коэффициент 0≤U<2 задает максимальную границу) осуществляется путем линейной развертки кода
во втором сумматоре 2 от начального числа, равного сумме
, образуемой в начале периода
до момента переполнения второго сумматора 2. Линейная развертка кода
достигается при работе второго сумматора 2 в режиме счета, когда на его счетный вход подаются импульсы частоты F. Поэтому с учетом (1) выражение (3) в режиме суммирования первого сумматора 1 и вычитания второго сумматора 2 примет вид:
<mrow><msub><mi>T</mi><mrow><msub><mi>z</mi><mi>i</mi></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><msub><mi>a</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><msub><mi>b</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></msub></mrow>
<mrow><msub><mi>N</mi><mrow><msub><mi>c</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></msub></mrow>
В момент формирования импульса окончания периода
счетчик 7 изменяет свое состояние и посредством дешифратора 8 подключает из памяти кодов 9 через элементы "И" 10 и 11 к элементам "ИЛИ" 3 и 4 коды
и
соответственно, а также подключает к умножителю 23 код
.
Учитывая возможные комбинации режимов функционирования (режимы суммирования и вычитания) первого и второго сумматоров 1 и 2, преобразователь реализует функциональную зависимость путем ее приближения с использованием аппроксимирующих функций представленных в таблице 1. Аппроксимирующие функции являются функциями активации нейронов сети преобразователя.
Таблица 1
Типы аппроксимирующих функций
№
Управляющие сигналы
Тип аппроксимирующей функции
1
w1=0, w2=0
<img file="00000028.tif" he="15" wi="45" img-content="undefined" img-format="tif" />
2
w1=1, w2=0
<img file="00000029.tif" he="14" wi="44" img-content="undefined" img-format="tif" />
3
w1=0, w2=1
<img file="00000030.tif" he="15" wi="43" img-content="undefined" img-format="tif" />
4
w1=1, w2=1
<img file="00000031.tif" he="15" wi="41" img-content="undefined" img-format="tif" />
<mrow><msub><mi>T</mi><mrow><msub><mi>z</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></msub></mrow>
<mrow><msub><mi>T</mi><mrow><msub><mi>z</mi><mi>i</mi></msub></mrow></msub></mrow>
z
z
Процесс формирования следующего периода
аналогичен предыдущему. Цикл формирования одного периода T выходной частоты F равен n тактам, число которых задается коэффициентом пересчета счетчика 7. Наряду с этим счетчик 7 производит последовательное суммирование периодов
, образуя на своем выходе суммарный период, равный
z
При этом результирующая частота F на выходе нейросетевого преобразователя соответственно равна
x
y
y
x
Для реализации нелинейной зависимости нейросетевой преобразователь кода в частоту должен быть обучен при помощи блока обучения 18. Обучение осуществляется при помощи подачи тестовой последовательности 19. Тестовая последовательность состоит из последовательно подаваемых значений входного кода N 15 и соответствующих этим значениям значений выходной частоты F 16. Пример тестовой последовательности приведен в таблице 2. Объем тестовой последовательности влияет на точность обучения. Чем больше тестовая последовательность, тем точнее обучения устройства на реализацию зависимости выходной частоты F 16 от входного кода N 15.
Таблица 2
Пример тестовой последовательности для обучения нейросетевого преобразователя кода в частоту
Значение входного кода N<sub>x</sub>
Значение выходной частоты F<sub>y</sub>
1111
1.924 МГц
1110
1.898 МГц
1101
1.871 МГц
1100
1.841 МГц
1011
1.808 МГц
1010
1.772 МГц
1001
1.732 МГц
1000
1.688 МГц
0111
1.64 МГц
0110
1.586 МГц
0101
1.524 МГц
0100
1.455 МГц
0011
1.376 МГц
0010
1.285 МГц
0001
1.178 МГц
0000
1.052 МГц
При подаче тестовой последовательности 19 на вход блока обучения 18 начинается операция обучения. По окончании операции обучения осуществляется запись новых значений весовых коэффициентов и порогов нейронов в блок памяти весовых коэффициентов 17. Для этого на вход подтверждения записи блока памяти весовых коэффициентов 17 с выхода we 22 блока обучения 18 подается значение we=1. На вход шины адреса блока памяти весовых коэффициентов 17 с выхода SA 20 блока обучения 18 подается адрес соответствующего весового коэффициента. При этом на шину данных SD 21 подается значение весового коэффициента.
Таким образом, применение предлагаемого нейросетевого преобразователя кода в частоту позволяет расширить функциональные возможности, а именно расширить диапазон воспроизводимых функциональных зависимостей при реализации функционального преобразования входного кода в частоту, а также улучшить способность преобразователя корректировать мультипликативную составляющую погрешности датчиков.