Цифровой фильтр
Иллюстрации
Показать всеРеферат
СОЮЗ СО8ЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН д!! 4 G 06 F 3/353
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (и) ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 4189149/24-24 (22) 29.01.87 (46) 23.08.88. Бюл. Ф 31 (71) Рязанский радиотехнический инс-, титут (72) В.В.Витязев, Е.А .Морозов и Н.Н.Устинов (53) 681.32 (088.8) (56) Авторское свидетельство СССР
У 636616, кл. G 06 F 15/353, !975.
Авторское свидетельство СССР
Р 1302296, кл. С 06 F 15/353.,(54)ЦИФРОВОЙ ФИЛЬТР (57) Изобретение относится к специа-. лизированным средствам вычислительной техники и может быть испальзоваÄÄSUÄÄ 1418756 А1 но в устройствах для обработки информации. Цель изобретения — упрощение устройства. В состав устройства входят блоки фильтрации и управления. Каждый блок фильтрации содержит узел памяти б, регистр 7, сумматор
8, регистр 9, мультиплексор 10 узел !
1 постоянной памяти, мультиплексор
12, накапливающий сумматор 13, регистр 14, мультиплексор 15, счетчик
16, узел 17 постоянной памяти, счетчик 18, сумматор 19 и счетчик 20.
Блок управления содержит мультиплексоры, регистры, сумматор, регистр, мультиплексор, триггер, элемент И, счетчик, узел постоянной памяти и элемент ИЛИ-НЕ. 5 ил.
1418756
Изобретение относится к специализированным средствам вычислительной техники и может быть использовано в устройствах для обработки информации.
Целью. изобретения является упрощеиие устройства.
Поскольку для большинства применений цифровых фильтров весовые коэффициенты симметричны, целесообраз но привять для повышения быстродействия такое устройство, которое фильтрует сигнал путем вычисления св ртки входных отсчетов х „, х х и весовых коэффициентов
Я-2М1Ь t 1/- м фильтра h„, h по формуле
М-1 у = X. hÄ(x-„„+х„2„,„)+Ь„„. ха! ., Полное произведение одного весового коэффициента на входные отсчеты можно представить в виде суммы частичных произведений постоянных коэффициентов h„ на значения произП вольных †- - разрядных чисел (х +
m -11!
О
20
+хV 2 ), а также и 1 м на х
1 21!!11! Э
30 групп разрядов, на которые могут быть разбиты п — разрядные произвольные числа (х, „+ х„,„), а также х в соответствии с равенством
4-м
Ь„(х.„„+х,)2„„,„) hÄ (x „+
1 1
+ х ) 2 ", (2)
4-2м+ !
Аналогичное равентсво можно записать и для произведения hy х „„.
Если при разбиении получается, и,. что частное есть число не целое, m на .(1-i) — разрядов, получим знато исходные числа следует дополнить 45 нулями (искусственно увеличить раз- . рядность) до получения целого значения этого частного.
Иэ равенства (2) следует, что, располагая значениями частичных про- 50 изведений, в которых произвольные числа имеют в m раз меньшую разрядность, чем исходное произвольное число, и осуществляя m дополнительных сложений полученных узловых эна- 55 чений произведений со двигом право чение полного произведения. Таким образом, свертку можно вычислить в соответствии с выражением
М-1 f!! (1- ) "У! = ".— — (X „+X 1М,„);2 +
n=-0
+Е h,х„„2(! 11т (3)
3е!
Частныа произведения Ь „(х „«„+
+ х1-2м +ь, и 11м х 11-м; не эавйсят от масштаба частей полных произведений. Поэтому для получения этих частичных произведений может быть использована одна и та же аппаратуи ра торько в раз меньшей разрядЭ
m ности. Это позволяет, в частности, в качестве блока, реализующего операцию Ь (х ) 1+х )2м „) ° и Ьм х 1 м.1 использовать постоянное запоминающее устройство. Применение такого устройства при получении полных произведений многоразрядных постоянных коэффициентов на произвольные много» разрядные числа из-за требуемой в этом случае слишком большой емкости постоянного запоминающего устройства совершенно неприемлемо. Увеличе" ние в 1,5 раза времени получения полного произведения, вычисляемого в соответствии с равенством (2) при
/. параллельной обработке, компенсирует- ся значительно меньшим временем получения частичного произведения, которое для матричного умножителя, например, примерно обратно пропорциональное разрядности — части пол ного произвольного числа и в минимуме примерно равно времени обраще-,,ния к постоянному запоминающему устройству.
При вычислении элементов свертки на входы адресов блока памяти входных отсчетов должны поступать коды, значения которых в соответствии с формулой (1), например, должны являться функцией двух аргументов:
1 - номера цикла вычисления полного значения свертки и n — - номера такта вычисления элементов свертки. Одним из наиболее простых и экономичных по аппаратным затратам вариантам формирования таких кодов является представление функции двух аргументов как суммы номера цикла и некоторой функции номера такта. и с -» 4.
На фиг. 1 представлена блок-схема цифрового фильтра; на фиг. 2 - блоксхема блока фильтрации; на фиг. 3 то же, блока управления; на фиг. 4 и 5 — временные диаграммы работы цифрового фильтра.
Устройство содержит блоки 1-4 фильтрации блока 5 управления (фиг. 1) . Блоки 1-4 фильтрации (фиг.2) состоят из узла 6 памяти (входных отсчетов), первого регистра 7, первого сумматора 8, второго регистра
9, первого мультиплексора 10, узла
11 постоянной памяти (узловых значений произведений), второго мульти- 40 плексора 12 накапливающего сумматора 13, третьего регистра 14, третьего мультиплексора 15, счетчика 16 узла 17 постоянной памяти, счетчика
18, второго сумматора 19 и счетчика 45
20.
Блок 5 управления (фиг.3) содер,жит первый 21, второй 22 и третий .
23 мультиплексоры, первый 24 - четвертый 27 регистры, сумматор 28, пятый регистр 29, четвертый мультиплексор 30, триггер 31, элемент И 32. счетчик 33, узел 34 постоянной памяти и элемент ИЛИ-НЕ 35
На фиг. 5 изображены временные диаграммы работы блока коммутации
55 н режиме обработки двух 8-разрядных независимых информаций (а-ж) и четырех 4-разрядных независимых инфор30
3 14187 и
Разрядность †-. чисел (х +
m Ч-п
+ х ц,„); и х м; при вь1числении сверткй по формуле (3) в силу применяемого основания счисления может быть избрана из ряда 2, 4, 6, 8 и т.п. При этом количество обрабатываемых произведений h „(x +х „) ° и h „,. х, пропорционально 10 l и
2, что делает нецелесообразным
m и применение - более 6 вследствие
15 большого количества комбинаций упомянутых произведений. Разрядность входных отсчетов обычцо задается кратным тетраде 8, 12, 16 и т.п. Учитывая последнее обстоятельство, наи- 20 более приемлемым в этом случае следует считать потетрадную обработку
56
4 маций (3... м), где а - сигнал записи в первый регистр; б — сигнал записи но второй регистр; в - сигнал записи в третий регистр; r — - сигнал записи в четвертый регистр; д — сигнал записи в пятый регистр; е - сигнал считывания с управляемого выхода пятого регистра; ж — управляющий сигнал первого мультиплексора; з — сигнал записи в первый регистр;. и - сигнал записи во второй регистр; к — сигнал записи в третий регистр; исигнал записи в четвертый регистр; м — управляющий сигнал четвертого мультиплексора.
В установившемся режиме цифровой фильтр работает следующим образом.В памяти 6 блоков "4 фильтрации записаны все значения входных отсчетов, необходимых для вычисления свертки. Импульс„ Такт" (фиг.4а) поступает на счетный вход счетчика
16, выходной код которого определяет последовательность работы составных частей устройства. Импульс "Цикл" (фиг.4б) поступает на входы сброса счетчиков 16, 20 и сбрасывает их в нулевое состояние (тем самым происходит синхронизация работы относительно запускающего импульса), а также поступает на счетный- вход счетчика 18 и изменяет его выходной код на 1. В первом такте работы этот код плюс 1 (выходной код счетчика
16, переданный один к одному узлом
17 постоянной памяти появляется на выходе сумматора 19 и является адресом ячеек узла 6 памяти, в которые записывается входной отсчет, поступающий на его вход данных (шина
"Вход" ), поскольку также на вход управления узла 6 с первого командного выхода поступает команда (фиг.4д), разрешающая запись входной информации. Начиная с второго такта работы и до конца цикла вычисления свертки, эта команда исчезнет, а узел 6 памяти переводится в режим чтения записанной в нем информации. До третьего такта первый регистр 7 находится в нулевом состоянии, поскольку он сброшен в первом такте работы командой с первого командного выхода узла
17, а записывающие в него данные доложительныо фронты импульсон с выхода 1 разряда первого счетчика 16 поянляются с начала третьего такта.
Отпицательный фронт этих импульсов, 5 14 который появляется в начале четвертого такта, записывает во второй регистр 9 данные с выхода первого сумматора 8, определяющие. только центральный входной отсчет (x< „); в соответствии с формулой (3), поскольку состояние первого регистра 7 нулевое, а с второго сумматора 19 на ,блок поступает адрес этого отсчета. Далее во второй регистр 9 записывается сумма двух входных отсчетов (х,1 „); и- (х,щ,„) в соответствии с формулой (3). поскольку в первый
Регистр 7, начиная стретьего такта,переписываются из блока 6 входные отсчеты (х„ „); . Адреса записанных н блоке
6 входных отсчетов (х, „.),,(х „,,, (х ); определяются последовательным увеличением значения входного кода узла 17 и выбранным законом его преобразования, реализуемого в этом волоке. Закон преобразования кода узлом 17 выбирается таким, чтобы получить на выходе данных второго сумматора 19 адресов, обеспечивающих последовательное попарное считывание из узла 6 входных отсчетов, сумма ко" тарый должна умножаться на один и тот же весовой коэффициент.
Данные с второго регистра 9 поступают на входы данных первого мультиплексора 10, на вход управления кото-. рого поступает выходной код первого разряда счетчика 16, и на выходах . первого мультиплексора 10 в каждом такте работы появляются равные по количеству разрядов группы кодов (по две группы на одни выходные данные регистра 9). Эти группь1 последонатель но поступают на первый вход данньм узла 11, на другой вход данных которого поступает выходной код счетчика 20, на счетный вход которого поступают импульсы с четвертого командного выхода узла 17 (фиг.4а).
Код, поступающий на второй вход узла 11, определяет весовой коэффициент, на который происходит умножение выходных данньм второго регистра 9. Старший разряд выходных данных узла 11 является знаковым. На остальных разрядах выходных данных узла 11 выдаются либо в прямом, либо в дополнительном коде, в. зависимости от знака весовых коэффициентов узловые значения произведений h„(z <„+
+ х„, „„ ); и h õ „,, в соответствии с равенством (2). Узловые знаходах данных второго мультиплексора
12 последовательно появляются узловые значения произведений, сдвинутые вправо на О либо на 2 разряда, так как один блок фильтрации обрабатывает
4-разрядную информацию и на вход блока .11 поступают либо два старших либо дна младших разряда.
Накаливающий сумматор 13 до начала пятого такта находится.в нулевом
55 состоянии, поскольку с командного вьмода узла 17 на его вход сброса поступает команда сброса (фиг.4ж). начиная с пятого такта, поступающие на вход данные накапливающего сумматора 14 данные с второго мультиплексора 12 накапливаются в этом сумматоре. Накапливаемая сумма фиксируется, в моменты времени, определяемые тактовыми импульсами, поступающими на вход управления суммирования накапливающего сумматора 13. В момент времени, когда на командном выходе узла 17 появится команда (фиг.4з) считывания с накапливаняцего сумматора, в накапливакяцем сумматоре образуется значение свертки. Отрицательным фронтам этого импульса (фиг.4з) информация с накапливающего сумматора поступает в третий регистр 14.
Эта же команда является командой у5,,поступающей на первый управляю" щий вход блока управления и запускающей этот блок. Информация с третьего регистра 14 считывается в момент. поступления команды у4 (у1, у2, у3 в зависимости от блока фильтрации).
Информация будет по четыре разряда через мультиплексор 15, на управляющие входы которого поступают два младших разряда счетчика 16 (фиг.4в, r), поступать на вход блока управления.
При появлении следующего импульса "Цикл" поступающий на вход узла 6 новый входной отсчет запишется вместо самого раннего по времени входного отсчета в те же ячейки, в которые последний был записан. Далее работа блоков фильтрации происходит аналогично описанному циклу вычисления свертки, рассмотренному выше.
18756 6 чения произведений и коды из знаков последовательно поступают на второй мультиплексор 12, на вход управления которого посгупает выходной код ! младшего разряда счетчика 16. На ны7 14
Импульс у5 из блока фильтрации подается на S-.âõîä триггера 31 блока
5 управления. и опрокидывает триггер в единичное состояние, тем самым разрешая прохождение импульсов "Такт" через элемент И 32 на счетчик 33, выходной код которого поступает на первый вход узла 34 постоянной памяти. На второй и третий входы узла
34 поступают импульсы уб и у7, выбирающие режим работы фильтра. Если уб = 1 и у7 = 1, то фильтр обрабатывает 16-разрядный сигнал. Если уб =0, а у7 = 1, то фильтр обрабатывает два независимых 8-разрядных сигнала. Если уб = 1, у7 = О, то фильтр обрабатыВает четыре независим х Ь- л пяпных сигнала. Если уб = 0 и у7 = О, то на выходе элемента ИЛИ-HE 35 появляется единица, поступающая на Rвход триггера и сбрасывающая его в нулевое состояние. Этот же сигнал сбросит счетчик 33 и пятый регистр
29 в нулевое состояние. Таким образом, при уб = 0 и у7 = 0 блок 5 управления не работает.
При обработке 16-разрядной информации информация из третьего регист- . ра блока 1 фильтрации переписывается на 34 такта в регистры 24-27 при наличии импульса "1" (фиг.4и).
С выходов рет истров 16-разрядное сло. ! во поступает на первый вход сумматора, на второй вход которого подается сигнал с прямого выхода пятого регистра, который в данный момент равен нулю. Сумма запишется в регистр 5 отрицательным фронтом сигнала, разрешающего запись (фиг.4с).
При появлении сигнала у2 информация с третьего регистра блока 2 фильтрации переписывается в регистры
25-27, за три такта 4 младших разряда не переписываются. 3а четвертый такт старший знаковый разряд с выхода регистра 25 перепишется через мультиплексор 21, на который поступил управляющий сигнал (фиг.4у), в регистр 24 во все 4 разряда. 16-разрядная информация объединится на сумматоре с содержимым регистра 29 и запишется в тот же регистр. Информация с блока фильтрации записывается в регистры 26 и 27, а старший знаковый разряд сначала запишется в регистр 25, а затем в регистр 24. Из блока 4 фильтрации берутся только четыре старших разряда информации
50 йриходом сигнала, разрешающего считывание с управляемого выхода регистра 29 (фиг.5e), отфильтрованньм сигнал выдается через мультиплексор 30.
Информация с блоков 3 и 4 обрабатывается аналогично.
При обработке 4-разрядных сигналов блоки 1-4 фильтрации обрабатывают независимые информации. С приходом импульса "1" информация с третьего регистра 14 и блока 1 переписывается эа четыре такта в регистры 24 - 27 и затем 16-разрядное слово сразу через мультиплексор 30, на который поступил управляющий сигнал (фиг.5м), выдается потребителю. Аналогично обрабатывается информация с блоков 35.
После выдачи отфильтрованных сигналов во всех трех случаях сигналы уб и у7 становятся равными D, отключая весь блок и обнуляя счетчик 33 и регистр 29.
18756 8 и записываются в регистр 27, а в регистры 26, 25 и 24 эа три такта перепишется- знаковый разряд. После объединения информации иэ всех блоков
5 фильтрации на пятый регистр 29 поступает сигнал, разрешающий считывание отфильтрованного сигнала с управляемого выхода через мультиплексор 30.
При обработке двух 8-разрядных входных информаций отличия в работе фильтра будут только в работе блока управления. Предлолагается, что на
15 блоки 1 и 2 фильтрации поступает один 8-разрядный сигнал, а на блоки 3 и 4 фильтрации — другой.
При появлении сигнала "1" информация с третьего регистра 24 блока
20 1 фильтрации через мультиплексор
15 перепишется в регистры 24 - 27 за четыре такта и затем 16-разрядное слово через сумматор 28 запишется в регистр 29. При появлении сигна25,ла "2" информация из блока 2 записывается в регистры 25 » 27. Во время записи информации в регистр 26 старший знаковый разряд из регистра 25 через коммутатор 2 1 перепишется во
З0 все четыре разряда регистра 24. При ,этом четыре младших разряда информации с блока 2 отбрасываются. 16-разрядное слово с регистров 24 " 27 объединяется с информацией, записанЗ5 ной в регистре 29, на сумматоре 28 и сумма запишется в регистр 29. С
9 14187
Формула изобретения
Цифровой фильтр, содержащий первый блок фильтрации, информационный вход которого. является первым информационным входом фильтра, первым и. вторым тактовыми входами которого яв" ляются соответственно первые и вторые тактовые входы первого блока фильт- 10 фации,отличающийся тем, что,с целью упрощения фильтра, он содер
)кит второй, третий и четвертый блоtm фильтрации и блок управления, Информационный вход которого под Ключен к выходам первого, второго, третьего и четвертого блоков фильтрации, входы синхронизации выдач ко торых подключены соответственно к пер ому, второму, третьему и четверто- 20
)му выходам блока управления, пятый выход которого является информационным выходом фильтра., вторым, треьим и четвертым информационными входами которого являются входы соответственно второго, третьего и четвертого блоков фильтрации, первые и вторые тактовые входы которых подключены соответственно к первому и второму тактовым входам фильтра, пер- З0 вым и вторым входами режима которого являются соответственно первый и второй входы режима блока управления, 1 вход окончания вычислений и тактовый вход которого подключены соответствен-у, но к выходу окон .ания вычислений четвертого блока фильтрации и первому.тактовому входу .фильтра, причем блок управления. содержит четыре мультиплексора, пять регистров, сум- 40 матор, узел постоянной памяти, триггер, элемент И, счетчик и элемент
ИЛИ-НЕ, выходы первого, второго и третьего мультиплексоров подключены к информационным входам соответственно первого, второго и третьего регистров, выход четвертого регистра соединен с выходом первого, второго, третьего и четвертого регистров и подключен к первому информационно- 60 му входу третьего мультиплексора, первому информационному входу чет» вертого мультиплексора и первому входу сумматора, выход которого подключен к информационному входу пято- 55 го регистра, выход которого подключен к второму информационному входу четвертого мультиплексора и второму входу сумматора, выход второго ре10 гистра подключен к первому информационному входу первого мультиплексора, выход третьего регистра подключен к первому информационному входу второго мультиплексора, второй информационный вход которого соединен с вторыми информационными входами первого и третьего мультиплексоров, информац:сонным входом четвертого регистра и является информационным входом блока управления, выход триг" гера подключен к первому входу элемента И, выход которого подключен к счетному входу счетчика, информационный выход которого подключен к адресному входу узла постоянной памяти, выходь1 с первого по четвертый которого подключены к управляющим входам соответственно с первого по четвертый мультиплексоров и являются выходами соответственно с первого по четвертый блска управления, входом окончания вычислений которого является первый установочный вход триггера, второй установочный вход которого соединен с входом обнуления счетчика, входом обнуления пятого регистра и подключен к выходу элемента ИЛИ-НЕ, первый и второй входы которого соединены с входом соответственно первого и второго разрядов управляющего входа узла постоянной памяти и являются соответственно первым и вторым входами режима блока управления, тактовым входом которого является второй вход элемента И, выходы с пятого по вось" мой узла постоянной памяти подключены к тактовым входам соответственно с первого по четвертый регистров, а выход четвертого мультиплексора является пятым выходом блока управления, при этом каждый блок фильтрации содержит узел памяти, два узла постоянной памяти, два сумматора, накапливающий сумматор, три счетчика, три мультиплексора и три регистра, причем выход блока фильтрации подключен к первому входу первого сумматора и информационному входу первого регистра, выход которого подключен к входу первого сумматора, выход ко" торого подключен к информационному входу второго регистра, выход которого подключен к информационному входу первого мультиплексора, выход которого подключен к первому адресному входу первого узла постоянной
18756
14 памяти, выход которого подключен к информационному входу второго мультиплексора, выход которого подключен к информационному входу накапливающего сумматора, выход которого подключен к информационному входу третьего регистра, выход которого подключен к информационному входу третьего мультиплексора, управляющий вход которого соединен с.адресным входом второго узла постоянной памяти и подключен к информационному выходу первого счетчика, первый выход второго узла постоянной памяти подключен к входу разрешения выдачи информации накапливающего сумматора и первому входу второго сумматора, выход которого подключен к адресному входу узла памяти, вход управления данных считывания которого соединен с входом разрешения приема первого регистра и подключен к второму выходу второго узла постоянной памяти, третий выход которого подключен к счетному входу второго счетчика, информационный выход которого подключен.к второму адресному входу перво12
ro узла постоянной памяти, четвертый выход второго узла постоянной памяти подключен к входу разрешения
5 приема третьего регистра и является выходом окончания вычислений блока фильтрации, входом синхронизации выдачи которого является вход разрешения выдачи третьего регистра, счетный вход первого счетчика соединен с тактовым входом накапливаницего сумматора и является первым тактовым входом блока фильтрации, вторым тактовым входом которого являются
15 соединенные между собой входы обнуления первого и второго счетчиков, счетный вход третьего счетчика, ин. формационный выход которого подключен к второму входу второго суммато20 ра, выход переноса первого счетчикак тактовым входам первого и второго регистров.и управлянмцим входам первого и второго мультиплексоррв, выход третьего мультиплексора являет25 ся информационным выходом блока фкпь трации, информационным входом которого является информационный вход узла памяти.
14)8756
1418756
Составитель А.Баранов
Техред М.Ходанич КорректоР В.Романенко
Редактор Н.Гунько
Закаэ 4156/48
Тирак 704 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва,.Ж-35, Раушская наб., д. 4/5
Проиэводствеино-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4