Программируемый цифровой фильтр
Изобретение относится к вычислительной технике и может найти применение в системах автоматического регулирования и звуковой техники, в частности в проигрывателях компакт-дисков. Изобретение позволяет уменьшить суммарную дисперсию шумов квантования на выходе фильтра за счет введения двойной обратной связи по ошибке квантования и, как следствие, повысить качество фильтрации входных сигналов, увеличить функциональные возможности фильтра за счет оперативной трансформации передаточной функции и смены весовых коэффициентов. Отсчеты входного сигнала запоминаются в регистрах 1, 5 и 8. Масштабирование сигнала происходит с помощью блока 2 умножения. Вектор состояния фильтра вводится в регистр 12. Код передаточной функции поступает на вход дешифратора 11, а весовые коэффициенты в прямом параллельном коде - на вход преобразователей 13, 14 и 15 кода. Мультиплексоры 6 и 9 устанавливают связь между блоками, формирующими нерекурсивную часть системы разностных уравнений. Рекурсивная часть системы уравнений формируется блоками 16 и 17 умножения, блоками 18 и 19 управляемых инверторов и сумматором 20. Обе части уравнения объединяются сумматором 3, значение выходных сигналов вычисляется сумматором 10. Двойная обратная связь по ошибке квантования реализуется за счет задержки младшей части информационных разрядов с помощью регистров 22 и 24 и умножения на коэффициенты, кратные двойке, за счет сдвига соответственно на один и два разряда в сторону младших разрядов в сумматорах 23 и 25. Выходы сумматоров 23 и 25 соединены с соответствующими входами сумматора 3. 4 ил.
Изобретение относится к вычислительной технике и может быть использовано в измерительных устройствах систем автоматического управления, связи и акустической технике.
Известен рекурсивный цифровой фильтр второго порядка, содержащий элементы задержки, матричные блоки умножения, преобразователи кода и сумматор на пять входов. Данный фильтр имеет высокое быстродействие (1 мкс) благодаря применению матричных блоков умножения и выполнению остальных операций в параллельных кодах. Однако он имеет фиксированные связи, т. е. настроен на передаточную функцию одного вида, причем с большими аппаратурными затратами. Сложность фильтра обусловлена применением пяти матричных блоков умножения, а также тем, что умножение выполняется в прямых кодах, а алгебраическое сложение - в дополнительных. Поэтому на выходах блоков умножения введены преобразователи прямого кода в дополнительный, а на выходе сумматора происходит преобразование дополнительного кода в прямой. Блок управления в указанном фильтре отсутствует, но его функции по организации последовательности выполнения операций распределены между дополнительными элементами задержки, связанными с выходами блоков умножения. С учетом упомянутых элементов задержки входных и выходных сигналов общее количество элементов задержки достигает одиннадцати, причем каждый из них выполнен в виде многоразрядного регистра. Недостатки вышеуказанного фильтра частично устранены в программируемом рекурсивном цифровом фильтре второго порядка, содержащим регистры, два блока умножения, блок синхронизации, сумматоры, мультиплексоры, а также два сдвиговых регистра, дешифратор, два блока инвертирования знака, регистр константы и триггер. В этом фильтре создается возможность оперативной перестройки частотных характеристик, причем не только путем смещения частот среза, но и путем преобразования формы характеристик. Фильтр реализует систему разностных уравнений цифровых фильтров второго порядка, в том числе полосового фильтра (ПФ), фильтра нижних частот (ФНЧ) и фильтра верхних частот (ФВЧ):
















