RU183846U1 - MATRIX SIGNAL PROCESSOR FOR KALMAN FILTRATION - Google Patents

MATRIX SIGNAL PROCESSOR FOR KALMAN FILTRATION Download PDF

Info

Publication number
RU183846U1
RU183846U1 RU2018126263U RU2018126263U RU183846U1 RU 183846 U1 RU183846 U1 RU 183846U1 RU 2018126263 U RU2018126263 U RU 2018126263U RU 2018126263 U RU2018126263 U RU 2018126263U RU 183846 U1 RU183846 U1 RU 183846U1
Authority
RU
Russia
Prior art keywords
matrix
block
outputs
blocks
operations
Prior art date
Application number
RU2018126263U
Other languages
Russian (ru)
Inventor
Алексей Михайлович Романов
Original Assignee
Федеральное государственное бюджетное образовательное учреждение высшего образования "МИРЭА - Российский технологический университет"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное бюджетное образовательное учреждение высшего образования "МИРЭА - Российский технологический университет" filed Critical Федеральное государственное бюджетное образовательное учреждение высшего образования "МИРЭА - Российский технологический университет"
Priority to RU2018126263U priority Critical patent/RU183846U1/en
Application granted granted Critical
Publication of RU183846U1 publication Critical patent/RU183846U1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

Полезная модель относится к области вычислительной техники, а именно к матричному сигнальному процессору для калмановской фильтрации, включающему двухвходовые блоки памяти матричных операндов, подключенные к коммутатору, выходы и входы/выходы которого подключаются к блоку транспонирования, два выхода которого подключаются к двум блокам наложения шаблона, а два других входа/выхода блока транспонирования подключаются к блоку матричных операций, к которому также подключаются выходы блоков наложения шаблона, при этом блок матричных операций подключается к блоку скалярных операций и регистрам управления, которые также подключаются к микропроцессорному ядру, коммутатору, блоку транспонирования и блокам наложения шаблона. Полезная модель обеспечивает повышение производительности вычисления матричных операций за такт в задачах калмановской фильтрации.The utility model relates to the field of computer engineering, namely to a matrix signal processor for Kalman filtering, including two-input memory blocks of matrix operands connected to a switch, the outputs and inputs / outputs of which are connected to a transpose block, two outputs of which are connected to two overlay blocks of a template, and the other two inputs / outputs of the transpose block are connected to the matrix operations block, to which the outputs of the template overlay blocks are also connected, while the matrix opera block ations is connected to the scalar unit operations and control registers, which are also connected to the microprocessor core, a switch unit transposition blocks and a template overlay. The utility model provides an increase in the performance of computing matrix operations per cycle in Kalman filtering problems.

Description

Полезная модель относится к области вычислительной техники и может быть использована в различных областях науки и промышленности при создании устройств управления и цифровой обработки сигналов.The utility model relates to the field of computer technology and can be used in various fields of science and industry to create control devices and digital signal processing.

Из существующего уровня техники известен сигнальный процессор [Lapsley P. et al. DSP processor fundamentals: architectures and features. - New York, NY, USA: IEEE press, 1997]. Такое устройство содержит микропроцессорное ядро, дополнительные блоки памяти, блоки вычислительных операций.The signal processor [Lapsley P. et al. DSP processor fundamentals: architectures and features. - New York, NY, USA: IEEE press, 1997]. Such a device contains a microprocessor core, additional memory blocks, blocks of computational operations.

Недостатками данного устройства является низкая производительность вычисления матричных операций за такт в задачах калмановской фильтрации.The disadvantages of this device is the low productivity of computing matrix operations per cycle in Kalman filtering problems.

Предлагаемая полезная модель направлена на решение технической задачи по устранению указанного недостатка.The proposed utility model is aimed at solving the technical problem of eliminating this drawback.

Достигаемый при этом технический результат заключается в повышении производительности вычисления матричных операций за такт в задачах калмановской фильтрации.The technical result achieved in this case consists in increasing the productivity of computing matrix operations per cycle in Kalman filtering problems.

