RU2006936C1 - Programmable digital filter - Google Patents
Programmable digital filter Download PDFInfo
- Publication number
- RU2006936C1 RU2006936C1 SU5016893A RU2006936C1 RU 2006936 C1 RU2006936 C1 RU 2006936C1 SU 5016893 A SU5016893 A SU 5016893A RU 2006936 C1 RU2006936 C1 RU 2006936C1
- Authority
- RU
- Russia
- Prior art keywords
- output
- input
- adder
- register
- filter
- Prior art date
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано в измерительных устройствах систем автоматического управления, связи и акустической технике. The invention relates to computer technology and can be used in measuring devices of automatic control systems, communications and acoustic technology.
Известен рекурсивный цифровой фильтр второго порядка, содержащий элементы задержки, матричные блоки умножения, преобразователи кода и сумматор на пять входов. Данный фильтр имеет высокое быстродействие (1 мкс) благодаря применению матричных блоков умножения и выполнению остальных операций в параллельных кодах. Однако он имеет фиксированные связи, т. е. настроен на передаточную функцию одного вида, причем с большими аппаратурными затратами. Сложность фильтра обусловлена применением пяти матричных блоков умножения, а также тем, что умножение выполняется в прямых кодах, а алгебраическое сложение - в дополнительных. Поэтому на выходах блоков умножения введены преобразователи прямого кода в дополнительный, а на выходе сумматора происходит преобразование дополнительного кода в прямой. Блок управления в указанном фильтре отсутствует, но его функции по организации последовательности выполнения операций распределены между дополнительными элементами задержки, связанными с выходами блоков умножения. С учетом упомянутых элементов задержки входных и выходных сигналов общее количество элементов задержки достигает одиннадцати, причем каждый из них выполнен в виде многоразрядного регистра. Known recursive digital filter of the second order, containing delay elements, matrix multiplication blocks, code converters and an adder for five inputs. This filter has high speed (1 μs) due to the use of matrix multiplication blocks and the execution of other operations in parallel codes. However, it has fixed connections, that is, it is tuned to a transfer function of the same type, and with high hardware costs. The complexity of the filter is due to the use of five matrix multiplication blocks, as well as the fact that the multiplication is performed in direct codes, and algebraic addition in additional codes. Therefore, at the outputs 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 specified filter is absent, but its functions for organizing the sequence of operations are distributed between additional delay elements associated with the outputs of the multiplication blocks. 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.
Недостатки вышеуказанного фильтра частично устранены в программируемом рекурсивном цифровом фильтре второго порядка, содержащим регистры, два блока умножения, блок синхронизации, сумматоры, мультиплексоры, а также два сдвиговых регистра, дешифратор, два блока инвертирования знака, регистр константы и триггер. В этом фильтре создается возможность оперативной перестройки частотных характеристик, причем не только путем смещения частот среза, но и путем преобразования формы характеристик. Фильтр реализует систему разностных уравнений цифровых фильтров второго порядка, в том числе полосового фильтра (ПФ), фильтра нижних частот (ФНЧ) и фильтра верхних частот (ФВЧ):
; где Хi и Yi - текущие значения входного и выходного сигналов;
Хi-1, Хi-2, Yi-1, Yi-2 - предшествующие значения переменных;
А, В - весовые коэффициенты;
С - константа масштабирования.The disadvantages of the above filter are partially eliminated in a second-order programmable recursive digital filter containing registers, two multiplication blocks, a synchronization block, adders, multiplexers, as well as two shift registers, a decoder, two sign inversion blocks, a constant register and a trigger. This filter creates the possibility of real-time tuning of the frequency characteristics, not only by shifting the cutoff frequencies, but also by transforming the shape of the characteristics. The filter implements a system of difference equations of second-order digital filters, including a band-pass filter (PF), a low-pass filter (LPF) and a high-pass filter (HPF):
; where X i and 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 the variables;
A, B - weighting factors;
C is the scaling constant.
Возможность оперативной трансформации передаточной функции и сброса содержимого регистров хранения и элементов задержки расширяет класс решаемых задач, например, в адаптивных системах автоматического регулирования.
Однако наличие выходного регистра фиксации результата уменьшает быстродействие фильтра. Кроме того, масштабирующий множитель выбран фиксированным, что затрудняет работу фильтра при скачкообразном изменении отношения сигнал/шум на его входе. Наиболее близким по технической сущности к предлагаемому является программируемый рекурсивный цифровой фильтр второго порядка, включающий в себя четыре регистра, два мультиплексора, регистр константы, дешифратор, три блока умножения, два блока инвертирования знака, три сдвиговых регистра, блок синхронизации, три сумматора, блок суммирования, состоящий из комбинированного сумматора и триггера округления результатов вычисления.The ability to quickly transform the transfer function and reset the contents of the storage registers and delay elements expands the class of tasks to be solved, for example, in adaptive automatic control systems.
However, the presence of the output register of fixing the result reduces the filter performance. In addition, the scaling factor is fixed, which makes it difficult for the filter to operate with an abrupt change in the signal-to-noise ratio at its input. The closest in technical essence to the proposed one is a programmable recursive digital filter of the second order, which includes four registers, two multiplexers, a constant register, a decoder, three multiplication blocks, two sign inverting blocks, three shift registers, a synchronization block, three adders, a summing block , consisting of a combined adder and a rounding trigger for the calculation results.
Недостатком данного фильтра является недостаточно высокое качество фильтрации. The disadvantage of this filter is the insufficient quality of the filter.
Цель изобретения - повышение качества фильтрации за счет введения двойной обратной связи по ошибке квантования. Фильтр реализует систему разностных уравнений цифровых фильтров второго порядка, в том числе ПФ, ФНЧ и ФВЧ с двойной обратной связью по ошибке квантования:
vi-2-K1·li-1-K2·li-2] ; (2)
vi-2-K1·li-1-K2·li-2] ; (3)
vi-2-K1·li-1-K2·li-2] ; (4) где Vi, Vi-1, Vi-2 - текущие значения переменных;
li-1, li-2 - текущие значения ошибки квантования;
K1, K2 - весовые коэффициенты умножителей по ошибке квантования.The purpose of the invention is to improve the quality of the filter due to the introduction of double feedback on the quantization error. The filter implements a system of difference equations of digital filters of the second order, including PF, low-pass filter and high-pass filter with double feedback by quantization error:
v i-2 -K 1 · l i-1 -K 2 · l i-2 ]; (2)
v i-2 -K 1 · l i-1 -K 2 · l i-2 ]; (3)
v i-2 -K 1 · l i-1 -K 2 · l i-2 ]; (4) where V i , V i-1 , V i-2 are the current values of the variables;
l i-1 , l i-2 - current values of the quantization error;
K 1 , K 2 - weighting factors of the multipliers by quantization error.
Возможность реализации одной из трех систем уравнений (2) - (4) обеспечивается благодаря дешифратору кода передаточной функции фильтра, мультиплексорам, первому, второму и третьему сумматорам. Использование преобразователей параллельного кода в последовательный и трех блоков умножения создает возможность смены весовых коэффициентов и константы масштабирования. Инверторы знака и блок суммирования позволяют перестраивать рекурсивную часть систем уравнений (2) - (4). The possibility of implementing one of the three systems of equations (2) - (4) is provided thanks to the code of the filter transfer function decoder, multiplexers, the first, second and third adders. The use of parallel to serial converters and three multiplication blocks makes it possible to change the weighting factors and the scaling constant. Sign inverters and the summing unit allow you to rebuild the recursive part of the systems of equations (2) - (4).
Несмотря на очевидное достоинство используемых в прототипе и в предлагаемом фильтре умножителей, вследствие усечения с округлением результата умножения двух операндов для того, чтобы разрядность результата умножения была равна разрядности множителя и множимого (в нашем случае N = 10), возникают шумы квантования, которые существенно влияют на такие параметры фильтра, как динамический диапазон, отношение сигнал/шум и другие точностные показатели. Наиболее явно эффект усечения выходного сигнала проявляется при подаче на вход программируемого рекурсивного цифрового фильтра второго порядка слабых сигналов, т. е. при малых отношениях сигнал/шум. Возможный путь для устранения этого недостатка - применение операндов двойной длины. Однако техническая реализация таких устройств приводит к удвоению аппаратурных затрат. В предложенном фильтре указанный недостаток устранен введением двойной обратной связи по ошибки квантования.
Обозначим через Yi выходной сигнал фильтра без усечения, а через усеченный выходной сигнал. Выразим через входной сигнал Хi и ошибку усечения li. Сигнал Yi связан с усеченным выходом и ошибкой усечения выражением
Y(i) = (i) + l(i). (5)
В случае введения двойной обратной связи по ошибке квантования разложенное уравнение для реализации программируемых фильтров второго порядка приобретает вид
y(i)= ai·x(n-i)+b(n-1)-Ki·l(n-i) . (6)
Как видно из выражения (6), сигнал ошибки сначала задерживается, а затем возвращается на сумматор умноженным на коэффициенты Ki. Коэффициенты K1 и K2 выбраны равными соответственно 0,5 и 0,25. В этом случае умножение сводится к простому сдвигу соответственно на один и два разряда в сторону младших разрядов. В частотной области выражение (6) можно представить в общем виде так
(Z)= X(Z) [(ai·Z-1)/(1-bi·Z-1)] -E(Z)[(1)/(1-Ki·Z-1)] . (7)
Уравнение (7) показывает, что спектр усеченного выходного сигнала равен спектру входного, умноженного на передаточную функцию идеального фильтра, минус спектр E(Z) ошибки усечения, умноженный на некоторую "функцию ошибки". Как видно из выражения (6), в предельном случае коэффициенты Ki могут быть выбраны равными значениям полюсов (коэффициенты bi). В этом случае нет усиления Е(Z) полюсами фильтра, что особенно эффективно в звуковых системах, в частности в проигрыва- телях компакт-дисков. Кроме того, в таких устройствах особую осторожность нужно соблюдать на граничных частотах, т. е. частотах, близких к положению полюсов и частоте Найквиста, где сказываются эффекты близости комплексно-сопряженных полюсов. Необходимо заметить, что введение дополнительной обратной связи по ошибке квантования ухудшает отношение сигнал/шум, так как в младших разрядах выходного слова содержится аддитивная смесь сигнала с шумом. Этот недостаток устраняется предложенным фильтром за счет увеличения значения константы масштабирования.Despite the obvious advantage of the multipliers used in the prototype and in the proposed filter, due to truncation with rounding of the multiplication result of two operands, so that the digit capacity of the multiplication result is equal to the digit capacity of the factor and the multiplier (in our case N = 10), quantization noise occurs that significantly affects filter parameters such as dynamic range, signal-to-noise ratio and other accuracy indicators. The effect of truncating the output signal is most pronounced when weak signals are applied to the input of a programmable recursive digital filter of the second order, i.e., at low signal-to-noise ratios. A possible way to eliminate this drawback is to use double-length operands. However, the technical implementation of such devices leads to a doubling of hardware costs. In the proposed filter, this drawback is eliminated by introducing double feedback on quantization errors.
Denote by Y i the output signal of the filter without truncation, and by truncated output. Express through the input signal X i and the truncation error l i . Signal Y i is associated with a truncated output and truncation error expression
Y (i) = (i) + l (i). (5)
In the case of introducing double feedback by quantization error, the decomposed equation for the implementation of second-order programmable filters takes the form
y (i) = a i x (ni) + b (n-1) - K i l (ni) . (6)
As can be seen from expression (6), the error signal is first delayed, and then returned to the adder multiplied by the coefficients K i . The coefficients K 1 and K 2 are chosen equal to 0.5 and 0.25, respectively. In this case, the multiplication is reduced to a simple shift by one and two digits, respectively, towards the lower digits. In the frequency domain, expression (6) can be represented in general form as
(Z) = X (Z) [( a i Z -1 ) / (1- b i · Z -1 )] -E (Z) [(1) / (1- K i · Z -1 )]. (7)
Equation (7) shows that the spectrum of the truncated output signal is equal to the spectrum of the input multiplied by the transfer function of the ideal filter, minus the spectrum E (Z) of the truncation error multiplied by some “error function”. As can be seen from expression (6), in the extreme case, the coefficients K i can be chosen equal to the values of the poles (coefficients b i ). In this case, there is no gain E (Z) by the filter poles, which is especially effective in sound systems, in particular in CD players. In addition, in such devices, special care must be taken at boundary frequencies, i.e., frequencies close to the position of the poles and the Nyquist frequency, where the effects of proximity of complex conjugate poles affect. It should be noted that the introduction of additional feedback on the quantization error degrades the signal-to-noise ratio, since the lower bits of the output word contain an additive mixture of the signal and noise. This disadvantage is eliminated by the proposed filter by increasing the value of the scaling constant.
Перестройка фильтра производится после записи промасштабированного вектора состояния во второй регистр хранения. Время перестройки определяется задержкой на сумматорах комбинационного типа и равно для ИМС 564 серии примерно 50 -80 нс. В cлучае применения матричных БИС типа Н1537ХМ1 время перестройки уменьшается до 10-15 нс. В первом аналоге длительность цикла в 1 мкс достигается за счет сокращения процесса умножения до одного такта, но для этого требуются матричные блоки умножения, каждый из которых (а их в фильтре всего пять) при выполнении в виде БИС на базовых матричных кристаллах соизмерим по габаритам с предложенным фильтром. Кроме того, при большой сложности он имеет фиксированные связи между блоками, т. е. настроен на передаточную функцию одного вида. The filter is rebuilt after writing the scaled state vector to the second storage register. The tuning time is determined by the delay on combinational type combiners and is approximately 50 -80 ns for the 564 series ICs. In the case of using matrix LSIs of the type N1537XM1, the tuning time decreases to 10-15 ns. In the first analogue, a cycle time of 1 μs is achieved by reducing the multiplication process to one clock cycle, but this requires matrix multiplication blocks, each of which (and there are only five in the filter) when executed as LSI on basic matrix crystals is comparable in size with the proposed filter. In addition, with great complexity, it has fixed connections between blocks, i.e. it is configured for a transfer function of the same type.
По сравнению с вторым аналогом заявляемый фильтр обладает более высоким быстродействием, так как при его использовании отсутствует необходимость в выходном регистре фиксации результата, что сокращает цикл вычисления на 0,5 такта. Кроме того, сокращаются аппаратурные затраты, что имеет существенное значение при проектировании БИС на базовых матричных кристаллах. Во-вторых, путем введения третьего множительного устройства устраняется другой существенный недостаток второго аналога, в котором масштабирующий множитель выбирается фиксиро- ванным. В заявляемом фильтре коэффициент масштабирования можно менять от 0 до 1. Это особенно важно в случае скачкообразного изменения отношения сигнал/шум входного сигнала. Compared with the second analogue, the inventive filter has a higher speed, since when using it there is no need for an output register for fixing the result, which reduces the calculation cycle by 0.5 clock cycles. In addition, hardware costs are reduced, which is essential when designing LSIs on basic matrix crystals. Secondly, by introducing a third multiplier device, another significant drawback of the second analogue is eliminated, in which the scaling factor is chosen fixed. In the inventive filter, the scaling factor can be changed from 0 to 1. This is especially important in the case of an abrupt change in the signal-to-noise ratio of the input signal.
На фиг. 1 представлена функциональная схема программируемого цифрового фильтра; на фиг. 2 - схема блока умножения; на фиг. 3 - функциональная схема блока синхронизации; на фиг. 4 - временная диаграмма работы фильтра. In FIG. 1 shows a functional diagram of a programmable digital filter; in FIG. 2 is a diagram of a multiplication block; in FIG. 3 is a functional diagram of a synchronization unit; in FIG. 4 is a timing diagram of a filter.
Программируемый цифровой фильтр содержит регистр 1 хранения текущего значения входного сигнала, выходом соединенный с входом множимого блока 2 умножения, выход которого соединен с вторым информационным входом комбинационного сумматора 3. Выход первого разряда сумматора 3 подключен к информационному входу D-триггера 4, выходом соединенного с входом переноса этого сумматора. Выходы остальных разрядов сумматора 3 соединены с информационным входом регистра 5, прямой и инверсный выходы которого соединены через мультиплексор 6 с первым информационным входом комбинационного сумматора 7. Прямой выход регистра 5 соединен с регистром 8, прямой выход которого соединен с информационным входом мультиплексора 9. Выход сумматора 7 и выход мультиплексора 9 соединены соответственно с первым и вторыми входами комбинационного сумматора 10. Выход сумматора 10 является выходом фильтра. Регистры 1, 5, 8, мультиплексоры 6 и 9 содержат N двоичных разрядов (в нашем примере N = 8). В разрядной сетке сумматоров 7 и 10 N+2 разряда, а сумматор 3 имеет N+1 разряд. Входы управления мультиплексоров 6 и 9 и входы переноса сумматоров 7 и 10 соединены с выходами дешифратора 11, соединенного с четвертым выходом регистра 12 хранения вектора состояния фильтра. Третий, второй и первый выходы регистра 12 хранения вектора состояния фильтра соединены с информационными входами преобразователей 13, 14, 15 параллельных кодов коэффициентов в последовательные коды множителей. Выходы сумматора 7 и мультиплексора 9 подключены к числовым входам множимого блоков 16 и 17 умножения соответственно. Выходы блоков 16 и 17 умножения связаны через блоки управляемых 18 и 19 инверторов с входами комбинационного сумматора 20, выход которого соединен с первым информационным входом сумматора 3. Входы управления блоков 18 и 19 соединены с выходами знаковых разрядов регистра 12. Входы множителей блоков 2, 16, 17 соединены с выходами преобразователей 13, 14, 15. Входы управления регистров 1, 5 и 8, преобразователей 13, 14 и 15 кода, блоков 2, 16, 17 умножения и тактовый вход D-триггера 4 соединены с соответствующими выходами блока 21 синхронизации, вход которого служит входом пуска цифрового фильтра. Младшая часть информационных разрядов (например, младшие пять разрядов) с выхода сумматора 10, который является выходом фильтра, поступает на информационный вход регистра 22, выход которого подключен к информационному входу комбинационного сумматора 23 со сдвигом на один разряд в сторону младших разрядов, что соответствует умножению на коэффициент 0,5. Выход комбинационного сумматора 23 подсоединен одновременно к третьему информационному входу комбинационного сумматора 3 и информационному входу регистра 24. Выход данного регистра подключен к входу комбинационного сумматора 25 со сдвигом на два разряда в сторону младших разрядов, что соответствует умножению на коэффициент 0,25. Выход сумматора 25 соединен с четвертым информационным входом комбинационного сумматора 3. Тактовые входы регистров 22 и 24 подключены к второму выходу блока 21 синхронизации, при этом установочные входы регистров 22 и 24 соединены с установочным входом регистра 12 константы. The programmable digital filter contains a
Каждый из блоков 2, 16 и 17 умножения (фиг. 2) включает в себя разрядный комбинационный сумматор 26, мультиплексор 27, регистр-аккумулятор 28 и D-триггер 29. Выход мультиплексора 27 соединен с первым числовым входом сумматора 26, выход которого соединен с числовым входом регистра-аккумулятора 28, первым разрядом выходного слова подключенного к D-входу триггера 29, выход которого соединен с входом переноса сумматора 26. Остальные разряды регистра 28 соединены с разрядами 1. . . N+1 второго числового входа сумматора 26 с расширением (N-1)-го разряда на N-й разряд. Первый числовой вход мультиплексора 27 подключен к выходу регистра 1 хранения, выходу сумматора 7 или мультиплексора 9, а разряды второго числового входа соединены с шиной логического "0". Вход управления мультиплексора 27 служит входом множителя в прямом последовательном коде и соединен с выходом преобразователя 13, 14 и 15 кода соответственно. Входы записи и сброса регистра 28 подключены к соответствующим выходам блока 21 синхронизации. Выходы разрядов 2. . . N и знаковый разряд мультиплексора 27 образуют N-разрядный выход произведения в дополнительном коде. Each of the
Блок 21 синхронизации (фиг. 3) содержит двухразрядный счетчик 30, четырехразрядный счетчик 31, триггеры 32 и 33, тактовый генератор 34 и дешифраторы 35, 36. Тактовые входы счетчиков 30 и 31 соединены с выходом генератора 34, а входы управления - с выходами триггеров 32 и 33. S-вход триггера 32 служит входом импульса "Пуск" фильтра. Выход переполнения счетчика 30 соединен с входами триггера 32 и счетчика 30. Выходы счетчика 30 соединены со входом дешифратора 36, входы которого, кроме этого, соединены с парафазными выходами генератора 34, а также с выходами дешифратора 35, входом подключенного к выходу счетчика 31. Отдельный выход дешифратора 35 подключен к входам сброса счетчика 31 и триггера 33. Block 21 synchronization (Fig. 3) contains a two-
Преобразователи 13, 14 и 15 кода могут выполняться в виде регистра сдвига с параллельной записью весового коэффициента.
Предпочтительной элементной базой для реализации фильтра является полузаказная матричная БИС на базовых матричных кристаллах, выполненная по КМОП-технологии. Поэтому макет прототипа целесообразно изготовить на элементах 564 серии средней степени интеграции. Серия содержит функциональные блоки, используемые в предлагаемом фильтре, в том числе регистры хранения и сдвига, мультиплексоры, комбинационные сумматоры. The preferred element base for the implementation of the filter is a semi-ordered matrix LSI on the base matrix crystals, made by CMOS technology. Therefore, it is advisable to make a prototype model on elements of the 564 series of medium degree of integration. The series contains functional blocks used in the proposed filter, including storage and shift registers, multiplexers, combinational combiners.
Предлагаемый цифровой фильтр работает следующим образом. The proposed digital filter operates as follows.
Для настройки фильтра на выбранную передаточную функцию в регистр 12 импульсом "Начальная установка" вводится вектор состояния V(F, А, B, С), где F - двухразрядный код передаточной функции. Тем же импульсом стирается содержимое регистров 5, 8, 22, 24. Содержимое регистра 12 сохраняется на время работы с заданной передаточной функцией фильтра. Результатом начальной установки является выбор одной из трех систем уравнений (2)-(4), которые можно записать следующим образом:
ll-1K2·li-2] ; где α, β- переменные на выходе дешифратора 11, зависящие от кода F, который принимает значение 01 для ФНЧ, 10 для ФВЧ и 11 для ПФ. Дешифратор 11 обеспечивает формирование функций α(F) и β(F): и F= 10; Константа масштабирования С не зависит от кода F и определяется расчетнымпутем в зависимости от вида сигнала на входе и величины модуля передаточной функции фильтра.To configure the filter for the selected transfer function, the state vector V (F, A, B, C) is introduced into
l l-1 K 2 · l i-2 ]; where α, β are the variables at the output of the
При настройке на ФНЧ между блоками фильтра устанавливаются следующие связи: мультиплексор 6 подключает прямой выход регистра 5 к второму входу сумматора 7, мультиплексор 9 соединяет прямой выход регистра 8 с вторым входом сумматора 10, на входы переноса сумматоров 7 и 10 из дешифратора 11 подается потенциал логического "0". When tuning to the low-pass filter, the following connections are established between the filter blocks:
При настройке на ФВЧ мультиплексор 6 соединяет инверсный выход регистра 5 с входом сумматора 7, а мультиплексор 9 - прямой выход регистра 8 с входом сумматора 10, на вход переноса сумматора 7 из дешифратора 11 поступает потенциал логической "1", а на вход переноса сумматора 10 - потенциал логического "0". When tuned to a high-pass filter,
При выборе ПФ мультиплексор 6 запирается и выдает нули по всем разрядам на вход сумматора 7, мультиплексор 9 соединяет инверсный вход регистра 8 с входом сумматора 10, на вход переноса сумматора 7 из дешифратора 11 поступает потенциал логического "0", а на вход переноса сумматора 10 - потенциал логической "1". When choosing a PF,
В любом из рассмотренных вариантов настройки ЦФ завершается не более чем через 0,1. . . 0,15 мкс после записи вектора состояния в регистр 12. In any of the considered tuning options, the DF is completed in no more than 0.1. . . 0.15 μs after writing the state vector to register 12.
Текущее значение переменной Yi на выходе фильтра вычисляется циклически с частотой выборки входной переменной Хi. Эта частота зависит от быстродействия внешнего источника информации. Последний по мере готовности нового значения Хi на входе регистра 1 посылает импульс "Пуск" на вход блока 21 синхронизации (фиг. 4а) и с этого момента начинается цикл работы фильтра. В блоке синхронизации триггер 32 переходит в состояние "1" (фиг. 4б) и остается в нем в течение двух тактов генератора 34 (фиг. 4в). Импульс "Пуск" используется и как команда пересылки числа из регистра 5 в регистр 8, а из регистра 22 через сумматор 23 в регистр 24.The current value of the variable Y i at the filter output 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
В результате в регистре 8 записывается значение Vi-1, а в регистре 24 - значение ошибки квантования li-2 (фиг. 4г). Дешифратор 36 по первому тактовому импульсу формирует импульс передачи содержимого регистра 1 в регистр 5 и младших разрядов с выхода сумматора 10 в регистр 22 (фиг. 4д), благодаря чему запоминаются новые значения Vi-1 и li-1 соответственно. В первой половине второго такта дешифратор 36 формирует импульс записи очередного значения в регистр 1 (фиг. 4е). Этим же импульсом производятся сброс регистров 28 в блоках 2, 16 и 17 умножения, а также запись младших весовых коэффициентов А, В и С в прямом коде в преобразователи 13, 14 и 15. Во втором такте дешифратор 36 переводит триггер 33 в состояние "1" (фиг. 4ж), триггер 32 возвращается в нулевое состояние импульсом переполнения счетчика 30. Триггер 33 разрешает работу счетчика 31, с помощью которого формируется серия управляющих импульсов для преобразователей 13, 14 и 15 и блоков 2, 16 и 17 умножения. Серия заканчивается в начале (N+2)-го такта работы счетчика 31, когда дешифратор 35 фиксирует такт с указанным номером и возвращает триггер 33 в нулевое состояние (фиг. 4ж, з). В рассматриваемом примере блок 21 синхронизации выполнен для десятиразрядных коэффициентов А, В и С. Поэтому серия управляющих импульсов включает в себя девять импульсов сдвига для преобразователей 13, 14 и 15 (фиг. 4и), из которых модули коэффициентов А, В, С выходят младшими разрядами вперед (фиг. 4к), девять импульсов записи чисел из сумматоров 26 - в регистры 28 (фиг. 4л), восемь импульсов записи содержимого первого разряда регистра 28 - в триггер 29 (фиг. 4м), импульс округления результата - в сумматор 3 (фиг. 4н).As a result, the value V i-1 is recorded in the
Так как сумматоры 3, 7, 10, 23, 25 комбинационного типа, то тотчас после выполнения масштабирования входной переменной с помощью блока 2 умножения на выходе сумматора 3 появляется число Хi = Vi, на выходе сумматора 7 - число VK + α˙VK-1, на выходе сумматора 10 - число Vi + α˙Vi-1 + β˙Vi-2 = Yi, на выходе сумматора 23 - число Ki˙ li-1, а на выходе сумматора 25 - число K2 ˙li-2. В соответствии с выбранной передаточной функцией на выходе сумматора 10 получают значение выходного сигнала.Since the
Операции умножения на коэффициенты А, В, С выполняются синхронно тремя умножителями следующим образом. Двоичная цифра последовательного кода множителя А, В, С управляет состоянием соответствующего мультиплексора 27 в блоках 2, 16 и 17 умножения. Если цифра множителя aj = = 0 (bj = 0), где j = 0,1,2. . . 8, то на выходе регистра-аккумулятора 28 будет число "0", а если aj = 1 (bj = 1) - число Vi-1 (в блоке 16), Vi-2 (в блоке 17) или Хi (в блоке 2). На выходе сумматора 26 в блоке 16 умножения в j-м такте образуется сумма
Zi,j = Vi-1˙ Aj + 0,5 ˙Zi,j-1 + qi-1 , где Zi,j-1 - число в регистре 24 к началу j-го такта;
qi-1 - цифра в триггере 29 к началу j-го такта.The operations of multiplying by the coefficients A, B, 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 i-1 , where Z i, j-1 is the number in the
q i-1 is the number in
Умножение на коэффициент 0,5 в указанных уравнениях обеспечивается за счет косых связей между выходами регистра-аккумулятора 28, т. е. за счет смещения содержимого регистра 28 на один разряд вправо. При таком сдвиге отбрасываемая цифра первого разряда записывается в триггер 29 и учитывается в следующем такте как цифра переноса в сумматоре 26. В середине каждого такта умножения число с выхода сумматора 26 записывается в регистр 28. К конце девятого такта умножения в блоке 16 умножения формируется число I А I˙Vi-1, в блоке 17 умножения - число I В I˙Vi-2, а в блоке 2 умножения - C˙ Хi. Если коэффициенты А и В принимают отрицательное значение, то произведение инвертируется по всем разрядам, а к содержимому младшего разряда добавляется единица. В результате число остается в дополнительном коде, но его знак меняется на противоположный. Если знак коэффициента положительный, то произведение передается через блок 18 или 19 без изменения, В случае работы блока 2 умножения блок инвертирования отсутствует, так как коэффициент С всегда положительный. Из условия устойчивости рекурсивного цифрового фильтра второго порядка модуль коэффициента А выбирается в пределах от 0 до 2, коэффициент В - от 0 до 1. Так как число А может быть больше единицы, то все множители приходится уменьшать вдвое. Поэтому сумма произведений передается с выхода регистра 28 на блок инверторов со сдвигом влево на один разряд. Кроме того, при передаче результата из блока 2 умножения, а из сумматора 20 соответственно на первый и второй входы сумматора 3 необходимо произвести сдвиг слагаемых на один разряд влево, т. е. тем самым восстановить истинные значения произведений на выходе блоков умножения. Во второй половине последнего такта работы блока 21 синхронизации число на выходе сумматора 3 округляется путем записи содержимого первого разряда этого сумматора в триггер 4 (фиг. 4н) с последующим добавлением этой цифры к содержимому младшего разряда по входу переноса. После округления число с выходов 2. . . N+1 подается на вход комбинационного сумматора 7, выход которого соединен с входом выходного сумматора 10, т. е. после сложения получается результирующее значение Yi выходного сигнала фильтра. При этом данный управляющий импульс возвращает триггер 4 в нулевое состояние и тем самым переводит цифровой фильтр в ждущий режим. Результирующее значение на выходе сумматора 10 получают в дополнительном коде.Multiplication by a coefficient of 0.5 in these equations is provided due to the oblique connections between the outputs of the register-accumulator 28, i.e., by shifting the contents of the register 28 by one bit to the right. With this shift, the discarded digit of the first digit is recorded in the
Цикл работы фильтра от момента прихода импульса "Пуск" до получения результирующего значения Yi на выходе сумматора 10 включает в себя 1,5 такта формирования нерекурсивной части системы уравнений (2) - (4), М тактов умножения, 0,5 такта округления результата. Следовательно, длительность цикла составляет
tц = (2+М)˙ Т, где Т - период повторения импульсов тактового генератора 34;
М - количество разрядов модуля множителя.The filter operation cycle from the moment of the “Start” pulse arrival to obtaining the resulting value Y i at the output of the adder 10 includes 1.5 cycles of forming the non-recursive part of the system of equations (2) - (4), M times of multiplication, 0.5 times of rounding of the result . Therefore, the cycle time is
t c = (2 + M) ˙ T, where T is the pulse repetition period of the
M is the number of bits of the multiplier module.
В макете цифрового фильтра, выполненного на микросхемах 564 серии, при М = = 9 и тактовой частоте 2,1 МГц (Т = 0,476 мкс) на вычисление очередного значения Yi затрачивается время
tц = (2+9) ˙0,476 ≈5,24 (мкс)
С переходом на элементную базу БИС на базовых матричных кристаллах Н1537ХМ1 тактовая частота равна 10 МГц, так как длина связей между элементами на кристалле на 3-4 порядка меньше, чем в макете, это позволяет сократить цикл работы до 1,1 -1,2 мкс.In the layout of a digital filter made on 564 series microcircuits, at M = 9 and a clock frequency of 2.1 MHz (T = 0.476 μs), it takes time to calculate the next value of Y i
t c = (2 + 9) ˙0.476 ≈5.24 (μs)
With the transition to the LSI element base on H1537XM1 base matrix crystals, the clock frequency is 10 MHz, since the length of the bonds between the elements on the chip is 3-4 orders of magnitude shorter than in the layout, this allows you to shorten the work cycle to 1.1 -1.2 μs .
По сравнению с прототипом предложенный фильтр, во-первых, не уступает в быстродействии за счет того, что значение задержек отсчетов обратной связи по ошибке квантования li-1 и li-2 вычисляется одновременно с отсчетами Vi-1 и Vi-2. Во-вторых, предложенный фильтр превышает прототип по точности. Как показано, для вычисления суммарной дисперсии I шумов квантования фильтра второго порядка с передаточной функцией вида
H(Z)= [(bo+b1·Z-1+b2Z-2)/(1+a1·Z-1+a2Z-2)] применяется формула
I= [(1)/2πj)] Y(Z)·Y(Z-1)dZ/Z .Compared with the prototype, the proposed filter, firstly, is not inferior in speed due to the fact that the delay value of the feedback samples by the quantization error l i-1 and l i-2 is calculated simultaneously with the samples V i-1 and V i-2 . Secondly, the proposed filter exceeds the prototype in accuracy. As shown, to calculate the total dispersion I of the quantization noise of a second-order filter with a transfer function of the form
H (Z) = [(b o + b 1 · Z -1 + b 2 Z -2 ) / (1 + a 1 · Z -1 + a 2 Z -2 )] the formula is applied
I = [(1) / 2πj)] Y (Z); Y (Z -1 ) dZ / Z.
Так как данная формула довольно сложна для расчетов, требует вычисления вычетов и, как следствие, видов полюсов передаточной функции, расчетные соотношения для вычисления суммарной дисперсии 1 фильтра второго порядка следующие:
где γo= a2·ao/bo; γ1= [(a2·a1+a1·ao)/bo] -[(b1·a2·ao)/b
γ2= _ +
Рассмотрим пример расчета ПФ с коэффициентами
bo = 0,125; ao = 1;
b1 = 0; a1 = -1,4375;
b2 = -1; а2 = 0,75.Since this formula is quite complicated for calculations, it requires the calculation of residues and, as a result, the types of poles of the transfer function, the calculated relations for calculating the total dispersion of a second-order filter are as follows:
where γ o = a 2 · a o / b o ; γ 1 = [(a 2 · a 1 + a 1 · a o ) / b o ] - [(b 1 · a 2 · a o ) / b
γ 2 = _ +
Consider an example of calculating the FS with coefficients
b o = 0.125; a o = 1;
b 1 = 0; a 1 = -1.4375;
b 2 = -1; and 2 = 0.75.
Тогда расчетные значения соответственно равны γ0= 6, γ1= -2, γ2= 76,55.Then the calculated values are respectively γ 0 = 6, γ 1 = -2, γ 2 = 76.55.
Суммарное значение дисперсии шумов квантования равно
I = 35,46.The total value of the quantization noise variance is
I = 35.46.
Значение дисперсии шумов квантования в децибеллах равно
σвых 2 = 10 lg I = 15,49 (дБ)
В случае введения двойной обратной связи по ошибке квантования передаточная функция системы выражается формулой (7). Предположим, что Е(Z) - белый шум с равномерным распределением, тогда передаточную функцию обратной связи можно представить как
H′(Z)= 1/(1-K1·Z-1-K2·Z-2) ,
K2 = 0,25.The decibel quantization noise variance is equal to
σ out 2 = 10 log I = 15.49 (dB)
In the case of introducing double feedback by quantization error, the transfer function of the system is expressed by formula (7). Suppose that E (Z) is a white noise with a uniform distribution, then the feedback transfer function can be represented as
H ′ (Z) = 1 / (1-K 1 · Z -1 -K 2 · Z -2 ),
K 2 = 0.25.
Это означает, что коэффициенты передаточной функции равны bo = 1, b1 = 0, b2 = 0, аo = 1, а1 = 0,5, а2 = 0,25.This means that the coefficients of the transfer function are equal to b o = 1, b 1 = 0, b 2 = 0, and o = 1, and 1 = 0.5, and 2 = 0.25.
Тогда γ0 = 0,25; γ1 = -0,375; γ2 = 1,875.Then γ 0 = 0.25; γ 1 = -0.375; γ 2 = 1.875.
В этом случае значение суммарной дисперсии
I′= 1, 375.In this case, the value of the total variance
I ′ = 1, 375.
Значение дисперсии в децибеллах равно
σ
Процентное соотношение дисперсии шума фильтра с обратной связью и без обратной связи (как в прототипе) выражается так
L = (I″/I)100% = (15,49-13,8)/15,49100% ≈10,9% .The percentage of noise variance of the filter with feedback and without feedback (as in the prototype) is expressed as
L = (I ″ / I) 100% = (15.49-13.8) / 15.49100% ≈10.9%.
Таким образом, введение двойной обратной связи уменьшает дисперсию шумов квантования и, как следствие, повышает качество фильтрации цифровых сигналов приблизительно на 11% . Thus, the introduction of double feedback reduces the dispersion of quantization noise and, as a result, improves the filtering quality of digital signals by approximately 11%.
Результаты экспериментов показывают, что в предлагаемом фильтре более высокая устойчивость коэффициентов передаточной функции и, как следствие, фильтра в целом по сравнению с прототипом, так как исчезают "мертвые" зоны на границах треугольника устойчивости, которые имели место в прототипе из-за нескомпенсированности шумов квантования. (56) Авторское свидетельство СССР N 1374244, кл. G 06 F 15/353, 1988. The results of the experiments show that in the proposed filter there is a higher stability of the transfer function coefficients and, as a result, of the filter as a whole compared to the prototype, since the “dead” zones at the boundaries of the stability triangle that occurred in the prototype due to uncompensated quantization noise disappear . (56) Copyright certificate of the USSR N 1374244, cl. G 06
Авторское свидетельство СССР
N 1592855, кл. G 06 F 15/353, 1990. USSR copyright certificate
N 1592855, cl. G 06
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5016893 RU2006936C1 (en) | 1991-10-28 | 1991-10-28 | Programmable digital filter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5016893 RU2006936C1 (en) | 1991-10-28 | 1991-10-28 | Programmable digital filter |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2006936C1 true RU2006936C1 (en) | 1994-01-30 |
Family
ID=21591725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU5016893 RU2006936C1 (en) | 1991-10-28 | 1991-10-28 | Programmable digital filter |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2006936C1 (en) |
-
1991
- 1991-10-28 RU SU5016893 patent/RU2006936C1/en active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6584481B1 (en) | FPGA implemented bit-serial multiplier and infinite impulse response filter | |
US4920508A (en) | Multistage digital signal multiplication and addition | |
DK150875B (en) | RECURSIVE DIGITAL FILTER | |
US4115867A (en) | Special-purpose digital computer for computing statistical characteristics of random processes | |
US4062060A (en) | Digital filter | |
EP1105967A1 (en) | Multiplierless digital filtering | |
RU2006936C1 (en) | Programmable digital filter | |
US5400271A (en) | Apparatus for and method of calculating sum of products | |
JPS62113236A (en) | Circuit for determining root function | |
Stamenković | Digital fir filter architecture based on the residue number system | |
JPH05218801A (en) | Thinning filter | |
JPS63258119A (en) | Apparatus for encoding signal by linear estimation with leroux-gueguen argolithm | |
RU2097828C1 (en) | Programmable digital filter | |
Chren Jr | Low delay-power product CMOS design using one-hot residue coding | |
RU2057364C1 (en) | Programming digital filter | |
KR100249040B1 (en) | Fir filter having asymmetric frequency response characteristic | |
RU2149503C1 (en) | Digital frequency synthesizer | |
EP1126359B1 (en) | Frequency synthesizer and gaussian noise generator using the same | |
RU2081450C1 (en) | Generator of n-bit random sequence | |
Nun et al. | A modular approach to the hardware implementation of digital filters | |
JP3258938B2 (en) | Decimation filter | |
JP2864598B2 (en) | Digital arithmetic circuit | |
Davies | Digital counters and pseudorandom number generators from a perspective of dynamics | |
RU2024924C1 (en) | Device for forming arbitrary modulo residue | |
SU748880A1 (en) | Pulse recurrence rate divider with variable division factor |