RU2716902C1 - Многокаскадный биквадратный фильтр - Google Patents

Многокаскадный биквадратный фильтр Download PDF

Info

Publication number
RU2716902C1
RU2716902C1 RU2019123017A RU2019123017A RU2716902C1 RU 2716902 C1 RU2716902 C1 RU 2716902C1 RU 2019123017 A RU2019123017 A RU 2019123017A RU 2019123017 A RU2019123017 A RU 2019123017A RU 2716902 C1 RU2716902 C1 RU 2716902C1
Authority
RU
Russia
Prior art keywords
input
output
adder
multiplier
filter
Prior art date
Application number
RU2019123017A
Other languages
English (en)
Inventor
Олег Игоревич Гордеев
Original Assignee
Федеральное государственное бюджетное образовательное учреждение высшего образования "Омский государственный технический университет" (ОмГТУ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное бюджетное образовательное учреждение высшего образования "Омский государственный технический университет" (ОмГТУ) filed Critical Федеральное государственное бюджетное образовательное учреждение высшего образования "Омский государственный технический университет" (ОмГТУ)
Priority to RU2019123017A priority Critical patent/RU2716902C1/ru
Application granted granted Critical
Publication of RU2716902C1 publication Critical patent/RU2716902C1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0227Measures concerning the coefficients
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/04Recursive filters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

Настоящее изобретение относится к области вычислительной техники и может быть использовано для цифровой обработки дискретных сигналов в устройствах электронной техники.
Известен цифровой фильтр [патент RU №2096911, опубл. 20.11.1997г.] в корректирующий сигнал которого дополнительно вводится составляющая, обусловленная округлением постоянных коэффициентов путем умножения промежуточной переменной на величину ошибки округления каждого коэффициента. Цифровой фильтр содержит штанговый генератор, регистры сдвига, сумматоры, умножители, N блоков коррекции, входной сумматор, блок округления.
Недостатком данного устройства является большое количество расчетных операций, необходимое для получения выходного сигнала устройства в i-м такте yi, и большой объем памяти, необходимой для хранения постоянных коэффициентов и промежуточных значений.
Известен способ цифровой рекурсивной полосовой фильтрации и цифровой фильтр для реализации способа [патент RU №2579982, опубл. 10.14.2016г.], содержащий блок умножения, сумматор, блок хранения выборочных значений сигнала, блок хранения коэффициентов, мультиплексор, четыре регистра и блок управления.
Недостатком данного устройства является наличие большого объема памяти, необходимой для хранения промежуточных значений.
Наиболее близким по совокупности признаков к предлагаемому многокаскадному цифровому фильтру является многокаскадный IIR-фильтр и распараллеленная фильтрация данных таковым [патент RU №2599970 от 20.10.2016г.], содержащий буферную память, по меньшей мере два каскада биквадратных фильтров, содержащие первый каскад биквадратного фильтра и следующий каскад биквадратного фильтра; и контроллер, связанный с каскадами биквадратных фильтров и сконфигурированный для утверждения единого потока команд как в первый каскад биквадратного фильтра, так и в следующий каскад биквадратного фильтра, при этом указанный первый каскад биквадратного фильтра и указанный следующий каскад биквадратного фильтра действуют независимо и параллельно в ответ на поток команд, при этом первый каскад биквадратного фильтра связан с памятью и сконфигурирован для выполнения биквадратной фильтрации на блоке из N входных дискретных значений в ответ на поток команд с целью генерирования промежуточных значений и для утверждения промежуточных значений в памяти, при этом промежуточные значения включают подвергнутую фильтрации версию каждого из по меньшей мере подмножества входных дискретных значений, и при этом следующий каскад биквадратного фильтра связан с памятью и сконфигурирован для выполнения биквадратной фильтрации на буферизованных значениях, извлекаемых из памяти в ответ на поток команд, с целью генерирования блока выходных значений, при этом выходные значения содержат выходное значение, соответствующее каждому из входных дискретных значений в блоке из N входных дискретных значений, и буферизованные значения содержат по меньшей мере некоторые из промежуточных значений, сгенерированных в первом каскаде биквадратного фильтра в ответ на блок из N входных дискретных значений.
Недостатком прототипа является наличие большого объема памяти и большое количество расчетных операций, необходимых для выполнения биквадратной фильтрации на блоке из N входных дискретных значений и для выполнения биквадратной фильтрации на буферизованных значениях, из-за использования в каскадах биквадратных фильтров биквадратного фильтра со структурой, известной как «Транспонированная форма II» (Лайонс, Р. Цифровая обработка сигналов: Второе издание. Пер. с англ. – М. : ООО «Бином-Пресс», 2006. – С. 248, рис. 6.22, d).
Задачей изобретения является уменьшение объема памяти, а также увеличение скорости расчета выходных значений за счет уменьшения количества расчетных операций.
Поставленная задача достигается за счет введения в каждый из каскадов биквадратных фильтров умножителя цепи прямой связи, сумматора, первого и второго умножителей цепи обратной связи и первого и второго регистров сдвига цепи обратной связи, при этом вход умножителя цепи прямой связи является информационным входом каскада биквадратного фильтра, выход умножителя цепи прямой связи соединен с первым входом сумматора, вход первого регистра сдвига цепи обратной связи соединен с выходом сумматора, вход первого умножителя цепи обратной связи соединен с выходом первого регистра сдвига цепи обратной связи, выход первого умножителя цепи обратной связи соединен со вторым входом сумматора, вход второго регистра сдвига цепи обратной связи соединен с выходом первого регистра сдвига цепи обратной связи, вход второго умножителя цепи обратной связи соединен с выходом второго регистра сдвига цепи обратной связи, выход второго умножителя цепи обратной связи соединен с третьим входом сумматора, при этом выход сумматора является информационным выходом каскада биквадратного фильтра, при этом упомянутые умножитель цепи прямой связи, сумматор, первый и второй умножители цепи обратной связи и первый и второй регистры сдвига цепи обратной связи действуют в ответ на поток команд, поступающих от контроллера, выход которого соединен с входом команд каскада биквадратного фильтра.
Предложен многокаскадный биквадратный фильтр для цифровой обработки дискретных сигналов в устройствах электронной техники.
На чертеже представлена структурная схема предлагаемого многокаскадного биквадратного фильтра, где:
1 – буферная память;
2 – контроллер;
3.1, 3.2, …, 3.M – каскады биквадратных фильтров с порядковыми номерами соответственно 1, 2, …, M где M – это общее число каскадов биквадратных фильтров, не менее двух, при этом, каждый из M каскадов биквадратных фильтров содержит:
4 – умножитель цепи прямой связи;
5 – сумматор;
6 – первый умножитель цепи обратной связи;
7 – второй умножитель цепи обратной связи;
8 – первый регистр сдвига цепи обратной связи;
9 – второй регистр сдвига цепи обратной связи.
Многокаскадный биквадратный фильтр работает следующим образом.
Входные данные поступают на вход многокаскадного биквадратного фильтра поочередно блоками из N входных дискретных значений X(n), где:
N – целое число, большее или равное 1;
n – целое число, обозначающее порядковый номер конкретного входного значения в блоке и принимающее значения от 1 до N.
Поступивший блок из N входных дискретных значений X(n) сначала записывается в буферную память 1, где также будет храниться M блоков из N промежуточных значений X(n), где
J – целое число, обозначающее порядковый номер одного из каскадов биквадратных фильтров 3.1, 3.2, …, 3.M и принимающее значения от 1 до M.
Каждый из M блоков из N промежуточных значений X(n) является результатом работы соответствующего каскада биквадратного фильтра 3.J, при этом каждое из N промежуточных значений X(n) в упомянутых блоках соответствует входному дискретному значению X(n) с тем же самым порядковым номером n в блоке из N входных дискретных значений X(n), при этом блок из N промежуточных значений X(n), получаемый от последнего каскада биквадратного фильтра 3.M, одновременно является блоком из N выходных значений Y(n) многокаскадного биквадратного фильтра. Для удобства записи процесса работы каждого из каскадов биквадратных фильтров 3.J, блок из N входных дискретных значений X(n) будет в дальнейшем обозначаться как блок из N промежуточных значений X0(n). Каждый из каскадов биквадратных фильтров 3.J, в ответ на поток команд, поступающий от контроллера 2, поочередно выполняет операцию чтения из буферной памяти 1 каждого из промежуточных значений XJ-1 (n), начиная с первого XJ-1 (1), и осуществляет процесс фильтрации в следующей последовательности:
1) умножение промежуточного значения XJ-1 (n) на коэффициент b0.J, содержащийся в памяти умножителя цепи прямой связи 4.J;
2) умножение промежуточного значения X(n-2), хранящегося во втором регистре сдвига цепи обратной связи 9.J, на коэффициент a2.J, содержащийся в памяти второго умножителя цепи обратной связи 7.J;
3) сложение величин XJ-1 (n)·b0.J и X(n-2)·a2.J, полученных в пп. 1 и 2 соответственно, сумматором 5.J;
4) сохранение промежуточного значения X(n-1), хранящегося в первом регистре сдвига цепи обратной связи 8.J, во второй регистр сдвига цепи обратной связи 9.J;
5) умножение промежуточного значения X(n-1), хранящегося в первом регистре сдвига цепи обратной связи 8.J, на коэффициент a1.J, содержащийся в памяти первого умножителя цепи обратной связи 6.J;
6) сложение величин (XJ-1 (n)·b0.J + X(n-2)·a2.J) и X(n-1)·a1.J, полученных в пп. 3 и 5 соответственно, сумматором 5.J, с целью получения промежуточного значения X(n);
7) сохранение промежуточного значения X(n), полученного в п. 6, в первый регистр сдвига цепи обратной связи 8.J;
8) запись промежуточного значения X(n), полученного в п. 6, в буферную память 1;
при этом необходимо учитывать, что, если, с момента начала работы многокаскадного биквадратного фильтра, блок из N входных дискретных значений X(n) не является первым, то есть перед ним на вход многокаскадного биквадратного фильтра поступал другой блок из N входных дискретных значений X’(n), то, при осуществлении процесса фильтрации над промежуточным значением XJ-1 (1), значения, хранящиеся в первом регистре сдвига цепи обратной связи 8.J и втором регистре сдвига цепи обратной связи 9.J, будут равны X’(N) и X’(N-1), при этом промежуточные значения X’(N) и X’(N-1) соответствуют входным дискретным отсчетам X’(N) и X’(N-1) из упомянутого другого блока из N входных дискретных значений X’(n), в противном случае, при осуществлении процесса фильтрации над промежуточным значением XJ-1 (1), значения, хранящиеся в первом регистре сдвига цепи обратной связи 8.J и втором регистре сдвига цепи обратной связи 9.J, будут равны нулю.
После того, как последний каскад биквадратного фильтра 3.M, завершит процесс фильтрации последнего промежуточного значения XM-1 (N) путем записи в буферную память 1 соответствующего промежуточного значения XM  (N), многокаскадный биквадратный фильтр передает на выход блок из N выходных значений Y(n), после чего содержимое буферной памяти 1 очищается, и многокаскадный биквадратный фильтр переходит в режим ожидания поступления на вход следующего блока из N входных дискретных значений.
Эффективность предлагаемого многокаскадного биквадратного фильтра подтверждается примером практической реализации в виде программы для микроконтроллера STM32F373CC, написанной на языке программирования С:
- тактирующая частота микроконтроллера 64 МГц;
- частота дискретизации 10,245 кГц;
- количество каскадов 3 шт.;
- частота среза каждого из каскадов биквадратных фильтров 25 Гц;
- формат хранения данных float (число с плавающей запятой);
- разрядность 32 байта;
- коэффициенты, хранящиеся в памяти умножителей каждого из каскадов биквадратных фильтров:
b0.J = 0,000232545276630021,
a1.J = 1,977787148814540000,
a2.J = –0,978031163575954000.
В представленном примере практической реализации для вычисления блока из 10 выходных значений на основе соответствующего блока из 10 входных дискретных значений реализованному многокаскадному биквадратному фильтру требуется 1568 байт памяти и 536 тактов машинного времени, что соответствует времени вычисления, равному 8,375 мкс.
Многокаскадному фильтру, соответствующему прототипу, для аналогичного вычисления требуется 1696 байт памяти и 760 тактов машинного времени, что соответствует времени вычисления, равному 11,875 мкс.
Таким образом, предложенные введения дополнительных элементов и новой схемы соединений в многокаскадном биквадратном фильтре позволило уменьшить объем памяти и увеличить скорость расчета выходных данных.