Технический результат достигается тем, что матричный сигнальный процессор для калмановской фильтрации включает двухвходовые блоки памяти матричных операндов, подключенные к коммутатору, выходы и входы/выходы которого подключаются к блоку транспонирования, два выхода которого подключаются к двум блокам наложения шаблона, а два других входа/выхода блока транспонирования подключаются к блоку матричных операций, к которому также подключаются выходы блоков наложения шаблона, при этом блок матричных операций подключается к блоку скалярных операций и регистрам управления, которые также подключаются к микропроцессорному ядру, коммутатору, блоку транспонирования и блокам наложения шаблона.The technical result is achieved by the fact that the matrix signal processor for Kalman filtering includes two-input memory blocks of matrix operands connected to the switch, the outputs and inputs / outputs of which are connected to the transpose block, two outputs of which are connected to two overlay blocks of the template, and two other inputs / outputs the transpose block are connected to the matrix operations block, to which the outputs of the template overlay blocks are also connected, while the matrix operations block is connected to the scalar block x operations and control registers, which are also connected to the microprocessor core, a switch unit transposition blocks and a template overlay.

Указанные признаки полезной модели являются существенными и совокупность этих признаков достаточна для получения требуемого технического результата.These features of the utility model are significant and the combination of these features is sufficient to obtain the desired technical result.

Полезная модель поясняется следующим чертежом.The utility model is illustrated by the following drawing.

На фиг. 1 показана блок-схема заявляемой полезной модели. Она содержит двухвходовые блоки памяти матричных операндов 1 и 2, коммутатор 3, блок транспонирования 4, блоки наложения шаблона 5 и 6, блок матричных операций 7, блок скалярных операций 8, регистры управления 9, микропроцессорное ядро 10.In FIG. 1 shows a block diagram of the claimed utility model. It contains two-input memory blocks of matrix operands 1 and 2, a switch 3, a transpose block 4, overlap blocks of a pattern 5 and 6, a block of matrix operations 7, a block of scalar operations 8, control registers 9, and a microprocessor core 10.

Работает устройство следующим образом. Микропроцессорное ядро 10, при помощи регистров управления 9 осуществляет выборку и запуск требуемой операции блока матричных операций 7, а также определяет параметры ее исполнения. Также микропроцессорное ядро 10 через регистры управления 9 устанавливает режим функционирования коммутатора 3, блоков наложения шаблона 5 и 6 и блока транспонирования 4, которые фиксируются на момент выполнения операции. После завершения операции информация об этом поступает от блока матричных операций 7 через регистры управления 9 на микропроцессорное ядро 10, которое при помощи коммутатора 3, конфигурируемого при помощи регистров управления 9, осуществляет коммутацию двухвходовых блоков памяти матричных операндов 1 и 2 на регистры управления 9, из которых микропроцессорное ядро 10 вычитывает результаты проведенной операции.The device operates as follows. The microprocessor core 10, using control registers 9, selects and starts the required operation of the block of matrix operations 7, and also determines the parameters of its execution. Also, the microprocessor core 10 through the control registers 9 sets the operating mode of the switch 3, the overlay blocks of the pattern 5 and 6 and the transpose block 4, which are fixed at the time of the operation. After the operation is completed, information about this comes from the matrix operations unit 7 through the control registers 9 to the microprocessor core 10, which, using the switch 3, configured using the control registers 9, commutes the two-input memory blocks of the matrix operands 1 and 2 to the control registers 9, from of which the microprocessor core 10 subtracts the results of the operation.