K1, K2 - весовые коэффициенты умножителей по ошибке квантования. Возможность реализации одной из трех систем уравнений (2) - (4) обеспечивается благодаря дешифратору кода передаточной функции фильтра, мультиплексорам, первому, второму и третьему сумматорам. Использование преобразователей параллельного кода в последовательный и трех блоков умножения создает возможность смены весовых коэффициентов и константы масштабирования. Инверторы знака и блок суммирования позволяют перестраивать рекурсивную часть систем уравнений (2) - (4). Несмотря на очевидное достоинство используемых в прототипе и в предлагаемом фильтре умножителей, вследствие усечения с округлением результата умножения двух операндов для того, чтобы разрядность результата умножения была равна разрядности множителя и множимого (в нашем случае N = 10), возникают шумы квантования, которые существенно влияют на такие параметры фильтра, как динамический диапазон, отношение сигнал/шум и другие точностные показатели. Наиболее явно эффект усечения выходного сигнала проявляется при подаче на вход программируемого рекурсивного цифрового фильтра второго порядка слабых сигналов, т. е. при малых отношениях сигнал/шум. Возможный путь для устранения этого недостатка - применение операндов двойной длины. Однако техническая реализация таких устройств приводит к удвоению аппаратурных затрат. В предложенном фильтре указанный недостаток устранен введением двойной обратной связи по ошибки квантования.
Обозначим через Yi выходной сигнал фильтра без усечения, а через



Y(i) =

В случае введения двойной обратной связи по ошибке квантования разложенное уравнение для реализации программируемых фильтров второго порядка приобретает вид
y(i)=







Как видно из выражения (6), сигнал ошибки сначала задерживается, а затем возвращается на сумматор умноженным на коэффициенты Ki. Коэффициенты K1 и K2 выбраны равными соответственно 0,5 и 0,25. В этом случае умножение сводится к простому сдвигу соответственно на один и два разряда в сторону младших разрядов. В частотной области выражение (6) можно представить в общем виде так







Уравнение (7) показывает, что спектр усеченного выходного сигнала равен спектру входного, умноженного на передаточную функцию идеального фильтра, минус спектр E(Z) ошибки усечения, умноженный на некоторую "функцию ошибки". Как видно из выражения (6), в предельном случае коэффициенты Ki могут быть выбраны равными значениям полюсов (коэффициенты bi). В этом случае нет усиления Е(Z) полюсами фильтра, что особенно эффективно в звуковых системах, в частности в проигрыва- телях компакт-дисков. Кроме того, в таких устройствах особую осторожность нужно соблюдать на граничных частотах, т. е. частотах, близких к положению полюсов и частоте Найквиста, где сказываются эффекты близости комплексно-сопряженных полюсов. Необходимо заметить, что введение дополнительной обратной связи по ошибке квантования ухудшает отношение сигнал/шум, так как в младших разрядах выходного слова содержится аддитивная смесь сигнала с шумом. Этот недостаток устраняется предложенным фильтром за счет увеличения значения константы масштабирования. Перестройка фильтра производится после записи промасштабированного вектора состояния во второй регистр хранения. Время перестройки определяется задержкой на сумматорах комбинационного типа и равно для ИМС 564 серии примерно 50 -80 нс. В cлучае применения матричных БИС типа Н1537ХМ1 время перестройки уменьшается до 10-15 нс. В первом аналоге длительность цикла в 1 мкс достигается за счет сокращения процесса умножения до одного такта, но для этого требуются матричные блоки умножения, каждый из которых (а их в фильтре всего пять) при выполнении в виде БИС на базовых матричных кристаллах соизмерим по габаритам с предложенным фильтром. Кроме того, при большой сложности он имеет фиксированные связи между блоками, т. е. настроен на передаточную функцию одного вида. По сравнению с вторым аналогом заявляемый фильтр обладает более высоким быстродействием, так как при его использовании отсутствует необходимость в выходном регистре фиксации результата, что сокращает цикл вычисления на 0,5 такта. Кроме того, сокращаются аппаратурные затраты, что имеет существенное значение при проектировании БИС на базовых матричных кристаллах. Во-вторых, путем введения третьего множительного устройства устраняется другой существенный недостаток второго аналога, в котором масштабирующий множитель выбирается фиксиро- ванным. В заявляемом фильтре коэффициент масштабирования можно менять от 0 до 1. Это особенно важно в случае скачкообразного изменения отношения сигнал/шум входного сигнала. На фиг. 1 представлена функциональная схема программируемого цифрового фильтра; на фиг. 2 - схема блока умножения; на фиг. 3 - функциональная схема блока синхронизации; на фиг. 4 - временная диаграмма работы фильтра. Программируемый цифровой фильтр содержит регистр 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 константы. Каждый из блоков 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-разрядный выход произведения в дополнительном коде. Блок 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. Преобразователи 13, 14 и 15 кода могут выполняться в виде регистра сдвига с параллельной записью весового коэффициента. Предпочтительной элементной базой для реализации фильтра является полузаказная матричная БИС на базовых матричных кристаллах, выполненная по КМОП-технологии. Поэтому макет прототипа целесообразно изготовить на элементах 564 серии средней степени интеграции. Серия содержит функциональные блоки, используемые в предлагаемом фильтре, в том числе регистры хранения и сдвига, мультиплексоры, комбинационные сумматоры. Предлагаемый цифровой фильтр работает следующим образом. Для настройки фильтра на выбранную передаточную функцию в регистр 12 импульсом "Начальная установка" вводится вектор состояния V(F, А, B, С), где F - двухразрядный код передаточной функции. Тем же импульсом стирается содержимое регистров 5, 8, 22, 24. Содержимое регистра 12 сохраняется на время работы с заданной передаточной функцией фильтра. Результатом начальной установки является выбор одной из трех систем уравнений (2)-(4), которые можно записать следующим образом:





















