Программируемый цифровой фильтр
Реферат
Использование: в вычислительной технике, в частности в измерительных устройствах систем автоматического регулирования, радио- и гидролокации и космической связи. Цель: высокое быстродействие, а также более широкий спектр функциональных возможностей. Сущность изобретения: программируемый цифровой фильтр содержит регистр 1 хранения текущего значения входного сигнала, блоки 2 и 8 умножения, сумматоры 3, 6 и 11, D-триггер 4, элементы 5 и 9 задержки, мультиплексоры 7 и 10, дешифратор 12, регистр 13 хранения состояния фильтра, преобразователи 14, 15 и 17 параллельных кодов в последовательные и блок 16 вычисления значения коэффициента передаточной функции. 5 ил.
Изобретение относится к вычислительной технике и может быть использовано в измерительных устройствах систем автоматического регулирования, радио- и гидролокации и космической связи.
Известен рекурсивный цифровой фильтр (РЦФ) 2-го порядка, который содержит пять элементов задержки, пять матричных блоков умножения, шесть преобразователей кода и сумматор на пять входов. Вход первого блока умножения соединен с первым блоком задержки. Выход первого, третьего, четвертого и пятого элементов задержки подключены к первым входам соответственно второго, третьего, четвертого и пятого блоков умножения. Вторые входы всех блоков умножения соединены с шинами весовых коэффициентов, выход первого блока умножения соединен через дополнительный элемент задержки с соответствующим входом сумматора. Выход сумматора соединен через преобразователь дополнительного кода в прямой с входами четвертого элемента задержки, выход которого соединен с входами четвертого блока умножения и пятого элемента задержки. Цифровой фильтр имеет высокое быстродействие (1 мкс), благодаря применению матричных блоков умножения и выполнению основных операций в параллельных кодах. Однако такой цифровой фильтр имеет фиксированные связи, т.е. настроен на передаточную функцию одного вида, причем с большими аппаратурными затратами. Сложность фильтра обусловлена применением пяти матричных блоков умножения, а также тем, что умножение выполняется в прямых кодах, а алгебраическое сложение в дополнительных. Поэтому на выходах блоков умножения введены преобразователи прямого кода в дополнительный, а на выходе сумматора преобразователи дополнительного кода в прямой. Блок управления в указанном фильтре отсутствует, но его функции по организации последовательности выполнения операций распределены между дополнительными элементами задержки, связанными с выходами блоков умножения. С учетом упомянутых элементов задержки входных и выходных сигналов общее количество элементов задержки достигает одиннадцати, причем каждый из них выполнен в виде многоразрядного регистра. Известен программный РЦФ 2-го порядка, содержащий шесть регистров, два блока умножения, блок синхронизации, четыре сумматора, четыре мультиплексора, два сдвиговых регистра, дешифратор, два блока инвертирования знака, регистр константы и триггер. Данный программный РЦФ существенно отличается от известного рекурсивного цифрового фильтра новым составом блоков, благодаря чему создана возможность оперативной перестройки частотных характеристик, причем не только путем смещения частот среза, но и путем преобразования формы характеристик. Программный РЦФ реализует систему разностных уравнений цифровых фильтров 2-го порядка, в том числе фильтра нижних частот (ФНЧ), фильтра верхних частот (ФВЧ) и полосового фильтра (ПФ): yi= (1) где xi, yi текущие значения входного и выходного сигналов; xi-1, xi-2, yi-1, yi-2 предшествующие значения переменных; A и B весовые коэффициенты; С константа масштабирования. Возможность оперативной трансформации передаточной функции и сброса содержимого регистров хранения и элементов задержки расширяет класс решаемых задач, например, в адаптивных системах автоматического регулирования. Однако наличие выходного регистра фиксации результата уменьшает быстродействие фильтра. Кроме этого, масштабирующий множитель в программном РЦФ выбран фиксированным, что затрудняет его работу при скачкообразном изменении соотношения сигнал/шум на входе фильтра. Наиболее близким к изобретению является программируемый рекурсивный цифровой фильтр 2-го порядка, включающий четыре регистра, два мультиплексора, регистр константы, дешифратор, три блока умножения, два блока инвертирования знака, три сдвиговых регистра, блок синхронизации, три сумматора, блок суммирования, состоящий из комбинированного сумматора и триггера округления результатов вычисления. По сравнению с программным РЦФ цифровой фильтр (прототип) обладает более высоким быстродействием, так как отсутствует необходимость в выходном регистре фиксации результата, что сокращает цикл вычисления на 0,5 такта. Кроме того, введение третьего блока умножения позволяет устранить другой существенный недостаток программного фильтра, в котором масштабирующий множитель выбирается фиксированным. Задачей изобретения является расширение функциональных возможностей, т. е. возможность реализации на базе одного устройства рекурсивных цифровых фильтров четырех видов с регулируемыми параметрами: фильтра нижних частот, фильтра верхних частот, полосовых и режекторных фильтров, а также обеспечение независимой регулировки основных параметров четырех видов фильтров, т.е. частоты среза fc (для цифровых ФНЧ и ФВЧ), полосы пропускания f и центральной частоты fo для полосовых РЦФ, полосы режекции f и частоты резонанса foI для режекторных фильтров. При этом предлагаемый фильтр по быстродействию не должен уступать фильтру-прототипу. Для этого в программируемый цифровой фильтр, содержащий три регистра, два мультиплексора, регистр константы, дешифратор, три блока умножения, два блока инвертирования знака, три сдвиговых регистра, блок синхронизации, четыре сумматора и D-триггер, дополнительно введены третий мультиплексор, четвертый множитель, четвертый сдвиговый регистр и блок вычисления коэффициента передаточной функции, причем выход первого сумматора является выходом фильтра, первый числовой вход первого сумматора соединен одновременно с входом множимого первого блока умножения и выходом первого мультиплексора, прямой и инверсный выходы первого регистра подключены к первому и второму числовым входам второго сумматора, выход которого соединен одновременно с вторым числовым входом первого сумматора и входом множимого второго блока умножения. Выход второго блока умножения соединен с входом первого блока инвертирования знака, выходом соединенного с первым числовым входом третьего сумматора, второй числовой вход которого подключен к выходу второго блока инвертирования знака, входом подсоединенного к выходу первого блока умножения. Входы множителя первого и второго блоков умножения соединены соответственно с выходами первого и второго сдвиговых регистров, информационный вход первого сдвигового регистра соединен с первым выходом регистра задания константы фильтра, входом запуска последнего является вход запуска блока синхронизации, первый вход которого соединен с тактовым входом второго регистра, информационный вход которого является входом фильтра, входом первого и второго регистров и D-триггера. Выход D-триггера подключен к входу переноса четвертого сумматора, выход которого соединен с информационным входом третьего регистра и первым информационным входом третьего регистра и первым информационным входом первого мультиплексора. Выход первого разряда четвертого сумматора соединен с D-входом триггера. Первый и второй числовые входы четвертого сумматора соединены соответственно с выходом третьего сумматора и третьего блока умножения, вход множимого которого подключен к выходу второго регистра, выход множителя третьего блока умножения соединен с выходом третьего регистра сдвига, вход которого соединен с вторым выходом регистра константы, управляющие входы первого, второго и третьего блоков умножения соединены с вторым выходом блока синхронизации, третий выход которого подключен к тактовым входам первого, второго и третьего регистров сдвига. Третий выход регистра константы соединен с входом дешифратора, первый, второй, третий и четвертый выходы которого соединены с выходами переноса первого и второго сумматора, управляющими входами первого и второго мультиплексора соответственно, установочный вход регистра константы соединен с установочными входами первого и третьего регистров и является установочным входом фильтра, четвертый и пятый выходы регистра константы соединены с установочными входами первого и третьего регистров и является установочным входом фильтра. Четвертый и пятый выходы регистра константы подключены к управляющим входам соответственно первого и второго блоков инвертирования знака, первый и второй информационные входы третьего мультиплексора соединены соответственно с прямым и инверсным входами третьего регистра, выход третьего мультиплексора подключен к входу множимого четвертого блока умножения, вход множителя четвертого умножителя соединен с выходом четвертого регистра сдвига. Выход четвертого блока умножения подключен соответственно к второму числовому входу первого мультиплексора и информационному входу первого регистра. Шестой выход регистра константы подключен к входу четвертого регистра сдвига, седьмой выход регистра константы подключен к входу блока вычисления коэффициента передаточной функции, выход которого подключен к входу второго регистра сдвига, причем управляющие входы второго мультиплексора соединены с вторым выходом дешифратора, тактовые входы четвертого регистра сдвига и управляющие входы четвертого блока умножения соединены с вторым выходом блока синхронизации фильтра. По сравнению с известными цифровыми фильтрами предложенный фильтр реализует систему разностных уравнений цифровых фильтров второго порядка четырех видов, в том числе полосовых фильтров нижних частот, фильтров верхних частот и режекторных цифровых фильтров с независимой регулировкой параметров для ПФ (2) для ФНЧ (3) ФВЧ (4) РЖ ЦФ (5) где xi, yi текущее значение входного и выходного сигналов; A, B весовые коэффициенты передаточной функции; vi, vi-1, vi-2 текущие значения переменных; С константа масштабирования. Входящие в (2) (5) коэффициенты передаточной функции связаны с параметрами характеристики ослабления следующими соотношениями: (6) (7) где f f2 f1 > 0 f1 f2 требуемые частоты среза ЦФ по уровню (1+ от H(z). При этом точность аппроксимации; H(z)- модуль максимального значения передаточной функции H(z); f частота дискретизации; fo= arccoscoscos частота резонанса полосовых РЦФ или режекции (для режекторных РЦФ). Нужно заметить, что для цифровых ФНЧ и ФВЧ основным регулирующим параметром является частота среза fc, при этом расчетные соотношения (6) и (7), очевидно, теряют смысл, и для вычисления значений коэффициентов передаточной функции и оценки диапазона масштабной перестройки следует применять другие известные соотношения. Возможность реализации одной из трех систем уравнений (2) (5) обеспечивается с помощью дешифратора кода передаточной функции фильтра, мультиплексора, первого, второго, третьего и четвертого сумматоров. Использование преобразователей параллельного кода в последовательный и четырех блоков умножения создает возможность независимого изменения значений коэффициентов передаточной функции у масштабирующего множителя. Инверторы знака, четвертые сумматор и умножитель позволяют перестраивать рекурсивную часть систем уравнений (2) (5). Нужно отметить, что в фильтре-прототипе для обеспечения соответствующих характеристик ослабления, неравномерности в полосе пропускания амплитудно-частотной характеристики, частоты среза необходимо одновременно изменять значения трех коэффициентов A, B и С, изменение значения одного из них (в особенности коэффициентов A и B) приводит к значительному изменению характеристик фильтра, а в отдельных случаях и устойчивости фильтра. Предлагаемый фильтр позволяет за счет введения новых блоков и организации новых связей между ними обеспечить независимую регулировку параметров фильтрации с помощью изменения коэффициентов разностных уравнений (2) (5) На фиг. 1 представлена функциональная схема программируемого цифрового фильтра; на фиг. 2 функциональная схема блока умножения; на фиг. 3 функциональная схема блока управления; на фиг. 4 функциональная схема блока вычисления коэффициентов передаточной функции; на фиг. 5 временная диаграмма работы фильтра. Программируемый цифровой фильтр (фиг. 1) содержит регистр 1 хранения текущего значения входного сигнала, выход которого соединен с числовым входом блока 2 умножения, выход которого соединен с первым числовым входом комбинационного сумматора 3. Выход первого разряда сумматора 3 подключен к информационному входу D-триггера 4, соединенного выходом с входом переноса этого же сумматора. Выходы остальных разрядов сумматора 3 соединены с числовым входом элемента 5 задержки и первым числовым входом сумматора 6. Прямой и инверсный выходы элемента 5 задержки подключены через мультиплексор 7 к входу множимого множительного устройства 8, выход которого подключен одновременно к второму числовому входу комбинационного сумматора 6 и к входу элемента 9 задержки, прямой и инверсный выходы которого соединены с числовыми входами мультиплексора 10. Выходы сумматора 6 и мультиплексора 10 соединены соответственно с первым и вторыми входами комбинационного сумматора 11. Выход сумматора 11 является выходом фильтра. Регистр 1, элементы 5 и 9 задержки, множительное устройство 8, мультиплексоры 7 и 10 содержат N двоичных разрядов (например N=8). В разрядной сетке сумматоров 6 и 11 N+2 разряда, а сумматор 3 имеет N+1 разряд. Входы управления мультиплексоров 7 и 10 и входы переноса сумматоров 6 и 11 соединены с выходами дешифратора 12, подключенного к первому выходу регистра 13 хранения вектора состояния фильтра. Второй и третий выходы регистра 13 хранения состояния фильтра соединены с числовыми входами соответственно преобразователей 14 и 15 параллельных кодов коэффициентов в последовательные коды множителей. Четвертый выход регистра 13 хранения состояния фильтра подключен к входу блока 16 вычисления значения коэффициента передаточной функции, выход которого соединен с числовым входом преобразователя 17 параллельного кода множителя в последовательный. Пятый выход регистра 13 хранения состояния фильтра соединен с числовым входом преобразователя 18 параллельного кода коэффициента в последовательный код множителя. Выходы сумматора 6 и мультиплексора 10 подсоединены к числовым входам множимого блоков 19 и 20 умножения соответственно. Выходы блоков 19 и 20 умножения соединены через инверторы 21 и 22 знака с входами комбинационного сумматора 23, выход которого соединен с вторым числовым входом сумматора 3. Входы управления инверторов 21 и 22 знака соединены с выходами знаковых разрядов регистра 13, входы множителей блоков 2, 8, 19 и 20 умножения соединены с выходами преобразователей 14, 15, 17 и 18 кода соответственно. Входы управления регистра 1, элементов 5 и 9 задержки, преобразователей 14, 15, 17 и 18 кода, блоков 2, 8, 19 и 20 умножения и тактовый вход D-триггера 4 соединены с соответствующими выходами блока 24 синхронизации, вход которого является входом пуска цифрового фильтра. Каждый из блоков 2, 8, 19 и 20 умножения (фиг. 2) содержит N-разрядный комбинационный сумматор 25, мультиплексор 26, регистр-аккумулятор 27 и D-триггер 28. Выход мультиплексора 26 соединен с первым числовым входом сумматора 25, выход которого соединен с числовым входом регистра-аккумулятора 27, первый разряд выходного слова которого подключен к D-входу триггера 28, выходом соединенного с входом переноса сумматора 25. Остальные разряды регистра 27 соединены с разрядами 1 N+1 второго числового входа сумматора 25 с расширением (N-1) разряда на N-ый разряд. Первый числовой вход мультиплексора 26 подключен к выходу регистра 1 хранения, выходу мультиплексора 7, сумматора 6 или мультиплексора 10, а разряды второго числового входа соединены с шиной логического нуля. Вход управления мультиплексора 26 является входом множителя в прямом последовательном коде и соединен с выходом преобразователя 14, 15, 17 или 18 соответственно. Входы записи и сброса регистра 27 подключены к соответствующим входам блока 24 синхронизации. Выходы разрядов 2 N и знаковый разряд мультиплексора образуют N-разрядный выход произведения в дополнительном коде. Блок 24 синхронизации (фиг. 1 и 3) содержит двухразрядный счетчик 29, четырехразрядный счетчик 30, триггеры 31 и 32, тактовый генератор 33 и дешифраторы 34 и 35. Тактовые входы счетчиков 29 и 30 соединены с выходом генератора 33, а входы управления с выходами триггеров 31 и 32. Вход S триггера 31 является входом импульса "Пуск" фильтра. Выход переполнения счетчика 29 соединен с входами сброса триггера 31 и счетчика 29. Выходы счетчика 29 соединены с входом дешифратора 35, входы которого, кроме того, соединены с парафазными выходами генератора 33, а также с выходом дешифратора 34, входом подключенного к выходу счетчика 30. Отдельный выход дешифратора 34 соединен с входом сброса счетчика 30 и триггера 32. Преобразователи 14, 15, 17 и 18 кода рекомендуется выполнить в виде регистра сдвига с параллельной записью весового коэффициента. Блок 16 вычисления значения коэффициента передаточной функции (фиг. 4) позволяет устанавливать значение полюса передаточной функции вида AI ( A 1 ) A Схема содержит блок 36 элементов Исключающее ИЛИ, блок 37 элементов И логического умножения, схему 38 вычисления знака вычислений "Исключающее ИЛИ", блок 39 элементов Исключающее ИЛИ, комбинационный сумматор 40. Следует заметить, что коэффициенты и A содержат N разрядов (в нашем случае N=10), разрядность комбинационного сумматора равна N+1 разряд. Предпочтительной элементной базой для реализации предлагаемого фильтра является полузаказная БИС на базовых матричных кристаллах, выполненная по К-МОП технологии. Поэтому макет-прототип был выполнен на элементах серии 1564 средней степени интеграции. Серия содержит функциональные блоки, используемые в предлагаемом фильтре, в том числе регистры хранения и сдвига, мультиплексоры и комбинационные сумматоры. Предлагаемый фильтр работает следующим образом. Для настройки фильтра на выбранную передаточную функцию в регистр 13 (фиг. 1) импульсом "Начальная установка" вводится вектор состояния V(F, A, B, C), где F двухразрядный код передаточной функции. Там же импульсом стирается содержимое элементов 5 и 9 задержки. Содержимое регистра 13 сохраняется на время работы с заданной передаточной функцией фильтра. Результатом начальной установки является выбор одного из трех уравнений (2) (5), которые можно записать следующим образом где переменные на выходе дешифратора 12, зависящие кода F, который принимает значения 00 для ФНЧ, 01 для ФВЧ, 10 для ПФ, 11 для режекторного цифрового фильтра. Дешифратор 12 обеспечивает формирование функций (F) и (F) Константа масштабирования С не зависит от кода F и определяется расчетным путем в зависимости от вида сигнала на входе и величины модуля передаточной функции фильтра. При настройке на фильтр нижних частот между блоками устройства устанавливаются следующие связи: мультиплексор 7 подключает прямой выход элемента 5 задержки к второму входу множимого умножителя 8, выход которого соединен с вторым входом сумматора 6 (множитель при этом равен 1); мультиплексор 10 соединяет прямой выход регистра 9 задержки с вторым входом сумматора 11, на входы переноса сумматоров 6 и 11 из дешифратора 12 подается потенциал логического нуля. При настройке на ФВЧ: мультиплексор 7 соединяет инверсный выход элемента 5 задержки с входом множимого умножителя 8, выход которого подключен к входу сумматора 6 (коэффициент при этом равен 1); мультиплексор 10 соединяет прямой выход элемент 9 задержки с входом сумматора 11; на вход переноса сумматора 6 из дешифратора 12 поступает потенциал логической единицы, а на вход переноса сумматора 11 потенциал логического нуля. При выборе ПФ: мультиплексор 7 запирается и выдает нули по всем разрядам на вход множимого блока 8 умножения; мультиплексор 10 соединяет инверсный вход элемента 9 задержка с вторым входом сумматора 11; на вход переноса сумматора 6 из дешифратора 12 поступает потенциал логического нуля, на вход переноса сумматора 11 поступает потенциал логической единицы. При настройке на режекторный фильтр: мультиплексор 7 соединяет прямой выход элемента 9 задержки с входом множимого умножителя 8, выход которого подсоединен к второму входу сумматора 6; мультиплексор 10 соединяет прямой выход регистра (элемента) 9 задержки с вторым входом сумматора 11; на входы переноса сумматоров 6 и 11 из дешифратора 12 подается потенциал логического нуля. В любом из рассмотренных вариантов настройка ЦФ завершается не более чем через 0,1-0,15 мкс после записи вектора состояния в регистр 13. Текущее значение переменной yi на выходе фильтра вычисляется циклически с частотой выборки входной переменной xi. Эта частота зависит от быстродействия внешнего источника информации. Последний по мере готовности нового значения xi на входе регистра 1 посылает импульс "Пуск" на вход блока 24 управления (фиг. 5а) и с этого момента начинается цикл работы фильтра. В блоке 24 управления (фиг. 1 и 3) в триггер 31 переходит в состояние "1" (фиг. 5б) и остается в нем в течение двух тактов генератора 33 (фиг. 5в). Импульс "Пуск" используется и как команда пересылки числа из элемента 5 задержки в элемент 9 задержки через мультиплексор 7 и множительное устройство 8. В результате в элемент 9 задержки записывается значение vi-2. Дешифратор 35 по первому тактовому импульсу формирует импульс передачи содержимого регистра 1 в элемент 5 задержки (фиг. 5г), благодаря чему запоминаются новые значения vi-1 В первой половине второго такта дешифратор 35 формирует импульс записи очередного значения в регистр 1 (фиг. 5е). Эти же импульсом производится сброс регистров-аккумуляторов 27 в блоках 2, 8, 19 и 20 умножения, а также запись модулей весовых коэффициентов A, B, C, в преобразователи 14, 15, 17 и 18. Нужно заметить, что значение коэффициента AI ( A 1 ) A вычисляется предварительно в блоке 16 вычисления значения коэффициента передаточной функции. Если коэффициент и произведение A имеют положительное либо отрицательное значение, то вектор и значение вектора произведения A проходят на вход комбинационного сумматора 40 без изменения, при этом на управляющие входы 1 и 2 схемы (фиг. 4) подается потенциал логического нуля. Напротив, если коэффициент и произведение A имеют различные знаки, то вычисление выражения AI A производится в дополнительном коде, при этом на управляющий вход 1 либо 2, т.е. слагаемого, имеющего отрицательное значение ( A или ), подается потенциал логической "1", а слагаемого, имеющего положительное значение, логический нуль. Нужно учитывать, что для устранения переполнений расчетные значения коэффициентов и А необходимо уменьшить вдвое. Во втором такте дешифратор 35 переводит триггер 32 в состояние "1" (фиг. 5ж), а триггер 31 возвращается в нулевое состояние импульсом переполнения счетчика 29. Триггер 32 разрешает работу счетчика 30, с помощью которого формируется серия управляющих импульсов для преобразователей 14, 15, 17 и 18 и блоков 2, 8, 19 и 20 умножения. Серия заканчивается в начале N+2 такта работы счетчика 30, когда дешифратор 34 фиксирует такт с указанным номером и возвращает триггер 32 в нулевое состояние (фиг. 5ж, з). В рассматриваемом примере блок синхронизации 24 выполнен для десятиразрядных коэффициентов A, B, C, . Поэтому серия управляющих импульсов включает в себя девять импульсов сдвига для преобразователей 14, 15, 17 и 18 (фиг. 5и), из которых модули коэффициентов A, B, C, выходят младшими разрядами вперед (фиг. 5к), девять импульсов записи чисел из сумматоров 25 в регистры-аккумуляторы 27 (фиг. 5л), восемь импульсов записи содержимого первого разряда регистра-аккумулятора 27 в триггер 28 (фиг. 5м), импульс округления результата в сумматоре 3 (фиг. 5н). Так как сумматоры 3, 6, 11 и 23 комбинационного типа, то сразу после выполнения масштабирования входной переменной с помощью блока 2 умножения на входе сумматора 3 появляется число xi=vi, на выходе сумматора 6 vi+ vi-1, на выходе сумматора 11 число yi vi + vi-1 + vi-2 В соответствии с выбранной передаточной функцией на выходе сумматора 11 получится значение выходного сигнала yi. Операции умножения на коэффициенты A, B, C и выполняются синхронно четырьмя блоками умножения следующим образом. Двоичная цифра последовательного кода множителя A, B, C и управляет состоянием мультиплексора 26 в блоках 2, 8, 19 и 20 умножения. Если цифра множителя aj=0 (bj=0), где j=0, 1, 2, 8, то на выходе регистра-аккумулятора 27 будет число "0", а если aj=1 (bj=1), то число vi-1 (в блоках 8 и 19), vi-2 (в блоке 20) или xi (в блоке 2). На выходе сумматора 25 в блоке 19 умножения в j-ом такте образуется сумма Zij vi-2 Aj + 0,5 Z i,j-1 + qi-1 где Zi,j-1 число в регистре-аккумуляторе 27 к началу j-го такта; qi-1 цифра в триггере 28 к началу j-ого такта. Умножение на коэффициент 0,5 в указанных уравнениях обеспечивается за счет косых связей между выходом регистра-аккумулятора 27 и вторым входом сумматора 25, т. е. за счет смещения содержимого регистра 27 на один разряд вправо. При таком сдвиге отбрасываемая цифра первого разряда запоминается в триггере 28 и учитывается в следующем такте как цифра переноса в сумматоре 25. В середине каждого такта умножения число выхода сумматора 25 записывается в регистр-аккумулятор 27. К концу девятого такта умножения в блоке 19 умножения формируется число / AI / vi-1, в блоке 20 умножения B vi-2, в блоке 8 умножения vi-1 а в блоке 2 умножения C xi Если коэффициенты A и принимают отрицательное значение, то произведение инвертируется по всем разрядам, а к содержимому младшего разряда прибавляется единица. В результате число остается в дополнительном коде, но его знак меняется на противоположный. Если знак коэффициентов положительный, то произведение передается через инвертор 21 и 22 знака без изменения. В случае работы блока 2 умножения блок инвертирования отсутствует, так как коэффициент С всегда положительный. Из условия устойчивости рекурсивного цифрового фильтра 2-го порядка модуль коэффициента A выбирается в пределах от 0 до 2, коэффициент B от 0 до 1. Так как число A может быть больше единицы, то все множители приходится уменьшать вдвое. Поэтому сумма произведений передается с выхода регистра-аккумулятора 27 на инверторы 21 и 22 знака со сдвигом на один разряд. Кроме того, при передаче результата из блока 2 умножения и из сумматора 23 соответственно на первый и второй вход сумматора 3 производится сдвиг слагаемых на один разряд влево, т.е. тем самым восстанавливают истинные значения произведений на выходе блоков умножения. При передаче результата с блока 8 умножения сдвиг результата не производится, однако рассчитанное значение коэффициента уменьшается при подготовке работы устройства в два раза. Во второй половине последнего такта работы блока 24 синхронизации число на выходе сумматора 3 округляется путем записи содержимого первого разряда этого сумматора в D-триггер 4 (фиг. 4н) с последующим добавлением этой цифры к содержимому младшего разряда по входу переноса. После округления число с выходов 2 N+1 подается на вход сумматора 6, выход которого соединен с входом комбинационного сумматора 11, т.е. после сложений получаем результирующее значение yi выходного сигнала фильтра. При этом управляющий импульс возвращает триггер 32 блока управления в нулевое состояние и тем самым переводит цифровой фильтр в ждущий режим. Результирующее значение yi на выходе сумматора 11 получается в дополнительном коде. Цикл работы фильтра от момента прихода импульса "ПУСК" до получения результирующего значения yi на выходе сумматора 11 включает в себя 1,5 такта формирования нерекурсивной части системы уравнений (2) (5), М-тактов умножения, 0,5 такта округления результата. Следовательно, длительность цикла составляет tц ( 2 + М ) Т (8) где Т период повторения импульсов тактового генератора 33; М количество разрядов модуля множителя. В макете цифрового фильтра, выполненного согласно изобретению на микросхемах серии 1564 (при М=9) и тактовой частоте 5 МГц (Т=0,2 мкс) на выполнение очередного значения yi затрачивается время tц ( 2 + 9 ) 0,2 2,2 мкс. С переходном на элементную основу в виде БИС на базовых матричных кристаллах Н1537ХМ1 тактовая частота работы устройства равна 10 МГц, что позволяет сократить время цикла фильтрации до 1,1 мкс. По сравнению с прототипом предложенный фильтр обладает более широкими функциональными возможностями, так как реализует фильтры с передаточными функциями четырех видов (в прототипе реализуются устройствах 3-х типов); обеспечивает независимую регулировку характеристик фильтрации (устройство-прототип взаимонезависимую), а также не уступает прототипу в быстродействии.Формула изобретения
ПРОГРАММИРУЕМЫЙ ЦИФРОВОЙ ФИЛЬТР, содержащий регистр, два элемента задержки, первый мультиплексор, регистр константы, дешифратор, три блока умножения, два блока инвертирования знака, три преобразователя параллельного кода числа в последовательный код, блок синхронизации, четыре сумматора, D-триггер, причем выходом фильтра является выход первого сумматора, первый числовой вход которого соединен одновременно с входом множимого первого блока умножения и выходом первого мультиплексора, первый и второй числовые входы которого подключены к прямому и инверсному выходам первого элемента задержки, причем выход второго сумматора соединен одновременно с вторым числовым входом первого сумматора и входом множимого второго блока умножения, выходом соединенного с входом первого блока инвертирования знака, выход которого подключен к первому числовому входу третьего сумматора, второй числовой вход которого подключен к выходу второго блока инвертирования знака, входом соединенного с выходом первого блока умножения, входы множителя первого и второго блоков умножения соединены соответственно с выходами первого и второго преобразователей параллельного кода числа в последовательный код, причем информационный вход первого преобразователя параллельного кода числа в последовательный код соединен с первым выходом регистра константы, входом запуска фильтра является вход запуска блока синхронизации, первый выход которого соединен с тактовым входом регистра, информационный вход которого является входом фильтра, тактовыми входами первого и второго элементов задержки и D-триггера, выходом соединенного с входом переноса четвертого сумматора, выход которого соединен одновременно с информационным входом второго элемента задержки и первым информационным входом второго сумматора, причем выход первого разряда четвертого сумматора соединен с информационным входом D-триггера, первый и второй числовые входы четвертого сумматора соединены соответственно с выходами третьего сумматора и третьего блока умножения, вход множимого которого подключен к выходу регистра, причем вход множителя третьего блока умножения соединен с выходом третьего преобразователя параллельного кода числа в последовательный код, вход которого соединен с вторым выходом регистра константы, причем управляющие входы первого, второго и третьего блоков умножения соединены с вторым выходом блока синхронизации, третий выход которого подсоединен к тактовым входам первого, второго и третьего преобразователей параллельного кода числа в последовательный код, причем третий и четвертый выходы регистра константы соединены соответственно с первым и вторым входами дешифратора, первый, второй, третий и четвертый выходы которого соединены соответственно с входами переноса первого и второго сумматоров и управляющими входами первого мультиплексора, установочный вход регистра константы соединен с установочными входами первого и второго элементов задержки и является установочным входом фильтра, пятый и шестой выходы регистра константы подключены к управляющим входам первого и второго блоков инвертирован