Каждый из блоков наложения шаблона 5 и 6 в зависимости от установленного при помощи регистров управления 9 одного из четырех режимов работы передает в блок матричных операций 7 значения, вычитанные из двухвходовых блоков памяти матричных операндов 1 и 2 (режим 0) или «на лету» подменяет их на 1 (режим 1), 0 (режим 2) или -1 (режим 3). Блок транспонирования 4 осуществляет передачу данных между двухвходовыми блоками памяти матричных операндов 1 и 2, блоками наложения шаблонов 5 и 6 и блоком матричных операций 7, позволяя «на лету» менять между собой значения строки и столбца ячейки, вычитываемой или записываемой в матричную переменную, хранимую в двухвходовых блоках памяти матричных операндов 1 и 2. Блок матричных операций 7 включает в себя независимо аппаратно реализованные матричные операции сложения двух матриц, каждая из которых умножена на константу; умножения двух матриц; поэлементного умножения матриц; поэлементного извлечения квадратного корня; поэлементной инверсии матрицы; инверсии квадратной матрицы с нахождением ее определителя; быстрой инверсии матрицы 2×2 с нахождением ее определителя; декомпозиции Холецкого. Выбор того, какая операция будет использоваться следующей, осуществляется микропроцессорным ядром 10 при помощи регистров управления 9. Блок матричных операций 7 имеет вход для подключения двухвходового блока памяти матричных операндов, который будет использоваться для чтения операндов, и вход/выход для подключения двухвходового блока памяти матричных операндов, который будет использоваться для записи результатов операции. Вход блока матричных операций 7, используемый для чтения операндов, подключается к двухвходовым блокам памяти матричных операндов 1 и 2 через блоки наложения шаблона 5 и 6 и блок транспонирования 4. Вход/выход блока матричных операций 7, используемый для записи результатов операции, подключается к двухвходовым блокам памяти матричных операндов 1 и 2 через блок транспонирования 4. Коммутатор 3 осуществляет коммутацию двухвходовых блоков памяти матричных операндов / и 2, определяя какой из двух двухвходовых блоков памяти матричных операндов 1 или 2 будет в течении следующей операции скоммутирован на вход блока матричных операций 7, используемый для чтения операндов, а какой будет скоммутирован на вход блока матричных операций 7, используемый для записи результатов операции. Управление коммутатором 3 осуществляется микропроцессорным ядром 10 при помощи регистров управления 9. Также коммутатор позволяет коммутировать входы/выходы двухвходовых блоков памяти матричных операндов 1 и 2 на. регистры управления 9, позволяя микропроцессорному ядру 10 через них осуществлять чтение и запись матричных переменных. Двухвходовые блоки памяти матричных операндов 1 и 2 представляют из себя независимые блоки двухпортовой статической памяти объемом 22L+K ячеек, хранящих числа с фиксированной точкой, адресация которой построена таким образом, что старшие К-бит, адреса определяют номер матричной переменной, средние L-бит адреса определяют номер столбца элемента матричной переменной, а младшие L-бит адреса определяют номер строки элемента матричной переменной. Для проведения математических операций над отдельными элементами матричных переменных, блок матричных операций 7 передает их значения на соответствующие входы блока скалярных операций 8, который включает в себя независимо аппаратно реализованные два сумматора с поддержкой конвейеризации, два умножителя с поддержкой конвейеризации, один блок делений, один блок извлечения квадратного корня, и по завершении скалярной операции ее результат поступает на блок матричных операций 7.Each of the overlapping blocks of patterns 5 and 6, depending on one of the four operating modes set using the control registers 9, transfers values subtracted from the two-input memory blocks of the matrix operands 1 and 2 (mode 0) or “on the fly” to the matrix operations block 7 them to 1 (mode 1), 0 (mode 2) or -1 (mode 3). Transpose unit 4 transfers data between two-input memory blocks of matrix operands 1 and 2, overlap blocks of patterns 5 and 6 and block of matrix operations 7, allowing “on the fly” to change between themselves the values of the row and column of the cell, subtracted or written to the matrix variable stored in two-input memory blocks of matrix operands 1 and 2. Block of matrix operations 7 includes independently hardware-implemented matrix operations of addition of two matrices, each of which is multiplied by a constant; multiplication of two matrices; elementwise matrix multiplication; step-by-step square root extraction; elementwise inversion of the matrix; inversions of a square matrix with finding its determinant; fast inversion of a 2 × 2 matrix with finding its determinant; Cholesky decomposition. The choice of which operation will be used next is carried out by the microprocessor core 10 using control registers 9. The matrix operations block 7 has an input for connecting a two-input memory block of matrix operands, which will be used to read operands, and input / output for connecting a two-input matrix memory block operands to be used to record the results of the operation. The input of the matrix operations unit 7, used to read the operands, is connected to the two-input memory blocks of the matrix operands 1 and 2 through the overlap blocks of the template 5 and 6 and the transpose unit 4. The input / output of the matrix operations unit 7 used to record the results of the operation is connected to the two-input the memory blocks of the matrix operands 1 and 2 through the transpose block 4. The switch 3 commutes the two-input memory blocks of the matrix operands / and 2, determining which of the two two-input memory blocks of the matrix operands 1 and 2 during the next operation will be connected to the input of the block of matrix operations 7, used to read the operands, and which will be connected to the input of the block of matrix operations 7, used to record the results of the operation. The switch 3 is controlled by the microprocessor core 10 using the control registers 9. The switch also allows you to switch the inputs / outputs of the two-input memory blocks of the matrix operands 1 and 2 on. control registers 9, allowing the microprocessor core 10 to read and write matrix variables through them. Two-input memory blocks of matrix operands 1 and 2 are independent blocks of two-port static memory of 2 2L + K cells, which store numbers with a fixed point, the addressing of which is constructed in such a way that the highest K-bits, addresses determine the number of the matrix variable, the average L- the address bits determine the column number of the element of the matrix variable, and the lower L-bits of the address determine the line number of the element of the matrix variable. To carry out mathematical operations on individual elements of matrix variables, the matrix operations unit 7 transfers their values to the corresponding inputs of the scalar operations unit 8, which includes independently hardware-implemented two adders with pipelining support, two multipliers with pipelining support, one division block, one block extraction of the square root, and upon completion of the scalar operation, its result is sent to the block of matrix operations 7.