Zi,j = Vi-1


qi-1 - цифра в триггере 29 к началу j-го такта. Умножение на коэффициент 0,5 в указанных уравнениях обеспечивается за счет косых связей между выходами регистра-аккумулятора 28, т. е. за счет смещения содержимого регистра 28 на один разряд вправо. При таком сдвиге отбрасываемая цифра первого разряда записывается в триггер 29 и учитывается в следующем такте как цифра переноса в сумматоре 26. В середине каждого такта умножения число с выхода сумматора 26 записывается в регистр 28. К конце девятого такта умножения в блоке 16 умножения формируется число I А I



tц = (2+М)

М - количество разрядов модуля множителя. В макете цифрового фильтра, выполненного на микросхемах 564 серии, при М = = 9 и тактовой частоте 2,1 МГц (Т = 0,476 мкс) на вычисление очередного значения Yi затрачивается время
tц = (2+9)


С переходом на элементную базу БИС на базовых матричных кристаллах Н1537ХМ1 тактовая частота равна 10 МГц, так как длина связей между элементами на кристалле на 3-4 порядка меньше, чем в макете, это позволяет сократить цикл работы до 1,1 -1,2 мкс. По сравнению с прототипом предложенный фильтр, во-первых, не уступает в быстродействии за счет того, что значение задержек отсчетов обратной связи по ошибке квантования li-1 и li-2 вычисляется одновременно с отсчетами Vi-1 и Vi-2. Во-вторых, предложенный фильтр превышает прототип по точности. Как показано, для вычисления суммарной дисперсии I шумов квантования фильтра второго порядка с передаточной функцией вида
H(Z)= [(bo+b1


I= [(1)/2


















Рассмотрим пример расчета ПФ с коэффициентами
bo = 0,125; ao = 1;
b1 = 0; a1 = -1,4375;
b2 = -1; а2 = 0,75. Тогда расчетные значения соответственно равны



I = 35,46. Значение дисперсии шумов квантования в децибеллах равно

В случае введения двойной обратной связи по ошибке квантования передаточная функция системы выражается формулой (7). Предположим, что Е(Z) - белый шум с равномерным распределением, тогда передаточную функцию обратной связи можно представить как
H



K2 = 0,25. Это означает, что коэффициенты передаточной функции равны bo = 1, b1 = 0, b2 = 0, аo = 1, а1 = 0,5, а2 = 0,25. Тогда



I





L = (I


N 1592855, кл. G 06 F 15/353, 1990.
Формула изобретения
РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5