SU1642478A1 - Moving average calculator - Google Patents
Moving average calculator Download PDFInfo
- Publication number
- SU1642478A1 SU1642478A1 SU884457391A SU4457391A SU1642478A1 SU 1642478 A1 SU1642478 A1 SU 1642478A1 SU 884457391 A SU884457391 A SU 884457391A SU 4457391 A SU4457391 A SU 4457391A SU 1642478 A1 SU1642478 A1 SU 1642478A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- input
- output
- node
- average
- synchronizer
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Изобретение относитс к автоматике и вычислительной технике и может быть использовано в устройствах, осуществл клцих весовую обработку цифровой информации, представленной в виде массивов чисел (например, при обработке изображений). Целью изобретени вл етс повышение быстродействи 30 устройства дл вычислени скольз щего среднего. Деть достигаетс путем параллельной обработки элементов исходного массива несколькими окнами. При этом параллельно вычисл ютс несколько значений скольз щего среднего с учетом весовых функций. Устройство содержит блок 1 пам ти массива, счетчик 2 но- мера базовой строки массива, счетчик 8 номера столбца маски, блок 9 умножени , накапливающий сумматор 10, делитель 11, регистр 12 делител , блок 13 элементов И, регистр 14 числа столбцов маски, блок 15 умножени , сумматор 16, триггер 17, элементы И 18-23, элемент НЕ 24, элемент ИЛИ-НЕ 25, блок 26 элементов И, элемент ИЛИ 27, синхронизатор 28, выход Конец работы 29 и тактовый вход 30 устройства. 1 ил. (ЛThe invention relates to automation and computing and can be used in devices that carry out weight processing of digital information represented in the form of arrays of numbers (for example, in image processing). The aim of the invention is to improve the speed 30 of the device for calculating the moving average. The child is achieved by parallel processing of the elements of the source array with several windows. In this case, several values of the moving average are calculated in parallel, taking into account the weight functions. The device contains an array memory block 1, a counter 2 of the array base row number, a mask column number counter 8, a multiplication unit 9, accumulating adder 10, a divider 11, a divider register 12, a block of 13 AND elements, a register of 14 the number of mask columns, a block 15 multiply, adder 16, trigger 17, elements AND 18-23, element NOT 24, element OR-NOT 25, block 26 elements AND, element OR 27, synchronizer 28, output End of operation 29 and clock input 30 of the device. 1 il. (L
Description
но, причем начало второй строки пзоб- ,,- с вычисление кода номера строкиbut, with the beginning of the second line pzob- ,, - with the calculation of the code of the line number
ражени расположено в чейке с адресом 2 , начало третьей строки - в чейке с адресом 2 1+1 и т.д. Содержимое счетчиков 2-4 равно 0, На управмассива путем сложени номеров ба вой строки из счетчика 2 и текуще строки из счетчика 4С Кроме того 1 УИ поступает на управл ющий вхоRazheni is located in the cell with the address 2, the beginning of the third line - in the cell with the address 2 1 + 1, etc. The contents of the counters 2-4 are 0, To the control array by adding the numbers of the base line from counter 2 and the current line from the counter 4C In addition, 1 MD enters the control input
массива путем сложени номеров базовой строки из счетчика 2 и текущей строки из счетчика 4С Кроме того, 1 УИ поступает на управл ющий входarray by adding the base line numbers from counter 2 and the current line from counter 4C In addition, 1 MD enters the control input
блока 15 умножени , в котором осуществл етс перемножение числа столбцов в маске, код которого хранитс в регистре 14, с номером строки маски , код которого хранитс в счетчике 7, с целью вычислени смещени адреса элемента маски в блоке 6 в соответствии с номером требуемой строки маски„multiplication unit 15, in which the number of columns in the mask, whose code is stored in register 14, is multiplied with the mask line number, which code is stored in counter 7, to calculate the address offset of the mask element in block 6 in accordance with the number of the required mask line „
По второму тактовому импульсу выдаетс 2УИ (9-й выход синхронизатора ) , по которому сумматором 16 формируютс адреса элементов маски в узлах вычислени среднегоOn the second clock pulse, a 2 UI is output (the 9th synchronizer output), according to which the adder 16 forms the addresses of the mask elements in the nodes calculating the average
По третьему тактовому импульсу выдаетс 3 УИ (5-й выход синхронизатора ) , который поступает в блоки и 6 на входы разрешени чтени . Б результате с выходов блоков 1 и 6 передаютс значени элемента массива и элементов маски в блоки 9 узлов вычислени среднегоOn the third clock pulse, 3 MDs are output (the 5th synchronizer output), which enters the blocks and 6 to the read enable inputs. As a result, from the outputs of blocks 1 and 6, the values of the array element and the mask elements are transferred to the blocks of 9 nodes for calculating the average
По четвертому тактовому импульсу выдаетс 4 УИ (9-й выход синхронизатора ) , который поступает на управл ющие входы блоков 9 умножени , В которых осуществл етс перемножение выбранного элемента массива с ег весом, определ емым маскойOn the fourth clock pulse, 4 MDs are issued (9th synchronizer output), which is fed to the control inputs of multiplication blocks 9, In which the selected element of the array is multiplied with its weight determined by the mask
По п тому тактовому импульсу выдаетс 5 УИ (3-й выход синхронизатора ) , который поступает на управл ющий вход накапливающего сумматора 10. В сумматоре происходит накопле- ние результатов умножени в блоке 9„ Кроме этого, 5 УИ поступает на вход (Счетчиков 4 и 7, увеличива их содержимое на 1 оOn the clock pulse, 5 MD (3rd synchronizer output) is output, which is fed to the control input of accumulating adder 10. In the accumulator, multiplication results are accumulated in block 9 "In addition, 5 MDs enter the input (Counters 4 and 7, increasing their content by 1 o
По шестому тактовому импульсу выдаетс 6 УИ, (7-й выход синхронизатора ) , который поступает на счетный вход счетчика 7. В том случае, если произошло его переполнение, ч-лульс переполнени проходит на вход счетчика . 8, увеличива его содержимое на Переполнение счетчиков 7 и 4 происходит одновременно. В случае, если этого не происходит, последующие тактовые импульсы в цикле работы устройства не производ т никаких действий, так как триггеры не измен ют своего состо ни . Если при увеличении содержимого счетчика 8 на 1 в одном из узлов вычислени среднего произошло переполнение этого счетчика, сигнал с его выхода установит в 1 триггер 17 соответствующего узла. В первом цикле работыOn the sixth clock pulse, 6 MDs are issued, (the 7th synchronizer output), which is fed to the counting input of the counter 7. In the event of an overflow, the overflow h is passed to the counter input. 8, increasing its contents to overflow the counters 7 and 4 occurs simultaneously. In case this does not occur, the subsequent clock pulses in the operation cycle of the device do not take any action, since the triggers do not change their state. If an increase in the contents of the counter 8 by 1 in one of the nodes of the average computation causes an overflow of this counter, the signal from its output will set to 1 trigger 17 of the corresponding node. In the first cycle of work
устройства таким триггером вл етс триггер 17 второго узла вычислени среднего, во втором цикле - триггер третьего узла вычислени среднего и ТоД., Кроме того, установка в devices such a trigger is the trigger 17 of the second node calculating the average, in the second cycle the trigger of the third node calculating the average and the Tod. In addition, the installation is
1 one
5five
00
5five
00
10ten
2020
триггера 17 приводит к выдаче сигнала запрета на управл ющий вход блока 26 элементов И через элемент ИЛИ-НЕ 25 и сигнала разрешени прохождени 8 УИ через элемент И 21, а также команды записи в блок 1 через элемент И 22.the trigger 17 leads to the issuance of a prohibition signal to the control input of the block 26 of the elements AND through the element OR-NOT 25 and the signal to allow passage of 8 MDs through the element 21 and the write command to the block 1 through the element 22.
По седьмому тактовому импульсуBy the seventh clock pulse
15 выдаетс 7 УК (10-й выход синхронизатора ), который через элемент И 19 по разрешающему сигналу триггера 17 соответствующего узла вычислени среднего выдает управл ющий сигнал в делитель 11. В этом блоке содержимое накапливающего сумматора 10 делитс на содержимое регистра 12 последовательно, вычисл етс текущее значение скольз щего среднего по данной маске.15, the control code 7 is issued (the 10th synchronizer output), which, through element AND 19, sends the control signal to divider 11 using the enable signal of the trigger 17 of the corresponding average computation node. In this block, the contents of accumulator 10 are divided by the contents of register 12 sequentially, calculated the current value of the moving average for a given mask.
По восьмому тактовому импульсу выдаетс 8 УИ (1-й выход синхронизатора ) , который через элемент И 20 по разрешающему сигналу триггера сбрасывает содержимое накапливающего сумматора 10 соответствующего узла вычислени среднего и открывает блок 13 элементов И, через который на вход блока 1 подаетс код вычисленного по 7 УИ скольз щего среднего. Кроме этого, 8 УИ через элементы И 21 и элемент ИЛ 27 поступает на управл ющий вход сумматора 5, который передает на адресный вход блоки 1 номер строки дл записи полученного в узле вычислени среднего значени .On the eighth clock pulse, 8 MDs (1st synchronizer output) are output, which, through element 20, allow the trigger signal to reset the accumulating adder 10 of the corresponding average computation node and open block 13 of elements, through which the code calculated from 7 UI moving average. In addition, 8 MDs through the elements 21 and the IL 27 element are fed to the control input of the adder 5, which transmits to the address input blocks 1 the line number for recording the average value obtained in the node calculating.
По дев тому тактовому импульсу вырабатываетс 9 УИ (6-й выход синхронизатора ) , который через элементBy the ninth clock pulse, 9 MDs (6th synchronizer output) are generated, which, through the element
5 И 22 поступает на вход записи в блок 1. По этой команде в блок 1 записываетс значение скольз щего среднего, вычисленное в узле вычислени среднего по 7 УИ05 and 22 are fed to the record entry in block 1. With this command, block 1 records the value of the moving average calculated in the node for calculating the average of 7 UI0
По дес тому тактовому импульсу вырабатываетс 10 УИ (4-й выход синхронизатора ) , который сбрасывает вBy the tenth clock pulse, 10 TCs (4th synchronizer output) are generated, which resets to
00
5five
О соответствующий триггер 17 узла вычислени среднего и увеличивает содержимое счетчика 3 на 1. Если переполнени счетчика 3 не произошло, то цикл работы устройства повтор етс о Если произошло переполнение счетчика 3, вьдаетс счетный импульс вAbout the corresponding trigger 17 of the computational node of the average and increases the contents of the counter 3 by 1. If the overflow of the counter 3 did not occur, then the device’s operation cycle repeats. If the overflow of the counter 3 occurs, the counting pulse enters
счетчик 2, увеличива его содержимое на 1. Если переполнени счетчика 2 не произошло, то цикл работы устроства повтор етс с, Если произошло пе- реполнение счетчика 2, то по выходу Конец работы 29 выдаетс сигнал об окончании работы устройства. Это означает, что в блоке 1 пам ти хранитс матрица значений скольз щего среднего, причем первые 1-1 столбцов и последние k-1 строк не должны использоватьс дл дальнейшей работыcounter 2, increasing its contents by 1. If counter 2 does not overflow, the device operation cycle repeats; If counter 2 overflowed, then on exit Exit 29, a signal is given that the device has finished working. This means that in the memory block 1 a matrix of moving average values is stored, the first 1-1 columns and the last k-1 rows should not be used for further work.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884457391A SU1642478A1 (en) | 1988-05-16 | 1988-05-16 | Moving average calculator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884457391A SU1642478A1 (en) | 1988-05-16 | 1988-05-16 | Moving average calculator |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1642478A1 true SU1642478A1 (en) | 1991-04-15 |
Family
ID=21388422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU884457391A SU1642478A1 (en) | 1988-05-16 | 1988-05-16 | Moving average calculator |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1642478A1 (en) |
-
1988
- 1988-05-16 SU SU884457391A patent/SU1642478A1/en active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР № 1247895, кл. С 06 F 15/36, 1985. Авторское свидетельство СССР IA 1410058, кл. G 06 F 15/36, 1986. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SU1642478A1 (en) | Moving average calculator | |
GB731140A (en) | Improvements in and relating to electric pulse counting and calculating apparatus | |
SU1302296A1 (en) | Digital filter | |
SU1644159A1 (en) | Correlator | |
SU1656560A1 (en) | Sparse matrix multiplier | |
SU423176A1 (en) | DEVICE FOR SHIFT INFORMATION | |
SU736096A1 (en) | Device for computing the root of k-th power | |
SU1608637A1 (en) | Data input device | |
SU1291972A1 (en) | Device for multiplying data with variable length | |
SU1472901A1 (en) | Function generator | |
SU830377A1 (en) | Device for determining maximum number code | |
SU1410058A1 (en) | Device for computing sliding mean | |
SU940165A1 (en) | Device for functional conversion of ordered number file | |
SU1617437A1 (en) | Device for dividing binary numbers | |
RU1827713C (en) | Delay device | |
SU1180926A1 (en) | Device for calculating coefficients of expansion of function into a series | |
SU1211754A1 (en) | Device for calculating inverse matrix | |
SU911506A1 (en) | Device for ordering data | |
SU1293727A1 (en) | Polyfunctional calculating device | |
SU652561A1 (en) | Accumulator with current storage | |
SU690488A1 (en) | Device for determining jumps and extremums | |
SU943731A1 (en) | Device for code sequence analysis | |
SU1425716A1 (en) | Statistical analyzer | |
SU1019456A1 (en) | Device for computing polynomials with fixed coefficients | |
RU2024933C1 (en) | Device for multiplying three matrices |