Работоспособность была проверена на макете, который наглядно продемонстрировал получение требуемого технического результата. Предложенное устройство с К=2 и L=3 было реализовано при помощи программируемой логической интегральной схемы Xilinx Spartan 6, работающей с тактовой частотой 100 МГц. На базе устройства был реализован расширенный фильтр Калмана 5-го порядка, предназначенный для предсказания потокосцепления асинхронного двигателя, обеспечивающий расчет одной итерации фильтрации за 10 мкс. Аналогичный фильтр, реализованный на базе сигнального процессора Freescale МРС555, работающего с тактовой частотой 40 МГц, имел время расчета одной итерации 1000 мкс. Таким образом производительности вычисления матричных операций за такт в задачах калмановской фильтрации за счет применения полезной модели была повышена в 40 раз, что говорит о достижении заявленного технического результата.Performance was tested on the layout, which clearly demonstrated the receipt of the required technical result. The proposed device with K = 2 and L = 3 was implemented using a Xilinx Spartan 6 programmable logic integrated circuit operating at a clock frequency of 100 MHz. On the basis of the device, an expanded fifth-order Kalman filter was implemented, designed to predict the flux linkage of an asynchronous motor, which provides the calculation of one filtration iteration per 10 μs. A similar filter, implemented on the basis of the Freescale MPC555 signal processor operating at a clock frequency of 40 MHz, had a calculation time of one iteration of 1000 μs. Thus, the productivity of computing matrix operations per cycle in Kalman filtering problems due to the use of a utility model was increased by 40 times, which indicates the achievement of the claimed technical result.

Claims (1)

