Цифровой фильтр

Иллюстрации

Показать все

Реферат

 

ОПИСАНИЕ

ИЗОБРЕТЕНИЯ

Союз Советских

Социалистических

Республик.( (п., г

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-ву(22) Заявлено 111280 (21) 3235360/18-24 с присоединением заявки ¹â€” (23) Приоритет

Опубликовано 300882, Бюллетень Мо 32

Дата опубликования описания 300882 g М. g>

Н 03 Н 17/06

Государственный комитет

СССР по делам изобретений и открытий (53) УДК681. 32 (088. 8) (72) Авторы изобретения

В.A. Грачев, А.В. Гречухин и В.П. Семенов (71) Заявитель (54) ЦИФРОВОЯ ФИЛЬТР

Изобретение относится к вычислительной технике и может быть использовано в системах цифровой обработки сигналов.

Известен цифровой фильтр, содержащий два блока циклической памяти, своими выходами соединенные с входами умножителя, выход которого соединен с входом накапливающего сумматора, подключенного к выходной шине фильтра. Вычисление отсчета выходного процесса в этом устройстве производится последовательным считыванием из блоков циклической памяти кодов выборок входного процесса и коэффициентов фильтра, которые на умножителе перемножаются. Промежуточные произведения накапливаются в сумматоре. В конце N-ro цикла вычислений с выхода сумматора снимается отсчет выходного процесса. Время вычисления отсчета равно с =- йс„„, где

t м — время вычисления произведения двух чисел j1) .

Недостатком известного устройства, а также устройств, в которых произведение вычисляется на небольшом числе умножителей, является то, что для вычисления одного отсчета свертки требуется значительное время, так как умножения выполняются на одном оборудовании, на что затрачивается время, равное

N с м сЧЬ\1 где И и число умножителей.

Число умножений в единицу .времени равно N/Т, где Т вЂ” период дискретизации входного процесса.

Наиболее близким к предлагаемому является устройство цифровой фильтрации, фильтрация сигналов в котором при нечетном N выполняется в соответствии с формулой

N-4 где h — коэффициенты импульсной характеристики цифровогоФильтра с.линейной фазой;

N-1

М

1

М - порядок фильтра. с

Это устройство содержит блок памяти коэффициентов импульсной характеристики h(i), первый вход которого является входом записи массива чисел h(i ),,второй вход и выход сое30 динены с выходом адресного счетчика

955512 выход элемента ИЛИ блока ранжирования соединен с первым входом элемента И блока ранжирования, второй вход которого объединен с входом второго счетчика блока ранжирования и является входом синхронизации цифрового фильтра, выход второго счетчика блока ранжирования соединен с входом первой группы регистра, входы второй группы которого соединены с соответственными входами элемента ИЛИ и являются входами задания коэффициентов фильтра, выход регистра подключен к управляющему входу генератора пачек импульсов, первому входу второго мультиплексора и первому входу блока сравнения, выход которого соединен с входом второго счетчика, третьим входом блока памяти и вторым входом первого мультиплексора, третий вход которого является информационным входом фильтра, выход второго счетчика подключен к второму входу блока сравнения и второму входу второго мультиплексора, выход которого соединен с вторым входом блока памяти коэффициентов, причем выход . первого счетчика подключен к второму входу сумматора.

На фиг. 1 приведена функциональная схема устройства; на фиг. 2 то же, блока ранжирования.

Устройство содержит вход 1 фильтра, блок 2 памяти (входных отсчетов), первый мультиплексор 3, умножитель

4, выход 5 фильтра, сумматор 6, первый счетчик 7, блок 8 памяти коэффициентов, второй мультиплексор 9, блок 10 ранжирования, генератор 11 пачек импульсов, блок 12 сравнения, второй счетчик 13, вход 14 запуска, вход 15 синхронизации, вход 16 записи коэффициентов фильтра, накапливающий сумматор 17. Блок ранжирования содержит два счетчика 18 и 19, элемент И 20, элемеит ИЛИ 21 и регистр 22.

Цифровой фильтр работает следующим образом.

Перед началом фильтрации производится загрузка коэффициентов импульсной характеристики в блок 8 памяти коэффициентов. Максимальная длина загружаемой импульсной характеристики равна й+1, где и равно целой степени числа 2. КОэффициенты h поступают на вход 16 записи коэффициентов фильтра последовательно во времени, начиная с коэффициента hq u кончая коэффициентом по. Каждый коэффициент сопровождается импульсом синхронизации, поступающим на вход

15 синхронизации. Блок 10 ранжирования организует запись н блок 8 только таких отсчетов h;, которые не равны нулю. Последние записываются н блок 8 подряд по адресам, поступающим с адресного выхода блока 10 и входом первого регистра соответственно, выход первого регистра соединен с первым нходом устройства умножения, соединенного своим выходом с входом накапливающего сумматора, выход которого подключен к входу цифро-аналогового преобразователя, второй вход устройства умножения подключен к выходу сумматора, первый и второй вход которого соединены с выходами второго и треть-1О его регистров соответственно, первый и второй блоки памяти входных отсчетов, первыми входами соединенные с вторым и третьим адресными счетчиками соответственно, а вторы- 15 ми входами — с выходами четвертого и пятого регистра и первым входом четвертого регистра, второй вход которого соединен с выходом первого блока памяти входных отсчетов, пер- 2( вый вход третьего регистра является входом фильтра, а второй вход третьего регистра и вход второго регистра соединены с выходами второго и первого блоков памяти входных отсчетов соответственно P2) ..

Недостатком этого устройства является низкое быстродействие, связанное с непроизводительной затратой времени на выполнение сдвига массива входных отсчетов и большим количеством умножений в единицу времени, необходимых для формирования отсчета выходного сигнала.

Цель изобретения — повышение быстродействия цифрового фильтра.

Поставленная цель достигается тем, что н цифровой фильтр, содержащий блок памяти, первый вход котороро является информационным входом фильтра, умножитель, выход которого 40 соединен с входом накапливающего сумматора, выход которого является выходом фильтра, блок памяти коэффициентов, первый выход которого подключен к пеРвому входу умножителя, 45 первый счетчик, вход которого подключен к выходу переполнения второго счетчика, тактовый вход которого соединен с ныходом генератора пачек импульса, вход которого является входом запуска фильтра, введены первый и нторой мультиплексоры, сумматор, блок сравнения и блок ранжировайия, содержащий первый и второй счетчики, регистр, элемент ИЛИ и элемент И, выход которого соединен с входом первого счетчика и блока ранжирования, выход которого подключен к первому входу блока памяти коэффициентов, второй выход которого соединен с первым входом сумматора, выход которого подключен к второму входу блока памяти, выход которого соединен с первым входом первого мультиплексора, выход которого подключен к второму входу умножителя, 65

955512 ранжирования через мультиплексор 9 на адресный вход блока 8, причем отсчет hg записывается по нулевому адресу. В блоке 10 ранжирования формируется для каждого отсчета h его индексный номер а„, который

5 записывается вместе с соответствующим коэффициентом h â блок 8. С этой целью каждое слово блока 8 разбито на два поля. В поле, соответствующем первому выходу блока 8, записывается индексный номер а а соответствующий коэффициент h< — в поле, соответствующем второму выходу блока 8. При этом m коэффициентов

hN, И<2, Ь 2, °, h

Если длина характеристики фильтра меньше максимальной, например на

k отсчетов,,то первый не равный нулю отсчет h

N+1 отсчет. После окончания загрузки коэффициентов в блоке 8 записываются m отсчетов h;,, h;>, ..., h; значения которых йе равны нулю, вместе со своими индексными номерами. При этом на адресном выходе блока 10 ранжйрования формируется код, равный

m-1. Этот код является управляющим для генератора 11 пачек импульсов и настраивает его на формирование пачки из m импульсов после запуска, .одновременно, в процессе фильтрации он сравнивается на блоке 12 сравнения с текущим значением кода на

45 выходе счетчика 13. Когда на выходе счетчика 13 устанавливается код, равный m-1, что соответствует m-ому состоянию счетчика, на выходе блока сравнения появляется сигнал, разре- -56 шающий сброс счетчика 13 при поступлении .на его счетный вход очередного импульса. При этом на выходе переноса счетчика 13 появляется импульс.

Таким образом, в процессе фильтрации 55 счетчик 13 работает по модулю m.

Процесс фильтрации заключается в вычислении отсчетов свертки у(n) по формуле

g(q)=5 h хр Ь

2i "< m-

1<, 2 . номера коэффициентов о не равных нулю. для вычисления каждого отсчета

y(n) фильтр производит m операций вычисления частных произведений вида

h; x„<„ и m операций суммирования.

В режиме фильтрации на вход 1 фильтра с интервалом дискретизации h поступают отсчеты хо, x,, х „.

Каждый отсчет сопровождается импульсом, поступающим на вход 14 запуска °

К моменту поступления каждого входного отсчета в сумматоре 17 накапливается сумма m-1 произведений

h; x„;„, при этом счетчик 13 находится в состоянии m-1. Поступление отсчета х и на шину входа 1 фильтра сопровождается запуском гЕнератора

11 пачек импульсов. Первый тактовый импульс пачки переводит счетчик 13 в m состояние, и код íà его выходе становится равным m-1 и через мультиплексор 9 поступает на адресный вход блока 8 памяти коэффициентов. По адресу, указанному счетчиком 13, производится считывание отсчета h и его индексного номера а =0 из блока 8. о

Считанный отсчет 6р поступает на второй вход умножителя 4. Одновременно блок 12 сравнения выделяет m состояние счетчика и формирует на своем выходе сигнал, который переводит блок 2 памяти входных отсчетов в режим записи и подключает через мультиплексор 3 шину входа 1 фильтра к умножителю 4. Поступивший входной отсчет хп загружается в блок 2 памяти входных отсчетов по адресу, сформированному на выходе М-разряцного комбинационного сумматора б, который вычисляет сумму кода A„, поступающего с выхода счетчика 7 и йндексного номера ао. Так как а =О, то загрузка отсчета х „ производится по адресу A„. Одновременно отсчет xh через мультиплексор 3 поступает на первый вход умножителя 4, на второй вход которого поступает отсчет h<2 из блока 8. В умножителе 4 вычисляется произведение h х11, которое затем суммируется сумиатором 17 с накопленной суммой m-1 произведений вида

h; x ;. Таким образом, в конце такта, выделяемого блоком сравнения 12, на выходе 5 фильтра формируется выходной отсчет у„.

При поступлении второго тактового импульса на кодовом выходе счетчика

13 формируется код, равный нулю, а на выходе переполнения появляется сигнал, поступающий на счетный вход счетчика 7, на выходе которого формируется код Ah+4 при этом блок 2 ,памяти входных отсчетов переводится в режим считывания, а его выход че955512 рез мультиплексор 3 подключается к умножителю 4.

Отсчеты h, H х,„, считанные из блока 8 памяти коэффициентов и блока 2 памяти входных отсчетов, посту- 5 пают в умножитель 4, где вычисляется произведение П»

H»=h 1 xn»»Ф.»

При этом на выходе накапливающего сумматора 17 формируется частная сумма 5»

5» =Пл.

Адрес для отсчета х,1 »»„» формируется на выходе сумматора б в виде (A„+1+a»» ) mod N. На третьем такте аналогичным образом вычисляются

IIpoHзВеденHP П Ь 2 х 0 »»+»2 и частная 2О сумма S>=S» +rI> ° у»,.» =S =Srn»+ "ох»»i»

Одновременно поступивший отсчет х +» записывается в блок 2 памяти. входных отсчетов на место отсчета х д+»

35 поступившего на вход фильтра íà N интервалов дискретизации раньше. Адрес загрузки отсчета х » равен (An+1+a ) mod N=(A> <.) modN ° a =0. 40

Действительно, поступающие отсчеты загружаются в блок 2 памяти входных отсчетов в следующем порядке: хо по адресу (А) mod N, х» - по адрес (А + mo.d N, ..., хй по адресу (А».N)modN, х»„- по адресу (А»-1»К)modN= (А »l)modN. Таким образом,.входной отсчет х, поступивший в конце отсчета хо. При этом на выходе фильтра в случае характеристики длиной

N+1 сформируется экстемальный отсчет

I у > = " о Ь » +х»»- „, h, + г, x N h»I

Если характеристики короче максимальной íà k отсчетов, то экстремальным является отсчет у»» gi .

Таким образом, процесс вычисленияочередного значения свертки ур складывается из следующих операций: сдвига на единицу .массива входных .отсчетов х „ относительно массива коэффициентов h„, производимого в начале вычисления выходного отсчета у путем увеличения на единицу содер- 65

Ha m такте в сумматоре 17 формируется частная сумма Sm,=Sn» +П,11 ». При поступлении отсчета х „+„ на шину вхо- ъ5 да 1 фильтра в умножителе 4 производится вычисление произведения

hex«» c последующим сложением с накопленной суммой S>» . В результате на выходе 5 фильтра формируется выходной отсчет у„+„. жимого счетчика 7, вычисления взвешенной суммы входных отсчетов х с неравными нулю коэффициентами.

При этом отсчеты х выбираются из блока 2 памяти входных отсчетов с помощью индексных номеров а„, которые указывают относительно кода на выходе счетчика 7 отсчеты хр, соответствующие коэффициентам h

В конце вычисления отсчета у производится загрузка очередного отсчета на место отсчета х q ч. При этом загрузка и вычисление с накоплением произведения х hn совмещены во врео мени.

Елок 10 ранжирования работает следующим образом.

Перед началом загрузки блока 8 памяти коэффициентов триггеры счетчиков 18 и 19 устанавливаются в единичное состояние. Коэффициенты Ь; поступают на вход 16 записи коэффициентов фильтра, а соответствующие синхронизирующие импульсы — на вход 15 синхронизации. Коэффициенты Ь; поступают на вход, начиная со старших номеров. Число синхроимпульсов всегда равно N+1. Если длина характеристики фильтра на k отсчетов меньше максимальной, то первый не равный нулю коэффициент имеет номер h»» g и сопровождается k-ым по счету синхроимпульсом. Если поступивший коэффициент Ь„ не равен нулю, то на выходе элемента ИЛИ 21 формируется сигнал разрешения, и соответствующий синхроимпульс проходит через элемент И 20 на счетный вход счетчика 19. Выделенный таким образом коэффициент Ь(записывается в регистр 22 вместе со своим индексным номером. Индексный номер формируется на выходе счетчика 18, работающего по модулю й, путем подсчета числа поступивших синхроимпульсов.

В блоке 8 памяти коэффициентов записываются подряд в порядке поступления с выхода регистра 22 не равные нулю коэффициенты h„. со своими индексными номерами. Адрес записи указывается в содержимом счетчика 19.

Таким образом, неравные нулю m коэффициентов h;„, h,2...., Ь<„, „,r.„n с соответствующими индексными номерами

adam» = n»-» а,> =0 записывается в блоке 8 памяти коэффициентов по адресам A » =О, А 2=1, ..., А»n=m 1.

Таким образом, в предлагаемом устройстве затраты времени на вычисление каждого у(п) определяются не длиной характеристики фильтра, а

1 числом m ee h„.

Время вычисления y(n) в предлагаемом устройстве равно

=и» (ЧМ +»: +t ), 955512 где m — число нр нулевых коэффициентов;

tl3M i tran с — время выполнения операций умноженя, суммирования и обращения к памяти соответственно.

Время вычисления у(п) в прототипе равно и

g (t)v+ tp ) + "tp>g i

10 где N — длина характеристики.

Сравнение вычислительных затрат известного и предлагаемого устройств показывает, что, например при и

m = — быстродействие предлагаемого

2 устройства вьые. Кроме того, в отличие от прототипа предлагаемое устройство может работать как с симметрич- 20 ной, так и с несимметричной импульсной характеристиками. формула изобретения цифровой фильтР, содержащий блок 25 памяти, первый вход которого является информационным входом фильтра, умножитель, выход которого соединен с входом накапливающего сумматора, выход которого является выходом З0 фильтра, блок памяти коэффициентов, первый выход которого подключен к первому входу умножителя, первый счетчик, вход которого подключен к выходу переполнения втоРого счет- 35 чика, тактовый вход которого соединен с выходом генератора пачек импульса, вход которого является входом запуска фильтра, о т л ич ающи и с я тем, что,сцелью повыаения быстродействия, в него введены первый и второй мультиплексоры, сумматор, блок сравнения и блок ранжирования, содержащий первый и второй счетчики, регистр, элемент

ИЛИ и элемент И, выход которогО сое- 45 динен с входом -первого счетчика бло-! ка ранжирования, выход которого подключен к первому входу блока памяти коэффициентов, второй выход которого соединен с первым входом сумматора, выход которого подключен к второму входу блока памяти, выход которого соединен с первым входом первого мультиплексора, выход которого подключен к второму входу умножителя, выход элемента ИЛИ блока ранжирования соединен с первым входом элемента И блока ранжирования, второй вход которого объединен с входом второго счетчика блока ранжирования и является входом синхронизации цифрового фильтра, выход второго счетчика блока ранжирования соединен с входом первой группы регистра, входы второй группы которого соединены с соответственными входами элемента ИЛИ и являются входами задания коэффициентов фильтра, выход регистра подключен к управляющему входу генератора пачек импульсов, первому входу второго мультиплексора и первому входу блока сравнения, выход которого соединен с входом второго счетчика, третьим входом блока памяти и вторым входом первого мультиплексора, третий вход которого является информационным .входом фильтра, выход второго счетчика подключен к второму входу блока сравнения и второму входу второго мультиплексора, выход которого соединен с вторым входом блока памяти коэффициентов, причем выход первого счетчика подключен к второму входу сумматора.

Источники информации, принятые во внимание при экспертизе

1. Рабинер Л., Гоулд Б. Теория и применение цифровой обработ .и сиг-. налов. М., "Мир", 1978, с. 601.

2. Авторское свидетельство СССР

9 636616, кл. G 06 F 15/34, 1976 (прототип).

955512

9Ье 8

Составитель A. Баранов

Редактор A. Огар Техред М.Рейвес Корректор Г. Огар

Эакаэ 6474/76 Тираж 959 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4