Нерекурсивный цифровой фильтр нижних частот
Изобретение относится к технике связи, вычислительной и радиовещательной технике и может быть использовано в системах цифровой обработки радиотехнических сигналов. Цель изобретения - повьппение быстродействия . В состав устройства входят блок 1 программного управления, счетчик 2, блок 3 постоянной памяти, блок 4 памяти , арифметический: блок 5, регистр 6, умножитель 7, блок 8 программного управления, блок 9 памяти, нак апливающий сумматор 10, блок 11 памяти, накапливающий сумматор 12, блок 13 программного управления и генератор 14 тактовых импульсов. Г ил.. , i (/)
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУбЛИК (19) (11) ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К ASTQPCHOMY СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 4130444/24-24 (22) 25.06 .86 (46) 23..08.88. Бюл, У 31 (71) Ленинградский электротехнический институт связи им. проф. N.À.Boí÷
Бруевича (72) Б.Д.Матюшкин1 А.Ю.Виноградов и Б.Т.Мозгирев (53) 68 1.32(088 .8) (56) Авторское свидетельство СССР . .1 798855, кЛ. G 06 F .15/3.1, 1978.
Каппелини В., Константйнидис А., Эмилиаки П. Цифровые. фильтры и их .применение. - М.: Энергоатомиздат, 1983, рис. 7.1, с. 213. (511 4 G 06 F 15/353 Н 03 Н 17/06 (54) НЕРЕКУРСИВНЫЙ ЦИФРОВОЙ ФИЛЬТР
НИЖНИХ ЧАСТОТ (57) Изобретение относится к технике связи, вычислительной и радиовеща. тельной технике и может быть исполь" зовано в системах цифровой обработки радиотехнических сигналов. Цель изобретения — повьппение быстродействия. В состав устройства входят блбк
1 программного управления, счетчик 2, блок 3 постоянной памяти, блок 4 памяти, арифметический блок 5, регистр
6, умножитель 7, блок 8 программного управления, блок 9 памяти, накапливающий сумматор 10, блок 1.1 памяти, накапливающий сумматор !2, блок 13 а программного управления и генератор ф
14 тактовых импульсов. 1 ил.
1418 750 (2) Изобретение относится к технике связи, вычислительной и радиовещательной технике и может быть использовано в системах цифровой обработ5 ки радиотехнических сигналов. . Целью изобретения является повышение быстродействия.
На чертеже приведена функциональная схема фильтра ° lIQ
Цифровой фильтр содержит блок 1 програ11много управления, счетчик 2 по модулю М, блок 3 постоянной памяти (коэффициентов),блок 4 памяти, арифметический блок 5,. регистр 6, ум- 15 ножитель 7, блок 8 программного управления, блок 9 памяти, накапливающий сумматор 10, блок 11 памяти, накапливающий сумматор 12> блок 13 программного управления и генератор 14 2О тактовых импульсов.
Алгоритм работы нерекурсивного цифрового фильтра описывается разностным управлением
H-1 25 у(пТ) = ». b. х(пТ-iT), i 0,1,29 4 ° ь р (1) =о. где Т вЂ” период дискретизации;
Ь,. — коэффициент фильтра; х (пТ) и
3 ЗО у (пТ) — соответственно отсчеты входного и выходного сигналов.
Работа фильтра основана на применении операции линейной интерполяции в М раз к опорным отсчетам вспомогательной импульсной характеристики:. (ИХ) lb<3, k=0 1,2,,...N -1, записанным в постоянном запоминающем устрой.стве (ПЗУ), т.е. между каждыми двумя последовательными отсчетами ИХ Ь, и
I
b 1,+„ âñòàâëÿåòñÿ М-1 отсчет: Ь „+ а „,b „„+2л „,..., Ь „+(М-1) „ ;
8k= (bk.1 b„I )/M.
В результате получают кусочно-линейную импульсную характеристику фильтра Ь;, i = 0,1,2,...,N, N = M(N 1), снорачиваемую с отсчетами входного сигнала в соответствии с выражением (1).
1 (1
Н -2 м-1
+ d„j) x(nT-gM+j) Т) = — — K (Ь„х(ПТМ
-(kM+j ) Т) + и j х (nТ-(.сМ+) ) T) ), где N M(N 1) „ а множитель 1/М нормирует амплитуду выходного сигнала к единице.
Из уравнения (2) видно, .что выигрьпп в количестве операций умножения на один выходной отсчет прямо пропорционален М., так как не требуется умножать отсчеты входного сигнала х(пТ) на все отсчеты ИХ фильтра b1, i 0,1, ...,N-1, а достаточно осуществлять умножение x(nT) только на опорные отсчеты ИХ вспомогательного фильтра"
Ь, 1<=0,1,...,N-1„ причем N=M(N -1), 1
Фильтр работает следующим образом.
В блоке 3 записана последовательность опорных отсчетов импульсной характеристики нспомогательного фильтра (ВФ) Cby, 1с=1, 2...,,И -2, В регистре
6 записана константа а = 1/M . Первый блок 4 имеет N„=M(N 3)+1 ячейку памяти для хранения отсчетов входного сигнала, причем каждый новый отсчет
x(nT) записывается на место самого
"старого" отсчета x(nT-N „Т), В результате и блоке 4 всегда хранятся N последних входных отсчетов (x(nT), х(пТ-Т),...,х(пТ-(N<-1)Т), Блоки 9 и 11 памяти имеют М ячеек памяти для хранения промежуточных результатов. Причем по аналогии с блоком 4 памяти н блоках 9 и 11 памяти всегда хранятся
М последних отсчетов промежуточных результатон.
Отсчеты входного. сигнала х(пТ) поступают на вход блока 4 памяти, на адресный вход которого с выхода блока 1 управления синхронно с ним па шине упранления подаются импульсы записи, в результате чего отсчеты входного сигнала x(nT) записываются в блок 4 памяти. После записи очередного входного отсчета в блок 4 памяти с выходов блока управления подается последовательность N импульсов
Р . С выхода счетчика по модулю М прореженная последовательность F
3 (каждый М-й отсчет последовательности
Алгоритм работы устройства описывается разностным уравнением й!-2 М-1
1 у(пТ)= Z Ь.х(пТ-iT)= — — Е (b„+ =0 М к=о j=o
Г ) подается на блок 3 и тактовый вход арифметического блока 5. В результате с выхода блока 4 памяти на вход блока 5 с периодом последовательности F считывается последовательность отсчетов входного сигнала х(пТ), 50 4 писк В р ез ультат е чего сумма с,"((и+1 }1 Т) записывается в ячейку памяти, в которой зранится самый "старый" отсчет
v((n+1)T-ИТ, после чего сумматор 10 обнуляется. Под управлением тактовых импульсов Р чтения, подаваемых по шине упрявленйя с выхода блока 13 управления на вход блока l1 памяти, осуществляется считывание содержимого ячеек блока 11 памяти в последователь-ности jv((n+1} T), w(nT),...,v ((и-И+2}, М-1 у ((n+1) Т) =,> v((8+1-k) Т) ° w=o -И+2)Т) на вход сумматора 10, который накапливает сумму М-1 t - v((n+1)T) =X — —, V((n+1-j) т} . ро С выхода первого накапливающего S5 сумматбра 10 сумма w(n+1) Т): подается ня вход блока 11 памяти.С выходя блока управления по шине управления на вход 13 блока 11 памяти подается импульс эа3 14187 x(nT-Т),...,х(пТ-(И -1) Т), Однако умножение отсчетов входного сигнала на опорные отсчеты импульсной характеристики ВФ осуществляется лишь с при5 ходом на тактовый вход блока 5 тактового импульса F>,, одновременно с которым на второй вход блока 5 из блока 3 считываются опорные отсчеты ИХ, причем в последовательности, определяемой циклическим сдвигом последова". тельности |b Ь2 ... ь„ 2 ) (коэффициенты Ь и bx - равны нулю и поэтому умножать на них нет необходимости}, Таким образом, на вход арифметическо-15 ro блока 5 поступает последовательность чисел t Ъb,,Ъb,. . .,Ьд2,Ъ,Ь ...) с периодом тактовых импульсов Р . При этом блок 5 накапливает сумму произведений прореженных отсчетов 20 входного сигнала на опорные отсчеты ИХ, вспомогательного фильтра V((n+1) Т); Н-2 Е х(пТ-(i-1)ИТ)Ь .. Вычисленная та-, 1 1г! ким образом сумма произведений Ъ" ((и+ 25 +1) Т) с выхода арифметического блока 5 поступает на первый вход .Умножителя,7, на второй вход которого с выхода регистра 6 подается нормирующий множитель а.= 1/И2. Произведение 1 —;Ч((и+1 } Т) с ВыходЯ умножителя 7 поступает на первый вход блока 9 памяти. С выхода блока 8 управления по шине управления на вход блока 9 памяти подается импульс записи, в ре-. 35 зультате чего произведение 1/И U((n+ +1) Т) записывается в ячейку памяти, в которой хранится самый "старый" отсчет 1/И U((n+1) T-МТ) . Далее под уп- @ равлением тактовых импульсов РФ подаваемых по шине управления с выхода блока 8 управления, осуществляется считывание содержимого ячеек блока 9 памяти в последовательности ° ° - -V((п+i) Т),,V(nT),..., V((n. В результате к началу (n+1)-го такта содержимое накапливающего сумматора 12 становится равным отсчету выход" ного сигнала y((n+1) T) . Значение у((п+1)Т) считывается на выход устройства, прк этом су2матор 12 обнуляется. На этом внутренний цикл работы устройства заканчивается. На следующем n+1-м такте на вход блока 4 памяти поступает входной отсчет x((n+ +1) Т), и цикл работы устройства повторяется. Для пояснения работы устройства рассмотрим случай, когда И=З, М-5 тогда приращения коэффициентов. будут равны (учитывая, чт6 ЪО = b = О) ! ь„-ь,, ь. -ь — 1 3Ь .- LI = " — - и 3 * 3 ! Ьз-Ь2 -Ь /3 Последовательность выходных отсчетов при нулевых начальных условиях имеет следующ и Вкд у(от) =О; у(1 Т) = 1/3(8 х(0 Т)+ О ) =1/9bix(0 т)+04 у(2 Т) = 1/3(d,х(1 Т)+2д„х,(О Т)+ +О) = 1/9Ь, х (1 Т) +2/9Ь х (О Т) +О; у(З T) = 1/Зй,х(2 Т)+2йюх(1 т}+ +Ь x(0 Т)+0)=1/9Ь, х(2 Т)+2/9Ь, x(1 ° Т)+ +1/Зь,x(0 Т)+О; У(10 ° Т) = 1/9Ь х(9 Т) + 2!9Ь х(8 Т)+" +1/ЗЬ x(7 т) + — — — x(6 т) 2ь| +Ъ2 1 9 Ъ +2Ь2 -1 — — х(5 Т) + — — Ь х(4 Т)+ 9 3 2Ь г+Ь "z+2 4 + — — — х(3 Т)+ — — — х(2 Т)+ 9 9 + 1/ЗЬ х(1 Т)+2/9ь х(О ° Т)+О; i0 + 1/ЗЬ х(2 Т)+2/9Ь х(1 ° Т)+1/9Ь х(0 Т) . В блоке 3 записана последователь"ность опорных отсчетов ИХ вспомога-тельного фильтра 1Ь „, Ь, Ь (коэф=- "6 19. 9 Фициенты Ь, = Ь4 — О,. и поэтому не учитываются). В регистре 6 записана 1 константа а = --- =- 1/9. Блок 4 паЗ Мяти имеет N, = 3 ° (5-3)+1 = 7 ячеек 2(, памяти. Блоки 9 и 11 памяти имеют по И = 3 ячейки памяти, К нулевому такту блоки, 4, 9.и 11 памяти, арифметический блок, накапливающие сумматоры обнулены, поэтому на нулевом такте выходной сигнал фильтра y(0 Т) = 0, а на первый вход блока 4 памяти поступает отсчет вход . ного сигнала х(0 Т). С первого выхода первого ТУТ на вход блока 4 памят.;.-. 0 по шине управления подается сигнал записи., В результате отсчет входного сигнала записывается в первую ячейку блока 4 памяти. После сигнала записи выходов блока управления подается по-- .«Ä. следовательность N = 7 импульсов Г, С выхода счетчика 2 прореженная по— следовательность F> (каждый третий отсчет последовательности F z) подает ся на блок 3 и вход арифметического -10 блока 5. В момент прихода первого и. пульса F с выхода блока 4 памяти считывается отсчет входного сигнала х(О Т). Одновременно первый импульс F считывает ив блока 3 опорной от- -".В счет ИХ Ь, разрешая. вычисления в блоке 5. произведения Ь„х(О Т) . IIocкольку содержимое остальных ячеек и блока 4 памяти равно 0„ к моменту окончания 7-ro импульса Гт блок 5 на уб P капливает сумму, равную V(1 Т) Ьх(0 .Т)+О..Далее сумма V(1- Т) поступает на первый вход умножителя 7. Результат произведения 1/97(1 Т) с выхода умножителя 7 поступает на первый вход блока 9 памяти, на дру" гой вход которого одновременно по шине управления подается импульс запи си. После записи произведения на вход y(11 T) - 1) 9b х(10 Т)+2/9b1 x(9 Т)-« +1/Çb х(8 ° Т) + — — — -х(7 ° Т) « 2ba+bz 4.—" — — х(6 Т)+ — -x(5 Т) + Ь +2Ьт + — — -4c(4 Т)+ — — --х(3 Т) + 2ЬЯ, +Ь Ь2+2ьз 8750 6 блока 9 памяти с выхода блока 8 управления по шине управления подаются И=З импульса чтения F4 которые считывают в накапливающий сумматор 10 содержимое ячеек блока 9 памяти (1/9х 11 Ч(1 Т), I/9V(0 T) = О; 1/9 V(-1 Т) — 01. В результате сумматор 10 накап- ливает сумму w(1, T) = 1/9V(1, Т) + О, которая поступает на вход блока 11 памяти.. Одновременно на вход блока 11 памяти с выхода блока 13 управления по шине управления подается импульс записи. После того -как запись произведена, на вход блока 11 памяти посгупают И = 3 импульса чтения, которые считывают содержимое ячеек блока 11 памяти (w(1.Т) = 1/9U(1,Т), w(0 Т)= О, w(-T.T) = 03 на вход сумматора 12,. В накапливающем сумматоре 12 к началу первого такта вычисляется сум,ма y(1 Т) = 1/9V(1 Т) + 0 = 1/9b, х 1 (О Т). Таким образом, к началу первого такта содержимое сумматора 12 равно требуемому значению выходного отсчета фильтра на этом такте. В этот момент времени происходит считывание содержимого накапливающего сумматора 12 на выход устройства, при этом сум"атор обнуляется. На первом такте (n = 1) на вход блока 4 памяти поступает отсчет входного сигнала х(1«Т), С первого вьжода блока 1 управления адреса на вход блока 4 памяти подается импульс записи, В результате отсчет входного сигнала "-аписывается во вторую ячейку блока 4 памяти, После сигнала записи с вы<одав блока 1 управления подается последовательность N „ =, 7 импульсов F>. С выхода счетчика по модулю 3 прбре- ,кенная последовательность .F подается 3 на блок 3 и вход арифметического блока 5„3 момент прихода первого импуль-а Г с выхода блока 4 памяти считывается отсчет входного сигнала x(1 Т) . Одновременно первый импульс Г, считывает из блока 3 опорный отсчет ИХ b„„. разрешая вычисление в блоке проЬ X (1 i T) . 8 Top oH HMIIQJIhc Fg 1 счит:..вает с выхода блока 4 памяти на вход блока 5 отсчет х(0 Т). Однако на в::од блока 5 нс поступает управляющий импульс F и произведение не вы3 числяется. Поскольку содержимое остальных ячеек блока 4 памяти равно О, то к момен;"у окончания 7-ro импульса Г блок 5 накапливает сумму, равную V(2 Т) = b.,x(f Т)+О. Далее сумма 1418750 V(2 iÒ) поступает на первый вход умножителя 7. Р езультат произведения 1/9 V(2 Т) с выхода умножителя 7 поступает на первый вход блока 9 памяти, на друг ой вход которого одновременно по шине управления подается импульс записи. После записи про- . изведения в блок 9 памяти на другой его вход с выхода блока 8 управления 10 подаются M = 3 импульса чтения F<, которые считывают в накапливающий сумматор 10 содержимое ячеек блока памяти (1/9V(2 Т), 1/9V(1rТ), 0 ). В результате.сумматор 10 накапливает 15 сумму w(2 ° Т) = 1/9V(2.Ò)+1/9V(1 Т)+О, которая поступает на вход блока 11 памяти. С выхода блока 13 управления по шине управления подается импульс записи. После того, как запись произ- 20 ведена, на вход блока 11 памяти поступают М = 3 импульса чтения, которые считывают содержимое ячеек блока 11 памяти (w(2 Т) = 1/9V(2 -T), w(1 Т) 1/9Ч(1.Т), 03 на вход накапливающе- 5 го сумматора 12. В накапливающем сумматоре 12 к началу второго такта вычисляется сумма у(2 ° Т) = v(2 Т) + + w(1 Т)+О = 1/9V(2 Т)+2/9(1,.Т) bi 2Ь1 30 = — - х(1 Т) + — — х(0 Т) . Таким об9 9 разом, к началу второго такта содержимое сумматора 12 равно требуемому значению выходного отсчета фильтра. В этот момент времени происходит счи- З5 тывание содержимого накапливающего сумматора 12 на выход устройства, после чего сумматор обнуляется. На десятом такте (n = 10) на вход блока 4 памяти поступает отсчет вход- 40 ного сигнала х(10 Т), С блока 1 управ. ления на вход блока 4 памяти подается импульс записи. В результате отсчет входного сигнала х(10 Т) записывается в ту ячейку блока 4, в которой 45 хранится самый "старый" отсчет х(3:Т) . После записи на вход блока 4 памяти подается последовательность N, = 7 импульсов F<, осуществляющих считыва- ние содержимого ячеек блока 4 памяти 50 на вход блока 5. В момент прихода первого импульса F . с выхода блока 4 памяти считывается отсчет входного сигнала х(10 Т). Одновременно первый импульс F3 считывает из блока 3 опор- 55 I ный отсчет ИХ b, разрешая вычисле-. ние в блоке 5 произведения Ь, .х(10 Т),, + Второй и третий импульсы считывают из блока 4 памяти отсчеты х(9 Т) и х(8 Т), однако на вход блока 5 не поступает управляющий импульс F u произведение не вычисляется. Четвертый импульс F считывает из блока 4 отсчет входного сигнала х(7;Т). В этот момент времени с выхода счетчика по модулю 3 поступает второй импульс Р1, который считывает из блока 3 следующий GIIopHb5f отсчет ЛХ Ъ 9 pG3 решая вычисление в блоке 5 произведения Ь х(7Т) . В результате в блоке 5 накапливается сумма произведения Ь, х(10 Т)+Ъ х(7 Т) и т.д.Седьмой импульс Р считывает иэ блока 4 содержимое "последней" ячейки х(4 Т) ° Третий импульс F считывает из блока 3 отсчета ИХ Ъ, а в блоке 5 вычисля f ется произведение Ъ х(4 Т) . Таким образом, накопленная в блоке.5 сумма п >оиэведений V(11 Т) = Ь х(10 Т) <, (1 Ь х(7 ° Т)+Ь х(4.Т)поступает на первый 3 вход умножителя 7. Результат произведения 1/9V(11 Т) с выхода умножителя 7 поступает на вход блока 9 памяти, на другой вход которого подается им йульс записи. После записи произведения в блок 9 памяти на его другой вход с выхода блока 8 управления подаются M = 3 импульса чтения Г,, которые ,считывают в накапливающйй сумматор 10 содержимое ячеек блока 9 памяти (1/97(11 Т), 1/9V(10 Т), 1/9V(9 Т)) В результате сумматор 10 накапливает сумму т4(11 ° Т) = — (Ь х(10.Т)+Ъ х(7 Т) + + Ь х(4 Т)+Ь,х(9 Т)+Ь х(6 Т)+Ь х(3 T)4 + Ъ, х(8 .Т)+Ъ х(Э ° Т)+Ъ х(2 Т) ), которая поступает на вход блока 11 памяти. Одновременно на вход блока 11 памяти с выхода блока 13 управления по шине управления подается импульс записи, После того, как запись произведена, на вход блока 1 1, памяти поступают М = 3 импульса чтения, которые считывают содержимое ячеек блока 11 памяти (ът(11 ° Т) w(10 ° Т); w(9 T)j на вход накапливающего сумматора 12. В накапливающем сумматоре 12 к началу второго такта вычисляется сумма у(11» «Т) = — -(Ъ, х (10 Т) +2Ь х (9 T) + ЗЬ, х(8 а T)+(b +2b, )х(7 Т)+ +(2Ь +Ъ„)х(6 ° Т)+ЗЬ х(5 Т)+ 1418750 +(Ь +2Ь )х (4 Т)+(2Ь +Ъ )х(3. Т)+! О +3Ь х(2 ° Т)+2Ь х(1. Т)+Ь х{0 Т).), Составитель А.Баранов Редактор Н,Гунько Техред M.Ходанич Корректор Г.Решетник Заказ 415á/48 Тираж .704 Подписное ВНИИПИ Государственного комитета СССР по делам изобретений и открытий 113035, Москва, Ж-.35, Раушская наб., д, 4/5 Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4 Таким образом, к началу второго такта содержимое сумматора 12 равно требуемому значению выходного отсчета - фильтра. Б этот момент времени проис- 1р ходит считывание содержимого накапливающего сумматора 12 на выход устрой. ства, после чего сумматор обнуляется, Формула иэ обретения 16 Нерекурсивный цифровой фильтр нижних частот, содержащий первый блок памяти, арифметический блок, первый, ;блок программного управления, блок постоянной памяти и генератор тактовых импульсов, выход которого подклю" чен к тактовому входу первого блока программного управления, первый: и второй выходы которого подключены со-, ответственно к адресному входу и вхо- ду управления записью считыванием первого блока памяти, выход которого Подключен к информационному входу ..арифметического блока, вход задания Коэффициентов которого подключен к .выходу блока постоянной памяти, а ,информационный вход первого блока памяти является чнформационным входом фильтра., о т л и ч а ю щ и йс я тем, что, а целью повышения быстродействия, он содержит счетчик, регистр,- второй и третий - блоки программного управления, второй и третий блоки памяти, два накапливающих сумматора,. умножитель, .причем третий вывод первого блока программного управления подключен к счетному входу .счетчика, .информационный выход и выход переноса которого подключены соответственно к адресному входу блока постоянной памяти и тактовому входу. арифметического блока, выход которого подключен к первому входу умножителя, выход которого подключен к..информационному входу второго блока памяти, выход которого подключен к информационному входу первого накапливающего сумматора, выход которого подключен к информационному входу третьего:блока памяти, выход которого. подключен к информационному входу второго накапливающе. го сумматора, выход которого является информационным выходом, фильтра, выход генератора тактовых импульсов подключен к тактовым входам регистра, первого и второго накапливающих сумматоров и тактовым входам второго и третьего блоков программного управления, первый и.второй .выходы которых подключены соответственно к адресному входу и входу управления за; писью считыванием соответственно вто-, рого и третьего блоков памяти, а выход регистра подключен к второму входу умножителя.