Матричный сигнальный процессор для калмановской фильтрации, включает двухвходовые блоки памяти матричных операндов, подключенные к коммутатору, выходы и входы/выходы которого подключаются к блоку транспонирования, два выхода которого подключаются к двум блокам наложения шаблона, а два других входа/выхода блока транспонирования подключаются к блоку матричных операций, к которому также подключаются выходы блоков наложения шаблона, при этом блок матричных операций подключается к блоку скалярных операций и регистрам управления, которые также подключаются к микропроцессорному ядру, коммутатору, блоку транспонирования и блокам наложения шаблона.The matrix signal processor for Kalman filtering includes two-input memory blocks of matrix operands connected to the switch, the outputs and inputs / outputs of which are connected to the transpose block, two outputs of which are connected to two overlay blocks of the template, and two other inputs / outputs of the transpose block are connected to the block matrix operations, to which the outputs of the template overlays are also connected, while the matrix operations block is connected to the scalar operations block and control registers, which also connected to the microprocessor core, switch, transpose block, and pattern overlay blocks.
RU2018126263U 2018-07-17 2018-07-17 MATRIX SIGNAL PROCESSOR FOR KALMAN FILTRATION RU183846U1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018126263U RU183846U1 (en) 2018-07-17 2018-07-17 MATRIX SIGNAL PROCESSOR FOR KALMAN FILTRATION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018126263U RU183846U1 (en) 2018-07-17 2018-07-17 MATRIX SIGNAL PROCESSOR FOR KALMAN FILTRATION

Publications (1)

Publication Number Publication Date
RU183846U1 true RU183846U1 (en) 2018-10-05

Family

ID=63794032

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018126263U RU183846U1 (en) 2018-07-17 2018-07-17 MATRIX SIGNAL PROCESSOR FOR KALMAN FILTRATION

Country Status (1)

Country Link
RU (1) RU183846U1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2288509C1 (en) * 2005-10-14 2006-11-27 Общество с ограниченной ответственностью "АЛЬТОНИКА" (ООО "АЛЬТОНИКА") Method for monitoring, tracking and controlling ground-based vehicles
US7917370B2 (en) * 2007-09-04 2011-03-29 National Central University Configurable common filterbank processor applicable for various audio standards and processing method thereof
US8515759B2 (en) * 2007-04-26 2013-08-20 Dolby International Ab Apparatus and method for synthesizing an output signal
RU2576595C2 (en) * 2013-08-21 2016-03-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗ ГУ) Independent intellectual measuring module

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2288509C1 (en) * 2005-10-14 2006-11-27 Общество с ограниченной ответственностью "АЛЬТОНИКА" (ООО "АЛЬТОНИКА") Method for monitoring, tracking and controlling ground-based vehicles
US8515759B2 (en) * 2007-04-26 2013-08-20 Dolby International Ab Apparatus and method for synthesizing an output signal
US7917370B2 (en) * 2007-09-04 2011-03-29 National Central University Configurable common filterbank processor applicable for various audio standards and processing method thereof
RU2576595C2 (en) * 2013-08-21 2016-03-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗ ГУ) Independent intellectual measuring module

Similar Documents

Publication Publication Date Title
Pohokar et al. Design and implementation of 16× 16 multiplier using Vedic mathematics
NZ204954A (en) Associative processor cell
US10693466B2 (en) Self-adaptive chip and configuration method
RU183846U1 (en) MATRIX SIGNAL PROCESSOR FOR KALMAN FILTRATION
JPH0368021A (en) High speed numerical processor
CN109669670A (en) Data processing method and device for the unequal piecemeal in montgomery modulo multiplication
JP7250953B2 (en) Data processing equipment and artificial intelligence chips
JPS55138156A (en) Information processor
JPH0650512B2 (en) Data processing device
JPS5935451B2 (en) General purpose register access method
JP2012205298A (en) Digital signal processor and program
TW201917573A (en) Task processing method, device and system capable of saving computing resources
JP7078129B2 (en) Arithmetic processing device and control method of arithmetic processing device
JPH04222111A (en) Digital filter
JPS58147223A (en) Digital filter
JPH023203B2 (en)
SU1748152A1 (en) Computing device
RU2018116998A (en) PROCESSOR OF INCREASED OPERATING RELIABILITY
JPH02181821A (en) Arithmetic device
JP3166781B2 (en) Adder circuit
SU491946A1 (en) Root degree extractor
SU610116A1 (en) Device for solving mathematical physics two-dimensional problems
JP3099255B2 (en) Remainder multiplier
JPS642290B2 (en)
JPH04364525A (en) Parallel arithmetic unit