Лайонс Р. Цифровая обработка сигналов. Второе издание. Пер. с англ. (2006) (1095937), страница 111
Текст из файла (страница 111)
(Эта проне, уса называется разложением на простые множители и вызывает интерес со времен Эвклида.). В данном случае соответствующее количество ИГФ-субфильтров включаются последовательно, как показано на рисунке 13.70 (а). Эти ИГФ М-го порядка описываются передаточными функциями Нг(г) = [(1 г — 2)/(1 г — 1))м = (1 .1. г — 1)м Ну(г) = [(1 — г 3)/(1 — г ())м (1 + г 1+ г 2)м Н(г) = [(1- г-~)т(1- г-1)~м = (1+ г-(+ 2-2+ 2-3+ г-4)м (13 122) 13.25.
Сглаживание имп льсного и ма существенно снижает энергопотребление 1691. Если один сумматор в секции 1 на рисунке 13.70 (Ь) потребляет Р единиц мощности, то секция 1 потребляет ЗР единиц мощности, а каждое сложение в первой части секции 2 потребляет Р/2 единиц мощности. Каждое сложение во второй части секции 2 потребляет Р/6 единиц мощности, тогда как каждый сумматор в секции 3 потребляет Р/18 единиц мощности.
Мы можем выбирать рекурсивную или нерекурсивную реализацию для субфильтров каждой секции на рисунке 13.70 (Ь), как показано на рисунке (13-122). В нерекурсивных реализациях можно применять полифазное разложение, транспонированные структуры, упрощенное умножение и объединение субструктур. Проектирование ИГФ поистине прошло большой путь со времени введения этих фильтров в начале 1980-х годов. 13.25. Сглаживание импульсного шума На практике может потребоваться выполнение точных измерений в присутствии шума или помех высокого уровня. Без использования некоторого кондиционирования аналогового сигнала или цифровой обработки будет трудно получить в этом случае устойчивые и повторяемые результаты измерения.
Рассматриваемый ниже прием сглаживания импульсного шума, разработанный первоначально для обнаружения изменений токов, измеряемых микроамперами, при величине тока, измеряемой миллиамперами, использует алгоритм сглаживания, который улучшает устойчивость точных измерений в присутствии импульсного шума (701. Практические методы понижения шума часто включают усреднение по большому количеству отсчетов (блочное усреднение) последовательности измеренных зн чений х(п) для вычисления Жотсчетов арифметического среднего М(е).
В этом случае последовательность усредненных поблочно значений М(д) определяется как; (13-123) где временной индекс процесса усреднения принимает значения и = О, 1, 2, 3 и т.д. При Ю- 10, например, в первом блоке данных (е = О), усредняются отсчеты х(0)— х(9) и получается отсчет М(0). Во втором блоке данных (д = 1), усредняются отсчеты от х(10) до х( 19) и вычисляется отсчет М(1), и т.
д. [71]. Рассматриваемый алгоритм сглаживания импульсного шума обрабатывает блок отсчетов, полученный с помощью периодической дискретизации, и количество отсчетов сможет изменяться в соответствии с индивидуальной потребностью и имеющимися ресурсами. Обработка одного блока из Хотсчетов выполняется следующим образом: необходимо накопить )ч'+2 отсчетов последовательности х(п), отбросить максимальный (наибольший положительный) и минимальный (наибольший по модулю отрицательный) отсчеты, после чего остается блок данных в У отсчетов, и вычислить среднее арифметическое М(а) оставшихся М отсчетов.
Каждый отсчет в блоке затем сравнивается со средним. Подсчитывается количество отсчетов, превышающих среднее арифметическое, и количество отсчетов, которые оказались меньше среднего арифметического, а также сумма модулей от- Глава 13. Маленькие хит ости ци овей об аботки сигналов клонений значений отсчетов от среднего арифметического в одном направлении (которая, согласно определению среднего, равна сумме'модулей отклонений от среднего в другом направлении). Эти данные используются для коррекции среднего в соответствии с формулой: АИ) М® Н~ ае )7ек) (Ргрга1(Ь)1)2 (13-124) где А(е)) — уточненное среднее, М(д) — среднее арифметическое, вычисленное по (13-123), Є— количество отсчетов, превышающих М(су), и )т' — количество отсчетов, которые меньше М(е)), Р„1 — сумма абсолютных значений отклонений от среднего в одном направлении.
Величина Р (представляет собой сумму разностей между отсчетами, вошедшими в Рая и М(е)). В качестве примера рассмотрим систему, обрабатывающую 10 отсчетов измерений: 10, 10, 11, 9, 10, 10, 13, 10, 10 и 10. Среднее М = 103. Количество отсчетов с положительной разностью составляет Р„= 2, а количество отсчетов с отрицательной разностью составляет йге = В(т. е.
Р, — Ж = — 6). Сумма модулей отклонений от среднего в любом направлении составляет 3.4 (при использовании восьми отсчетов, не превышающих среднее, получаем ( 103 — 10) 7+ ( 103 — 9); а с использованием двух отсчетов, превышающих среднее, получаем (13 — 103) + (11— 103)). При Рг м( = 3 4, выражение (13-124) дает уточненный результат А = 10 ОЖ Качество алгоритма сглаживания по сравнению с традиционным блочным усреднением можно оценить на примере. На рисунке 13.71 (а) показана последовательность х(л), содержащая 300 измеренных значений ступенчатого сигнала с единичной амплитудой, искаженного случайным шумом (дисперсия которого равна 0.1) и двумя большими отсчетами импульсного шума. Описанный процесс усреднения следует дополнить следующими соображениями: с) Размер блока сможет быть произвольным целым числом, но при реализации в реальном масштабе времени с фиксированной запятой выгодно выбирать Ж равным целой степени двойки. В этом случае трудоемкие операции деления в (13-123) и (13-124) сводятся к двоичному сдвигу вправо.
1.5 0.5 -0.5 о 1оо зоо зоо о Время )ОО В гОО ЗОО Время (а) (ь) Рис. 13.71. Сглаживание шума при И = 10: (а) входной сигнал х(п);(Ь) результат блочного усреднения (белые кружочки) и сглаживания импульсного шума (черные кружочки) 13.2б. Э ективное вычисление полиномов 0 Если возможно появление в сигнале более чем двух шумовых пиков, то следует накапливать больше чем У+2 отсчетов х(и) и отбрасывать соответствующее количество максимальных и минимальных отсчетов для их удаления. а Мы можем обойти вычисление (13-124) и воспользоваться только вычислением М(д) по (13-123). В этом случае при заданном Устандартное отклонение М(о) будет примерно на 15-20 % больше, чем стандартное отклонение А(о). 1 3.26. Эффективное вычисление полиномов На случай, если вы этого не знаете, сообщаю вам, что для ускорения вычисления полиномов в программе разумно воспользоваться методом, известным как схема Горнера.
Примером вычисления полинома является вычисление арктангенса т. агссап(х) = 0.14007х4 — ОЗ4241хЗ вЂ” 0.01522хз+ 1.00308х — 0.00006 (13-125) Чтобы определить, насколько уменьшается трудоемкость вычисления полиномов, рассмотрим следующий полипом 1г-го порядка: 1Ь(х) - сак" + ... + сухэ + сЗха + стх + се. (13-126) Его можно переписать как: Л(х) = ЬЬ(х) = х(х(х(..
~с~ + сЬ,) + сЬ З) ... + са) + с,) + сс, (13 127) где индекс Н подчеркивает использование схемы Горнера. Использование этого метода для вычисления полиномов: и уменьшает количество необходимых умножений, а легко реализуется на программируемых ЦПОС с помощью команд умножения с накоплением (пш111р!у апс1 ассппш!аге = МАС). Например, рассмотрим полипом пятого порядка: Ях) = сухУ + с4х4 + сзхт + сзх~-+ с(х + св. (13-128) При вычислении обычным способом (13-128) требует девять умножений и пять сложений, тогда как для схемы Горнера Г~(х) =705(х) = х(х(х(,х(сух + с4) + ст) ... + са) + с1) + сл (13-129) требуются пять умножений н пять сложений, а вычисление начинается с внутреннего двучлена (с~к + с4), требующего одного сложения и одного умножения. Вот несколько примеров полиномов в формате Горнера: с~к~ + с~х + сц = х(сух + ст) + св (13-130) Глава 13.
Маленькие хит ости ци овей об аботки сигналов сзху+ с~х2+ стх+ со =х(х(сЗх+ сз) + сс) + со (13-131) с4х~+ сзху+ с2х~+ с~х+ со =х(х(х(сэх+ сз) + с2) + с~) + со (13-132) Между прочим, умножения и сложения не могут быть выполнены параллельно. Поскольку схема Горнера в принципе последовательна, результат последнего умножения должен быть готов перед началом следующего сложения, результат которого должен быть готов до последующего умножения. Схема Горнера — один из полезных методов вычислений, имеющий очень древние корни. Китайские математики описали эту схему в ХП1 в.
Европейские математики (включая Уильяма Горнера (ЪИ111аш Ногпег)) вновь открыли и опубликовали ее в начале ХУП1 в. Есть основания полагать, что сэр Исаак Ньютон также нашел и использовал ее в ХЪ'П в. 13.27. Проектирование КИХ-фильтров очень высокого порядка Существуют приложения, в которых необходимо проектировать нерекурсивные КИХ-фильтры очень высокого качества (с очень узкой полосой пропускания и/или очень высоким подавлением). Рассмотрим ситуацию, когда вы использовали (7-39) или какой-то другой алгоритм и определили, что вам необходимо реализовать КИХ-фильтр с линейной ФЧХ с 2000 ответвлений. Затем, когда вы пытаетесь спроектировать такой фильтр, используя проверенную программу, реализующую алгоритм Паркса-Маклеллана, основанный на алгоритме замен Ремеза, вы получаете непригодный для использования результат.
Случается, что некоторые инкарнации алгоритма замен Ремеза испытывают проблемы со сходимостью (дают неточные результаты), когда количество ответвлений или порядок фильтра превышает четыреста-пятьсот. Существует остроумный прием, позволяющий обойти проблему проектирования КИХ-фильтров высокого порядка, используя дополнение нулями в частотной области'. Если программа проектирования КИХ-фильтров не в состоянии рассчитывать наборы коэффициентов в тысячи элементов, то мы можем рассчитать меньшее количество коэффициентов и интерполировать эти коэффициенты (импульсную характеристику фильтра), чтобы получитьтребуемую длину фильтра. Вместо использования интерполяции во временной области с ее погрешностями мы можем упростить процесс, выполнив интерполяцию с помощью добавление нулей в частотной области. Рассмотрим следующий пример: предположим, что мы имеем сигнал, дискретизированный с частотой 7; = 1000 Гц.