Claims (1)

  1. Многокаскадный фильтр, содержащий буферную память; по меньшей мере два каскада биквадратных фильтров, содержащие первый каскад биквадратного фильтра и следующий каскад биквадратного фильтра; и контроллер, связанный с каскадами биквадратных фильтров и сконфигурированный для утверждения единого потока команд как в первый каскад биквадратного фильтра, так и в следующий каскад биквадратного фильтра, при этом первый каскад биквадратного фильтра связан с буферной памятью и сконфигурирован для выполнения биквадратной фильтрации на блоке из N входных дискретных значений в ответ на поток команд с целью генерирования промежуточных значений и для утверждения промежуточных значений в памяти, при этом промежуточные значения включают подвергнутую фильтрации версию каждого из по меньшей мере подмножества входных дискретных значений и при этом следующий каскад биквадратного фильтра связан с буферной памятью и сконфигурирован для выполнения биквадратной фильтрации на буферизованных значениях, извлекаемых из памяти в ответ на поток команд, с целью генерирования блока выходных значений, при этом выходные значения содержат выходное значение, соответствующее каждому из входных дискретных значений в блоке из N входных дискретных значений, отличающийся тем, что каждый из каскадов биквадратных фильтров дополнительно содержит умножитель цепи прямой связи, сумматор, первый и второй умножители цепи обратной связи и первый и второй регистры сдвига цепи обратной связи, при этом вход умножителя цепи прямой связи является информационным входом каскада биквадратного фильтра, выход умножителя цепи прямой связи соединен с первым входом сумматора, вход первого регистра сдвига цепи обратной связи соединен с выходом сумматора, вход первого умножителя цепи обратной связи соединен с выходом первого регистра сдвига цепи обратной связи, выход первого умножителя цепи обратной связи соединен со вторым входом сумматора, вход второго регистра сдвига цепи обратной связи соединен с выходом первого регистра сдвига цепи обратной связи, вход второго умножителя цепи обратной связи соединен с выходом второго регистра сдвига цепи обратной связи, выход второго умножителя цепи обратной связи соединен с третьим входом сумматора, при этом выход сумматора является информационным выходом каскада биквадратного фильтра, при этом упомянутые умножитель цепи прямой связи, сумматор, первый и второй умножители цепи обратной связи и первый и второй регистры сдвига цепи обратной связи действуют в ответ на поток команд, поступающих от контроллера, выход которого соединен с входом команд каскада биквадратного фильтра.
