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

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

 

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

Известен цифровой фильтр [патент 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 мкс.

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

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



 

Похожие патенты:

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

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

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

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

Изобретение относится к области автоматики и вычислительной техники. Технический результат – обеспечение автоматического выбора коэффициента сглаживания в зависимости от скорости медианы процесса (МП).

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

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

Изобретение относится к радиолокационной технике. Предназначено для идентификации параметров модели ЛЧМ-сигналов в дискретные моменты времени.

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

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

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

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

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

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

Изобретение относится к радиотехнике и связи и может быть использовано в качестве интерфейса для выделения заданного спектра источника сигнала. Технический результат заключается в обеспечении независимой подстройки трех основных параметров АЧХ – частоты полюса (ωp), затухания полюса (dp), а также коэффициента передачи в полосе пропускания (М) полосового АRC-фильтра.

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

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

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

Изобретение относится к аналоговой вычислительной технике и может быть использовано для ранговой обработки аналоговых сигналов. Техническим результатом является обеспечение выбора минимального, супраминимального, субмаксимального или максимального из n входных аналоговых сигналов, где n≥4.

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