RU2097828C1 - Programmable digital filter - Google Patents
Programmable digital filter Download PDFInfo
- Publication number
- RU2097828C1 RU2097828C1 RU94038957A RU94038957A RU2097828C1 RU 2097828 C1 RU2097828 C1 RU 2097828C1 RU 94038957 A RU94038957 A RU 94038957A RU 94038957 A RU94038957 A RU 94038957A RU 2097828 C1 RU2097828 C1 RU 2097828C1
- Authority
- RU
- Russia
- Prior art keywords
- output
- input
- adder
- register
- trigger
- Prior art date
Links
Images
Abstract
Description
Изобретение относится к вычислительной технике и может найти применение в прецизионных измерительных системах космической навигации и связи, а также в радио- и гидролокации. The invention relates to computer technology and can find application in precision measuring systems for space navigation and communication, as well as in radio and sonar.
Известен рекурсивный цифровой фильтр (РЦФ) 2-го порядка [1] который содержит пять элементов задержки, пять матричных блоков умножения, шесть преобразователей кода и сумматор на пять выходов. Known recursive digital filter (RCF) of the 2nd order [1] which contains five delay elements, five matrix multiplication blocks, six code converters and an adder for five outputs.
Цифровой фильтр [1] имеет высокое быстродействие (1 мкс), благодаря применению матричных блоков умножения и выполнению основных операций в параллельных кодах. Однако устройство [1] имеет фиксированные связи, т.е. настроено на передаточную функцию одного вида, причем с большими аппаратурными затратами. Сложность фильтра [1] обусловлена применением пяти матричных блоков умножения, а также тем, что умножение выполняется в прямых кодах, а алгебраическое сложение в дополнительных. Поэтому на входах блоков умножения введены преобразователи прямого кода в дополнительный, а на выходе сумматора происходит преобразование дополнительного кода в прямой. Блок управления в устройстве [1] отсутствует, а его функции по организации последовательности выполнения операций распределены между дополнительными элементами задержки, связанными с выходами блоков умножения. С учетом упомянутых элементов задержки входных и выходных сигналов общее количество элементов задержки достигает одиннадцати, причем каждый из них выполнен в виде многоразрядного регистра. The digital filter [1] has a high speed (1 μs) due to the use of matrix multiplication blocks and the implementation of basic operations in parallel codes. However, the device [1] has fixed communications, i.e. tuned to the transfer function of one kind, and with high hardware costs. The complexity of the filter [1] is due to the use of five matrix multiplication blocks, as well as the fact that multiplication is performed in direct codes, and algebraic addition in additional codes. Therefore, at the inputs of the multiplication units, direct code converters are introduced into an additional one, and at the output of the adder, an additional code is converted into a direct one. The control unit in the device [1] is absent, and its functions for organizing the sequence of operations are distributed between additional delay elements associated with the outputs of the multiplication units. Given the mentioned delay elements of the input and output signals, the total number of delay elements reaches eleven, each of which is made in the form of a multi-bit register.
Недостатки фильтра [1] частично устранены в программируемом рекурсивном цифровом фильтре второго порядка [2] содержащем шесть регистров, четыре мультиплексора, два сдвиговых регистра, дешифратор, два блока инвертирования знака, регистр константы и триггер. The disadvantages of the filter [1] are partially eliminated in a second-order programmable recursive digital filter [2] containing six registers, four multiplexers, two shift registers, a decoder, two sign inversion blocks, a constant register, and a trigger.
Устройство [2] существенно отличается от устройства [1] новым составом блоков, благодаря чему создается возможность оперативной перестройки частотных характеристик, причем не только путем частот среза, но и путем преобразования вида передаточной функции цифрового фильтра. Устройство [2] реализует систему разностных уравнений цифровых фильтров 2-го порядка, в том числе полосового фильтра (ПФ), фильтра нижних частот (ФНЧ) и фильтра верхних частот (ФВЧ), причем возможность оперативной трансформации передаточной функции и сброса содержимого регистров хранения и элементов задержки расширяет класс решаемых задач, например, в адаптивных системах автоматического регулирования. The device [2] differs significantly from the device [1] in the new composition of the blocks, which makes it possible to quickly adjust the frequency characteristics, not only by the cutoff frequencies, but also by converting the form of the transfer function of the digital filter. The device [2] implements a system of difference equations of digital filters of the second order, including a band-pass filter (PF), a low-pass filter (LPF) and a high-pass filter (HPF), and the possibility of operational transformation of the transfer function and reset the contents of the storage registers and delay elements extends the class of tasks to be solved, for example, in adaptive automatic control systems.
Однако наличие выходного регистра фиксации результата уменьшает быстродействие фильтра. Кроме того, масштабирующий множитель в устройстве [2] выбран фиксированным, что затрудняет его работу при скачкообразном изменении отношения сигнал/шум на входе фильтра. However, the presence of the output register of fixing the result reduces the filter performance. In addition, the scaling factor in the device [2] is chosen fixed, which makes it difficult to operate with a stepwise change in the signal-to-noise ratio at the filter input.
Ближайшим по технической сущности к предлагаемому устройству является программируемый цифровой фильтр 2-го порядка [3] содержащий три регистра, два мультиплексора, регистр константы, дешифратор, три блока умножения, два блока инвертирования знака, три сдвиговых регистра, блок синхронизации, четыре сумматора и D-триггер. The closest in technical essence to the proposed device is a programmable digital filter of the 2nd order [3] containing three registers, two multiplexers, a constant register, a decoder, three multiplication blocks, two sign inverters, three shift registers, a synchronization block, four adders and D -trigger.
Устройство [3] реализует систему разностных уравнений цифровых фильтров 2-го порядка, в том числе полосового (ПФ), фильтра нижних частот (ФНЧ) и фильтра верхних частот (ФВЧ):
где xi, yi текущие значения входного и выходного сигналов;
xi-1, xi-2, yi-1, yi-2 предшествующие значения переменных;
А, В весовые коэффициенты передаточной функции;
В0 масштабирующий множитель.The device [3] implements the system of difference equations of digital filters of the 2nd order, including band-pass (PF), low-pass filter (LPF) and high-pass filter (HPF):
where x i , y i are the current values of the input and output signals;
x i-1 , x i-2 , y i-1 , y i-2 previous values of variables;
A, B weights of the transfer function;
A 0 scaling factor.
По сравнению с устройством [2] цифровой фильтр [3] обладает более высоким быстродействием, так как отсутствует необходимость в выходном регистре фиксации результата, что сокращает цикл вычислений выходных отсчетов на 0,5 такта. Во-вторых, введение третьего множителя позволяет устранить другой существенный недостаток устройства [2] заключающийся в том, что масштабирующий множитель выбирается фиксированным. В устройстве [3] коэффициент масштабирования может изменяться в диапазоне от 0 до 1, что особенно важно в случае его использования в адаптивных системах автоматического регулирования. Compared with the device [2], the digital filter [3] has a higher speed, since there is no need for an output register for fixing the result, which reduces the cycle of calculating the output samples by 0.5 clock cycles. Secondly, the introduction of the third factor allows you to eliminate another significant drawback of the device [2] consisting in the fact that the scaling factor is selected fixed. In the device [3], the scaling factor can vary in the range from 0 to 1, which is especially important if it is used in adaptive automatic control systems.
Недостатком устройства-прототипа [3] является отсутствие контроля за возможным переполнением на выходе устройства, что в ряде случаев может привести к потере работоспособности устройства. Это наиболее вероятно при использовании фильтра в нестационарных системах автоматического регулирования, где шумовые характеристики канала связи могут стохастически изменяться из-за появления переполнений результатов фильтрации в выходном сумматоре. The disadvantage of the prototype device [3] is the lack of control over possible overflow at the output of the device, which in some cases can lead to loss of operability of the device. This is most likely when using the filter in non-stationary automatic control systems, where the noise characteristics of the communication channel can stochastically change due to overflow of filtering results in the output adder.
В предлагаемом программируемом цифровом фильтре достигается возможность решения следующих задач:
контроль ситуации, связанной с наличием переполнения на выходе фильтра, автоматического обнуления регистров спецвычислителя фильтра и начала нового цикла фильтрации, либо сигнализации исполнительным блоком системы (например, космической навигации) о наличии переполнения и искажения результатов фильтрации, а также о необходимости принятия соответствующих решений системой в целом.In the proposed programmable digital filter, the following tasks are achieved:
control of the situation associated with the presence of overflow at the filter output, automatic zeroing of the registers of the special calculator of the filter and the beginning of a new filtration cycle, or signaling by the executive unit of the system (for example, space navigation) about the presence of overflow and distortion of the filtering results, as well as the need for appropriate decisions by the system to whole.
Указанные преимущества перед устройством-прототипом [3] достигаются за счет того, что в программируемый цифровой фильтр, содержащий три регистра, два мультиплексора, регистр константы, дешифратор, три сдвиговых регистра, три блока умножения, два блока инвертирования знака, четыре сумматора, D-триггер и блок синхронизации, дополнительно введены второй D-триггер и элемент ИЛИ. При этом выход первого сумматора служит выходом фильтра, первый числовой вход первого сумматора соединен одновременно с входом множимого первого блока умножения и выходом первого мультиплексора, информационные входы которого соединены соответственно с прямым и инверсным информационными входами первого регистра. Числовой выход первого регистра подключен одновременно к прямому выходу второго мультиплексора, второй информационный вход которого соединен с инверсным выходом второго регистра. Выход второго мультиплексора соединен с первым числовым входом второго сумматора, выход которого подключен одновременно к второму входу первого сумматора и входу множимого второго блока умножения, выходом соединенного с входом первого блока инвертирования знака. Выход последнего соединен с первым числовым входом третьего сумматора, второй числовой вход которого подключен к выходу второго блока инвертирования знака. Входы множителей первого и второго блоков умножения подключены к выходам соответственно первого и второго сдвиговых регистров, информационный вход которого является входом задания константы фильтра, а входом запуска является вход запуска блока синхронизации. Первый выход последнего соединен с тактовым входом третьего регистра, информационный вход которого служит входом фильтра, а также тактовым входом первого, второго регистров и первого D-триггера, выход которого соединен с входом переноса четвертого сумматора. Выход первого разряда четвертого сумматора подключен к информационному входу первого D-триггера, причем первый и второй числовые входы четвертого сумматора соединены соответственно с выходами третьего сумматора и третьего блока умножения. Вход множимого третьего блока умножения подключен к выходу третьего регистра. Вход множимого третьего блока умножения подключен к выходу третьего регистра. Вход множителя третьего блока умножения соединен с выходом третьего регистра сдвига, информационный вход которого соединен с третьим выходом регистра константы. Управляющие входы первого, второго и третьего блоков умножения подключены к второму выходу блока синхронизации, третий выход которого подключен к тактовым входам первого и третьего регистров сдвига. Четвертый и пятый выходы регистра константы подключены соответственно к первому и второму входам дешифратора, первый четвертый выходы которого соединены соответственно с входом переноса второго сумматора, первого сумматора, а также управляющими входами первого и второго блоков инвертирования знака. Информационный вход второго D-триггера соединен с выходом переноса первого сумматора, а выход второго D-триггера подключен к первому входу элемента ИЛИ, второй вход которого подключен к установочному входу регистра константы и служит установочным входом фильтра, причем выход элемента ИЛИ соединен с установочными входами первого и второго регистров, а вход синхронизации второго D-триггера соединен с первым выходом блока синхронизации устройств. The indicated advantages over the prototype device [3] are achieved due to the fact that a programmable digital filter containing three registers, two multiplexers, a constant register, a decoder, three shift registers, three multiplication blocks, two sign inversion blocks, four adders, D- trigger and synchronization unit, a second D-trigger and an OR element are additionally introduced. In this case, the output of the first adder serves as the output of the filter, the first numerical input of the first adder is connected simultaneously with the input of the multiplicable first multiplication unit and the output of the first multiplexer, the information inputs of which are connected respectively to the direct and inverse information inputs of the first register. The numerical output of the first register is connected simultaneously to the direct output of the second multiplexer, the second information input of which is connected to the inverse output of the second register. The output of the second multiplexer is connected to the first numerical input of the second adder, the output of which is connected simultaneously to the second input of the first adder and the input of the multiplier second multiplication block, the output connected to the input of the first sign invert unit. The output of the latter is connected to the first numerical input of the third adder, the second numerical input of which is connected to the output of the second sign inverting unit. The inputs of the multipliers of the first and second multiplication blocks are connected to the outputs of the first and second shift registers respectively, the information input of which is the input of the filter constant, and the trigger input is the trigger input of the synchronization block. The first output of the latter is connected to the clock input of the third register, the information input of which serves as the input of the filter, as well as the clock input of the first, second registers and the first D-trigger, the output of which is connected to the transfer input of the fourth adder. The output of the first discharge of the fourth adder is connected to the information input of the first D-trigger, and the first and second numerical inputs of the fourth adder are connected respectively to the outputs of the third adder and the third multiplication unit. The input of the multiplicative third multiplication block is connected to the output of the third register. The input of the multiplicative third multiplication block is connected to the output of the third register. The input of the multiplier of the third multiplication block is connected to the output of the third shift register, the information input of which is connected to the third output of the constant register. The control inputs of the first, second and third multiplication units are connected to the second output of the synchronization unit, the third output of which is connected to the clock inputs of the first and third shift registers. The fourth and fifth outputs of the constant register are connected respectively to the first and second inputs of the decoder, the first fourth outputs of which are connected respectively to the transfer input of the second adder, the first adder, as well as the control inputs of the first and second sign inverting units. The information input of the second D-trigger is connected to the transfer output of the first adder, and the output of the second D-trigger is connected to the first input of the OR element, the second input of which is connected to the installation input of the constant register and serves as the installation input of the filter, and the output of the OR element is connected to the installation inputs of the first and second registers, and the synchronization input of the second D-trigger is connected to the first output of the device synchronization block.
Предлагаемое устройство реализует систему разностных уравнений рекурсивных цифровых фильтров 2-го порядка, в том числе
где xi, yi текущее значение отсчетов входного и выходного сигналов;
Vi, Vi-1, Vi-2 текущее значение переменных;
А, В коэффициенты (плюсы) передаточной функции;
С переменный коэффициент масштабирования.The proposed device implements a system of difference equations of recursive digital filters of the 2nd order, including
where x i , y i the current value of the samples of the input and output signals;
V i , V i-1 , V i-2 the current value of the variables;
A, B coefficients (pluses) of the transfer function;
With variable scaling factor.
На фиг. 1 представлена функциональная схема программируемого цифрового фильтра; на фиг.2 функциональная схема блока умножения; на фиг.3 - функциональная схема блока синхронизации; на фиг.4 временная диаграмма работы фильтра. In FIG. 1 shows a functional diagram of a programmable digital filter; figure 2 functional block diagram of the multiplication; figure 3 is a functional diagram of a synchronization unit; figure 4 is a timing diagram of the filter.
Согласно изобретению программируемый цифровой фильтр (фиг.1) содержит регистр 1 хранения текущего значения входного сигнала, выход которого соединен с входом множимого блока 2 умножения, выход которого соединен с первым числовым входом комбинационного сумматора 3. Выход первого разряда сумматора 3 подключен к информационному входу D-триггера 4, выходом соединенного с входом переноса этого же сумматора. Выходы остальных разрядов сумматора 3 соединены с числовым входом регистра 5, прямой и инверсный выходы которого соединены через мультиплексор 6 с первым числовым входом комбинационного сумматора 7. Второй числовой вход данного сумматора соединен с выходом сумматора 3. Прямой выход регистра 5 соединен также с входом регистра 8, прямой и инверсный выходы которого соединены с числовыми входами мультиплексора 9. Выходы сумматора 7 и мультиплексора 9 соединены соответственно с первым и вторым входами комбинационного сумматора 10, выход которого служит выходом фильтра. Выход переноса сумматора 10 подсоединен к информационному входу D-триггера 11, выходом соединенного с первым входом элемента ИЛИ 12. According to the invention, a programmable digital filter (Fig. 1) contains a register 1 for storing the current value of the input signal, the output of which is connected to the input of the multiplier unit 2 of the multiplication, the output of which is connected to the first numerical input of the
Регистр 1, регистры 5, 8 и мультиплексоры 6, 9 содержат N двоичных разрядов (например, N= 10), в разрядной сетке сумматоров 7 и 10 N+2 разряда, сумматор 3 имеет N+1 разряд. Входы управления мультиплексоров 6 и 9 и входы переноса сумматоров 7 и 10 соединены с выходами дешифратора 13, соединенного с первым выходом регистра 14 константы. Второй, третий и четвертый выходы регистра 14 соединены с числовыми входами сдвиговых регистров 15, 16 и 17. Выходы сумматора 7 и мультиплексора 9 подключены к числовым входам множимого блоков 18 и 19 умножения соответственно. Выходы блоков 18 и 19 соединены через блоки 20 и 21 инвертирования знака с входами комбинационного сумматора 3. Выходы управления блоков 20 и 21 инвертирования знака соединены с выходами знаковых разрядов регистра 14 константы. Входы множителей блоков 2, 18 и 19 соединены с выходами сдвиговых регистров 15, 16 и 17. Входы управления регистра 1, регистров 5, 8, сдвиговых регистров 15, 16 и 17, блоков 2, 18 и 19 умножения, тактовые входы D-триггеров 4 и 11 соединены с соответствующими выходами блока 23 синхронизации, вход которого служит входом пуска цифрового фильтра. Второй вход элемента ИЛИ 12 соединен одновременно с входом начальной установки регистра 14 константы и служит входом начальной установки фильтра, а выход элемента ИЛИ 12 подключен к установочным входам регистров 5 и 8. Register 1, registers 5, 8 and
Каждый из блоков 2, 18 и 19 умножения (фиг. 1,2) содержит N-разрядный комбинационный сумматор 24, мультиплексор 25, регистр аккумулятор 26 и D-триггер 27. Выход мультиплексора 25 подключен к первому числовому входу сумматора 24, выход которого соединен с числовым входом регистра - аккумулятора 26, первый разряд которого подключен к информационному входу D-триггера 27, выходом соединенного с входом переноса сумматора 24. Остальные разряды регистра 26 соединены с разрядами I.(N+1) второго числового входа сумматора 24 с расширением (N-1) разряда на N-й разряд. Первый числовой вход мультиплексора 25 подключен к выходу регистра 1 хранения, выходу сумматора 7 или мультиплексора 9, а разряды второго числового входа соединены с шиной логического нуля. Вход управления мультиплексора 25 служит входом регистров 15, 16, 17 сдвига. Входы записи и сброса регистра 26 подключены к соответствующим входам блока 23 синхронизации. Выходы разрядов 2.N и знаковый разряд мультиплексора 25 образуют N-разрядный выход произведения в дополнительном коде. Each of the blocks 2, 18 and 19 of the multiplication (Fig. 1,2) contains an N-
Блок синхронизации 23 (фиг.1 и 3) содержит двухразрядный счетчик 28, четырехразрядный счетчик 29, триггеры 30 и 31, тактовый генератор 32 и дешифраторы 33 и 34. Тактовые входы счетчиков 28 и 29 соединены с выходом генератора 32, а входы управления с выходами триггеров 30 и 31. Вход S триггера 30 служит входом импульса "Пуск" фильтра. Выход переполнения счетчика 28 соединен с входами сброса триггера 30 и собственно счетчика 28.Выходы счетчика 28 соединены с входами дешифратора 34, входы которого, кроме этого, соединены парафазными выходами генератора 32, а также с выходами дешифратора 33, вход которого подключен к выходу счетчика 29. Отдельный выход дешифратора 33 подключен к входам сброса счетчика 29 и триггера 31. The synchronization unit 23 (FIGS. 1 and 3) contains a two-bit counter 28, a four-
Предпочтительной элементной базой для реализации предложенного фильтра является полузаказная матричная БИС, выполненная по К-МОП технологии. Поэтому макет прототипа целесообразно изготовить на элементах серии 564 средней степени интеграции. Серия содержит функциональные блоки, используемые в предлагаемом фильтре, в том числе регистры хранения и сдвига, мультиплексоры и комбинационные сумматоры (справочное пособие. /Под ред. С.В.Якубовского. Аналоговые и цифровые интегральные схемы. М. Радио и связь, 1990, с. 118-141). The preferred elemental base for the implementation of the proposed filter is a semi-ordered matrix LSI, made by K-MOS technology. Therefore, it is advisable to make a prototype model on elements of the 564 series of an average degree of integration. The series contains functional blocks used in the proposed filter, including storage and shift registers, multiplexers and combiners (reference manual. / Under the editorship of S.V. Yakubovsky. Analog and digital integrated circuits. M. Radio and communication, 1990, p. 118-141).
Предлагаемый программируемый цифровой фильтр работает следующим образом. Для настройки фильтра на выбранную передаточную функцию в регистр 14 константы (фиг. 1) импульсом "Начальная установка" вводится вектор состояния V(F, А, В, С), где F двухразрядный код передаточной функции. Тем же импульсом через элемент ИЛИ 12 стирается содержимое регистров 5 и 8. Содержимое регистра 14 сохраняется на время работы с заданной передаточной функцией фильтра. Результатом начальной установки является выбор одной из трех систем уравнений (4-6), которые можно записать следующим образом:
где α,β переменные на выходе дешифратора 13, зависящие от кода F, который принимает значение 01 для ФНЧ, 10 для ФВЧ и 11 для ПФ. Дешифратор 13 обеспечивает формирование функций a(F) и b(F):
Константа масштабирования С не зависит от кода F и определяется расчетным путем в зависимости от вида сигнала на входе и величины модуля передаточной функции.The proposed programmable digital filter operates as follows. To configure the filter for the selected transfer function, a constant vector “V” (F, A, B, C) is entered into the constant register 14 of the constant (Fig. 1), where F is a two-digit transfer function code. The same pulse through the element OR 12 erases the contents of registers 5 and 8. The contents of register 14 is stored for the duration of the operation with the specified transfer function of the filter. The result of the initial installation is the selection of one of three systems of equations (4-6), which can be written as follows:
where α, β are the variables at the output of the decoder 13, depending on the code F, which takes the value 01 for the low-pass filter, 10 for the high-pass filter, and 11 for the PF. The decoder 13 provides the formation of functions a (F) and b (F):
The scaling constant C does not depend on the code F and is determined by calculation, depending on the type of signal at the input and the magnitude of the transfer function module.
При настройке на фильтр нижних частот между блоками устройства устанавливаются следующие связи:
мультиплексор 6 соединяет прямой выход регистра 5 с вторым входом сумматора 7;
мультиплексор 9 подключает прямой выход регистра 8 к второму входу сумматора 10;
на входы переноса сумматоров 7 и 10 из дешифратора 13 подается потенциал логического нуля.When tuned to a low-pass filter, the following connections are established between the device blocks:
the
the multiplexer 9 connects the direct output of the register 8 to the second input of the adder 10;
at the inputs of the transfer of adders 7 and 10 from the decoder 13 is fed a potential logical zero.
При настройке на ФВЧ:
мультиплексор 6 соединяет инверсный выход регистра 5 с входом сумматора 7, а мультиплексор 9 соединяет прямой выход регистра 8 с входом сумматора 10;
на вход переноса сумматора 7 из дешифратора 13 поступает потенциал логической единицы, а на вход переноса сумматора 10 потенциал логического нуля.When tuned to the HPF:
the
at the input of the transfer of the adder 7 from the decoder 13 receives the potential of a logical unit, and at the input of the transfer of the adder 10 the potential is a logical zero.
При выборе ПФ:
мультиплексор 6 запирается и выдает нули по всем разрядам на вход сумматора 7, мультиплексор 9 соединяет инверсный вход регистра 8 с входом сумматора 10;
на вход переноса сумматора 7 из дешифратора 13 поступает потенциал логического нуля, а на вход переноса сумматора 10 поступает потенциал логической единицы.When choosing a PF:
the
the input of the adder 7 from the decoder 13 receives the potential of a logical zero, and the input of the transfer of the adder 10 receives the potential of a logical unit.
В любом из рассмотренных вариантов настройка цифрового фильтра завершается не более чем через 0,1.0,15 мкс после записи вектора состояния в регистр 14. In any of the options considered, the digital filter setup is completed no more than 0.1.0.15 μs after the state vector is written to register 14.
Текущее значение переменной yi на выходе фильтра вычисляется циклически с частотой выборки входной переменной xi. Эта частота зависит от быстродействия внешнего источника информации. Последний по мере готовности нового значения xi на входе регистра 1 посылает импульс "Пуск" на вход блока 23 синхронизации (фиг.4а), и с этого момента начинается цикл работы фильтра. В блоке 23 синхронизации (фиг. 1 и 3) триггер 30 переходит в состояние "1" (фиг. 4б) и остается в нем в течение двух тактов генератора 32 (фиг.4в). Импульс "Пуск" используется и как команда пересылки числа из регистра 5 в регистр 8.The current value of the variable y i at the output of the filter is calculated cyclically with the sampling frequency of the input variable x i . This frequency depends on the speed of the external information source. The latter, as soon as the new value x i is ready at the input of the register 1, sends a Start pulse to the input of the synchronization block 23 (Fig. 4a), and from this moment the filter cycle begins. In the block 23 synchronization (Fig. 1 and 3), the
В результате в регистре 8 записывается значение Vi-2 (фиг.4г). Дешифратор 34 по первому тактовому импульсу формирует импульс передачи содержимого регистра 1 в регистр 5 (фиг.4д), благодаря чему запоминаются новые значения Vi-1. В первой половине второго такта дешифратор 34 формирует импульс записи очередного значения xi в регистр 1 (фиг.4е). Этим же импульсом производится сброс регистров-аккумуляторов 26 в блоках 2,18 и 19, а также запись модулей весовых коэффициентов А, В и С в прямом коде в регистры 15, 16 и 17 сдвига. Во втором такте дешифратор 34 переводит триггер 31 в состояние "1" (фиг. 4ж), а триггер 30 возвращается в нулевое состояние импульсом переполнения счетчика 28. Триггер 31 разрешает работу счетчика 29, с помощью которого формируется серия управляющих импульсов для регистров 15, 16 и 17 и блоков 2, 18 и 19 умножения. Серия заканчивается в начале N+2 такта работы счетчика 29, когда дешифратор 33 фиксирует такт с указанным номером и возвращает триггер 31 в нулевое состояние (фиг.4ж, з). В рассматриваемом примере блок 23 синхронизации выполнен для десяти разрядных коэффициентов А, В, С. Поэтому серия управляющих импульсов включает в себя 9 импульсов сдвига для сдвиговых регистров 15, 16 и 17 (фиг.4и), из которых модули коэффициентов А, В, С выходят младшими разрядами вперед (фиг.4к); 9 импульсов записи чисел из сумматоров 24 в регистры-аккумуляторы 26 (фиг.4л); 8 импульсов записи содержимого 1-го разряда регистра-аккумулятора 26 в триггер 27 (фиг.4м); импульс округления результата в сумматоре 3 (фиг.4н).As a result, the value V i-2 is recorded in the register 8 (Fig. 4d). The
Так как сумматоры 3, 7 и 10 комбинационного типа, то сразу после выполнения масштабирования входной переменной с помощью множителя 2 на выходе сумматора 3 появляется число хi=Vi, на выходе сумматора 7 - Vi + α • Vi-1 а на выходе сумматора 10 число Vi + a • Vi-1 + b • Vi-2 уi. В соответствии с выбранной передаточной функцией на выходе сумматора 10 получим значение выходного сигнала уi.Since the
Операции умножения на коэффициенты А, В и С выполняются синхронно тремя умножителями следующим образом. Двоичная цифра последовательного кода множителя A, B, C управляет состоянием соответствующего мультиплексора 25 в блоках 2, 18 и 19 умножения. Если цифра множителя аj=0 (вj), где j 0, 1, 2. 8, то на выходе мультиплексора 25 будет "0", а если аj 1 (вj 1), то число Vi-1 (в блоке 18), Vi-2 (в блоке 19) или хi (в блоке 2). На выходе сумматора 24 в блоке 18 умножения в j-м такте образуется сумма
Zi,j Vi-1 • Aj + 0,5 • Zi,j-1 + qj-1, (8)
где Zi,j-1 число в регистре 26 к началу j-го такта,
qj-1 цифра в триггере 27 к началу j-го такта.The operations of multiplying by the coefficients A, B and C are performed synchronously by three multipliers as follows. The binary digit of the serial code of the multiplier A, B, C controls the state of the corresponding
Z i, j V i-1 • A j + 0.5 • Z i, j-1 + q j-1 , (8)
where Z i, j-1 is a number in
q j-1 digit in
Умножение на коэффициент 0,5 в указанных уравнениях обеспечивается за счет новых связей между выходом регистра 26 и вторым входом сумматора 24, т. е. за счет смещения содержимого регистра 26 на один разряд вправо. При таком сдвиге отбрасываемая цифра 1-го разряда запоминается в D-триггере 27 и учитывается в следующем такте как цифра переноса в сумматоре 24. В середине каждого такта умножения число с выхода сумматора 24 записывается в регистр 26. К концу девятого такта умножения в блоке 18 формируется число • Vi-1, в блоке 19 • Vi-2, а в блоке 2 умножения формируется число С • xi. Если коэффициенты А и В принимают отрицательное значение, то произведение инвертируется по всем разрядам, а к содержимому младшего разряда добавляется единица. В результате число остается в дополнительном коде, но его знак меняется на противоположный. Если знак коэффициента положительный, то произведение передается через блоки 20 или 21 без изменения. В случае работы блока 2 умножения блок инвертирования отсутствует, так как коэффициент С всегда положительный. Из условия устойчивости рекурсивного цифрового фильтра 2-го порядка модуль коэффициента А выбирается в пределах от -2 до 2, коэффициента В от 0 до 1. Так как число А может быть больше единицы, то все множители приходится уменьшать вдвое. Поэтому при передаче из блока 2 умножения на первый, а из сумматора 22 соответственно на второй вход сумматора 3 необходимо произвести сдвиг слагаемого на один разряд влево, т.е. тем самым восстанавливаются истинные значения произведений на выходе блоков умножения. Во второй половине последнего такта работы блока 2 умножения число на выходе сумматора 3 округляется путем записи содержимого первого разряда этого сумматора в триггер 4 (фиг.4н) с последующим добавлением этой цифры к содержимому младшего разряда по входу переноса. После округления число с выходов 2. N+1 подается на вход комбинационного сумматора 7, выход которого соединен с входом выходного сумматора 10, т.е. после сложений получается результирующее значение yi выходного сигнала фильтра. При этом этот же управляющий импульс возвращает триггер 30 в нулевое состояние и тем самым переводит цифровой фильтр в ждущий режим. Результирующее значение уi на выходе сумматора 10 получим в дополнительном коде. Однако в случае реализации высокодобротных РЦФ, когда полюсы передаточной функции А и В находятся вблизи окружности единичного радиуса либо при обработке сигналов в условиях нестационарных шумов (например, в системах космической радионавигации) возможны случаи переполнений на выходе комбинационного сумматора 10, что подтверждается появлением сигнала логической единицы на выходе переноса указанного сумматора. В этом случае выходной результат фильтрации уi теряет достоверность, что приводит к потере работоспособности устройства.Multiplication by a coefficient of 0.5 in these equations is provided by new connections between the output of the
При появлении сигнала логической единицы на выходе переноса сумматора 10 триггер 11 переходит в единичное состояние и через элемент ИЛИ 12 сбрасывает в нулевое состояние регистры спецвычислителя цифрового фильтра. В этом случае цикл фильтрации начинается с появлением последующего значения хi на выходе аналого-цифрового преобразователя.When a logical unit signal appears at the transfer output of the adder 10, the trigger 11 switches to a single state and, through the OR element 12, resets the digital filter special calculator registers to zero. In this case, the filtering cycle begins with the appearance of the subsequent value x i at the output of the analog-to-digital converter.
Цикл работы фильтра от момента прихода импульса "Пуск" до получения результирующего значения уi на выходе сумматора 10 включает в себя 1,5 такта формирования нерекурсивной части системы уравнений (4) (6), М тактов умножения, 0,5 такта округления результата. Следовательно длительность цикла составляет
tц (2 + М) • Т, (9)
где Т период повторения импульсов тактового генератора 32;
М количество разрядов модуля множительного устройства.The filter operation cycle from the moment the “Start” pulse arrives until the resulting value of i at the output of the adder 10 is obtained; it includes 1.5 clock cycles for generating the non-recursive part of the system of equations (4) (6), M clock cycles, 0.5 rounds for rounding the result. Therefore, the cycle time is
t c (2 + M) • T, (9)
where T is the pulse repetition period of the
M is the number of bits of the multiplier module.
В макете предлагаемого устройства, выполненном на микросхемах 1564 и 564 серий при М=9 и тактовой частоте 2,1 МГц (Т=0,476 мкс), на вычисление очередного значения уi затрачивается время
tц (2 + 9) • 0,476 ≈ 5,24 (мкс).In the layout of the proposed device, made on chips 1564 and 564 series with M = 9 and a clock frequency of 2.1 MHz (T = 0.476 μs), it takes time to calculate the next value for i
t c (2 + 9) • 0.476 ≈ 5.24 (μs).
В случае реализации предлагаемого устройства на основе БИС 1537ХМ2, работающей на тактовой частоте 20 МГц, время вычисления очередного значения уi будет равно
tц (2 + 9) • 50 • 10-9 0,55 (мкс).In the case of the implementation of the proposed device based on BIS 1537XM2, operating at a clock frequency of 20 MHz, the calculation time of the next value for i will be equal to
t c (2 + 9) • 50 • 10 -9 0.55 (μs).
Это позволяет на базе одного кристалла реализовывать путем каскадного соединения базовых звеньев 2-го порядка (предлагаемое устройство) рекурсивные цифровые фильтры 2.40 порядка. В случае реализации РЦФ 2-го порядка коэффициент заполнения кристалла равен 70% что позволяет использовать пакеты прикладных программ автоматизированной трассировки межсоединений "Ритм". This allows, on the basis of a single crystal, to realize, by cascading connection of basic links of the 2nd order (the proposed device), recursive digital filters of 2.40 order. In the case of the implementation of a second-order RCF, the crystal fill factor is 70%, which allows the use of software packages for automated routing of interconnects "Rhythm".
Это означает, что предлагаемое устройство не уступает по быстродействию устройству-прототипу [3] обладая при этом более широкими функциональными возможностями. This means that the proposed device is not inferior in speed to the prototype device [3] while possessing wider functionality.
Изложенное выше показывает, что введение еще одного D-триггера и элемента ИЛИ позволяет осуществлять контроль за наличием ситуации переполнения на выходе фильтра, причем в случае, если указанная ситуация имеет место, то обнуляются регистры задержки промежуточных результатов фильтрации, причем выход вводимого дополнительно D-триггера может быть использован в качестве флага, подтверждающего искажение результатов и принятия соответствующих решений в информационно вычислительных системах, где применяется предлагаемое устройство. The above shows that the introduction of another D-trigger and an OR element allows you to monitor the presence of an overflow situation at the filter output, and if this situation occurs, then the delay registers of the intermediate filtering results are reset, and the output of an additional D-trigger can be used as a flag, confirming the distortion of the results and making appropriate decisions in information computer systems where the proposed device is used.
Таким образом, цель изобретения достигнута. Thus, the objective of the invention is achieved.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU94038957A RU2097828C1 (en) | 1994-09-29 | 1994-09-29 | Programmable digital filter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU94038957A RU2097828C1 (en) | 1994-09-29 | 1994-09-29 | Programmable digital filter |
Publications (2)
Publication Number | Publication Date |
---|---|
RU94038957A RU94038957A (en) | 1996-07-20 |
RU2097828C1 true RU2097828C1 (en) | 1997-11-27 |
Family
ID=20161793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU94038957A RU2097828C1 (en) | 1994-09-29 | 1994-09-29 | Programmable digital filter |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2097828C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2444123C1 (en) * | 2010-06-23 | 2012-02-27 | Государственное образовательное учреждение высшего профессионального образования "Казанский государственный энергетический университет" (КГЭУ) | Adaptive smoothing device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2460130C1 (en) * | 2011-04-13 | 2012-08-27 | Закрытое акционерное общество "Ассоциация предприятий морского приборостроения" | Method for digital recursive band-pass filtering and digital filter for realising said method |
-
1994
- 1994-09-29 RU RU94038957A patent/RU2097828C1/en active
Non-Patent Citations (1)
Title |
---|
1. Гольденберг Л.М. Цифровые устройства на интегральных схемах в технике связи. - М.: Мир, 1979, с. 156, рис. 526. 2. SU, авторское свидетельство, 1374244, кл. G 06 F 17/00, 1988. 3. SU, авторское свидетельство, 1592855, кл. G 06 F 17/00, 1990. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2444123C1 (en) * | 2010-06-23 | 2012-02-27 | Государственное образовательное учреждение высшего профессионального образования "Казанский государственный энергетический университет" (КГЭУ) | Adaptive smoothing device |
Also Published As
Publication number | Publication date |
---|---|
RU94038957A (en) | 1996-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5339264A (en) | Symmetric transposed FIR digital filter | |
SU1313362A3 (en) | Digital filter | |
US4920508A (en) | Multistage digital signal multiplication and addition | |
US4819252A (en) | Sampled data subsampling apparatus | |
Zohar | New hardware realizations of nonrecursive digital filters | |
JPH0370411B2 (en) | ||
EP0693236B1 (en) | Method and arrangement in a transposed digital fir filter for multiplying a binary input signal with tap coefficients and a method for designing a transposed digital filter | |
US5191547A (en) | Decimating digital finite impulse response filter | |
EP1105967A1 (en) | Multiplierless digital filtering | |
JPH082014B2 (en) | Multi-stage digital filter | |
US4192008A (en) | Wave digital filter with multiplexed arithmetic hardware | |
RU2097828C1 (en) | Programmable digital filter | |
RU2057364C1 (en) | Programming digital filter | |
RU2006936C1 (en) | Programmable digital filter | |
JP3258938B2 (en) | Decimation filter | |
SU942247A1 (en) | Digital non-recursive filter | |
SU465715A1 (en) | Analog-digital filter | |
SU913586A1 (en) | Code-to-harmonic signal frequency | |
EP0213854A2 (en) | Fixed-Coefficient serial multiplication and digital circuits therefor | |
JPH10322164A (en) | Digital filter | |
JPH0685610A (en) | Finite impulse response filter | |
SU748880A1 (en) | Pulse recurrence rate divider with variable division factor | |
JP2001177378A (en) | Fir digital filter | |
SU732946A1 (en) | Stochastic converter | |
JPH0435417A (en) | Oversample analog/digital converter |