RU2019123017A 2019-07-22 2019-07-22 Многокаскадный биквадратный фильтр RU2716902C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2019123017A RU2716902C1 (ru) 2019-07-22 2019-07-22 Многокаскадный биквадратный фильтр

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2019123017A RU2716902C1 (ru) 2019-07-22 2019-07-22 Многокаскадный биквадратный фильтр

Publications (1)

Publication Number Publication Date
RU2716902C1 true RU2716902C1 (ru) 2020-03-17

Family

ID=69898353

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019123017A RU2716902C1 (ru) 2019-07-22 2019-07-22 Многокаскадный биквадратный фильтр

Country Status (1)

Country Link
RU (1) RU2716902C1 (ru)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020136289A1 (en) * 1999-02-08 2002-09-26 Sunil Shukla Method of slewing a digital filter providing filter sections with matched gain
KR100907961B1 (ko) * 2006-09-28 2009-07-16 야마하 가부시키가이샤 디지털 필터
US9407236B2 (en) * 2008-06-23 2016-08-02 Kapik Inc. System and method for processing a signal with a filter employing FIR and IIR elements
RU2599970C2 (ru) * 2012-05-10 2016-10-20 Долби Лабораторис Лайсэнзин Корпорейшн Многокаскадный iir-фильтр и распараллеленная фильтрация данных таковым

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020136289A1 (en) * 1999-02-08 2002-09-26 Sunil Shukla Method of slewing a digital filter providing filter sections with matched gain
KR100907961B1 (ko) * 2006-09-28 2009-07-16 야마하 가부시키가이샤 디지털 필터
US9407236B2 (en) * 2008-06-23 2016-08-02 Kapik Inc. System and method for processing a signal with a filter employing FIR and IIR elements
RU2599970C2 (ru) * 2012-05-10 2016-10-20 Долби Лабораторис Лайсэнзин Корпорейшн Многокаскадный iir-фильтр и распараллеленная фильтрация данных таковым

Similar Documents

Publication Publication Date Title
US6279021B1 (en) Digital filters
CN110492867B (zh) 一种用数字电路实现的插值滤波器系统
WO1994001933A1 (en) Digital filter having high accuracy and efficiency
Schroeppel A two counter machine cannot calculate 2N
US4947363A (en) Pipelined processor for implementing the least-mean-squares algorithm
EP0097167A1 (en) A time multiplexed n-ordered digital filter
US4062060A (en) Digital filter
RU2716902C1 (ru) Многокаскадный биквадратный фильтр
JPH082014B2 (ja) 多段デジタル・フィルタ
CN100550622C (zh) 带有下采样功能的数字信号滤波装置及方法
Vainio et al. A signal processor for median-based algorithms
EP0020710B1 (en) Digital filters with control of limit cycles
Kuzhaloli et al. FIR filter design for advanced audio/video processing applications
WO1991009371A1 (en) Random access fir filtering
US20090300089A1 (en) Finite impulse response filter and method
Huang et al. Adaptive filters using modified sliding-block distributed arithmetic with offset binary coding
JPH06216715A (ja) ディジタルフィルタ
Salehi An Area and Power Efficient Architecture for Linear Prediction-Error Filters Based on Split Schur Algorithm
Abe et al. Design and FPGA implementation of a structure of evolutionary digital filters for hardware implementation
CN116260424A (zh) 一种基于级联cic的延时方法、装置、设备及存储介质
JP2001160736A (ja) デジタルフィルタ回路
Gay-Bellile et al. Architecture of a programmable FIR filter co-processor
JPS61213926A (ja) Dsp演算処理方式
CN115865044A (zh) 支持浮点系数的定点iir滤波器和电子设备
JP2622962B2 (ja) Fftアナライザのズーミング装置