- •Цифровые фильтры
- •14.1. Понятие о цифровой обработке сигналов. Области применения цифровых фильтров
- •14.2. Линейная модель цифрового фильтра. Нерекурсивные и рекурсивные фильтры
- •14.3. Операторные характеристики и канонические схемы цифровых фильтров
- •14.4. Приемы построения цифровых фильтров по заданным характеристикам
- •14.5. Точность цифровых фильтров. Источники погрешностей в цифровых фильтрах и их оценка
14.5. Точность цифровых фильтров. Источники погрешностей в цифровых фильтрах и их оценка
В реализованном цифровом фильтре выходной сигнал отличается от теоретически ожидаемого вследствие наличия специфических погрешностей, обусловленных операциями дискретизации и квантования, выполняемых в процессе обработки аналогового сигнала. В цифровых фильтрах входной и выходной сигналы являются последовательностью чисел, представляемых с конечной точностью, которая определяется числом разрядов вычислительного устройства, выполняющего обработку входного сигнала. Это приводит к появлению особого рода погрешностей, отсутствующих в аналоговых или дискретных устройствах. Источниками этих погрешностей являются следующие факторы: квантование отсчетов входных сигналов, неточные (округленные) значения параметров (коэффициентов) фильтров, округление или усечение результатов промежуточных вычислений, а также так называемые предельные циклы низкого уровня сигнала, поясняемые ниже. Кроме того, вследствие конечной длины регистров в некоторых случаях в цифровых фильтрах может возникать переполнение. Суммарная погрешность обработки сигналов, а следовательно, и точность цифровых фильтров зависят от многих факторов: формы (канонической, прямой, параллельной и т. п.) реализации фильтра, способа представления чисел в вычислительном устройстве, вида фильтра (рекурсивный или нерекурсивный), характера входного сигнала и т. д.
Анализ погрешностей, вызванных всеми указанными факторами, является одним из самых сложных вопросов теории цифровых фильтров. Здесь мы ограничимся лишь краткой характеристикой различных погрешностей, возникающих в цифровых фильтрах. Более подробное изложение этих вопросов можно найти в специальной литературе.
В системе счисления с плавающей запятой положительное число F представляется в виде произведения двух чисел: F = 2c М, где М—мантисса, с — порядок, который может быть положительным,
или отрицательным. В устройствах, использующих числа с плавающей запятой, диапазон представления чисел практически неограничен, однако анализ погрешностей квантования в них значительно сложнее. Так, например, значение погрешности округления зависит не только от числа разрядов, но и порядка округляемого числа. Поскольку в цифровых фильтрах числа, как правило, представляют с фиксированной запятой, далее будут рассмотрены погрешности, возникающие в цифровых фильтрах, использующих данный способ представления чисел.
Анализ погрешностей является очень важным этапом проектирования цифрового фильтра, поскольку на его основе выбирают число разрядов регистров, используемых для представления чисел и выполнения арифметических операций.
Погрешности, связанные с квантованием входного сигнала, усечением или округлением результатов арифметических операций, как правило, анализируют на основе модели цифрового фильтра с введенными в нее источниками погрешностей, называемыми шумами округления или квантования. На рис. 14.10 приведена такая модель для нерекурсивного фильтра (см. рис 14.2, а), на рис. 14.11 — для рекурсивного (см. рис. 14.6). На этих рисунках квантованный сигнал x (kT) на входе цифрового фильтра представлен в виде суммы дискретизированного неквантованного сигнала (kT) и шума квантования е()(kT) (шума АЦП), еji (kT) — погрешность на выходе j-го сумматора,
На основе такой модели оценка диапазона изменения выходного шума фильтра ев (kT) может быть получена из выражения
— составляющая, обусловленная 1-м источником.
Одним из источников погрешности обработки сигналов в цифровом фильтре является квантование значений выборок входного сигнала АЦП. Погрешность квантования входного сигнала проявляется в виде шума на выходе фильтра. Шум квантования представляет собой последовательность дискретных значений е0 (kT), не превышающих по модулю половины шага квантования ∆, связанного с числом разрядов АЦП r соотношением ∆ = 2-r. Поскольку фильтр линейный, прохождение через него сигнала и шума квантования можно рассматривать независимо друг от друга. При определении выходного шума фильтра, обусловленного погрешностью, вносимой АЦП, предполагают, что расчет фильтра выполняют точно, без погрешности округления (усечения), т. е. учитывают только один источник выходного шума — шум квантования.
Один из возможных методов оценки диапазона изменения выходного шума рассмотрим на примере нерекурсивного фильтра, представленного моделью (см. рис. 14.9). Рассматривая прохождение шума квантования через фильтр, можно сказать, что каждое дискретное значение е0 (kT) вызывает на выходе фильтра реакцию е0В (kT), которую в соответствии с формулой (14.3) можно представить следующим образом
Так как величина e0 (kT) ограничена и не превышает половины шага квантования, можно написать, что
где ξ=2 при использовании округления и ξ = 1 в случае применения усечения при представлении чисел на выходе АЦП. Тогда с учетом выражения (14.23) можно считать, что
Или
где G (kT) — импульсная реакция цифрового фильтра.
Для фильтра с импульсной характеристикой бесконечной длины на основании формулы (14.25) можно написать:
14.26
Очевидно, что выражение для выходного шума фильтра, вызванного квантованием выборок входного сигнала, не зависит от структуры фильтра, поскольку шум квантования проходит через весь фильтр. Подставив в формулу (14.26) выражение (14.24), можно получить оценку диапазона изменения выходного шума цифрового фильтра, обусловленную квантованием выходного сигнала, в виде
Из последнего выражения может быть определено число разрядов АЦП, необходимое для представления выходного сигнала с требуемой точностью:
где int (В) означает наименьшее целое число, не меньшее числа В. Определение числа разрядов АЦП является очень важным моментом построения цифрового фильтра, поскольку при большом значении г практически невозможно или экономически нецелесообразно реализовать АЦП.
Погрешность, вызванная округлением или усечением результатов промежуточных вычислений, является следствием конечной длины регистров арифметических устройств. В вычислительных устройствах, использующих представление чисел с фиксированной запятой, сложение чисел не увеличивает число разрядов, необходимое для представления результата. Однако при каждом умножении число разрядов должно возрастать, и поэтому возникает необходимость округления. Таким образом, каждое умножение приводит к погрешности, эквивалентной шуму квантования, и следовательно, число источников шума цифрового фильтра равно числу умножений, необходимых для получения выходного сигнала. Поскольку это число при различных реализациях фильтра может отличаться, данная погрешность в значительной степени зависит от фильтра (рекурсивный или нерекурсивный), формы его реализации (каноническая параллельная или иная), а также порядка фильтра. Наиболее просто погрешность, вызванная округлением или усечением результатов промежуточных вычислений, может быть определена для нерекурсивных фильтров. При этом, как правило, полагают, что разрядности регистров в умножителях и сумматорах равны г14У тогда, например, в соответствии с рис. 14.7 можно считать, что
при этом по аналогии с выражением (14.24) и следовательно,
Из последнего выражения можно определить необходимое число разрядов для представления выходного сигнала с требуемой точностью по аналогии с выражением (14.28). При рекурсивной реализации цифрового фильтра (см. рис. 14.11) составляющие шума от разных источников (умножителей) проходят на выход непосредственно и через петли обратной связи. Поэтому диапазон изменения выходного шума, обусловленного данной погрешностью, определяется более сложными выражениями, зависящими от структуры фильтра. В процессе проектирования цифрового фильтра при выборе формы реализации, позволяющей выполнять требования к точности в каждом конкретном случае, погрешности рассчитывают аналогично рассмотренному ранее. Результаты более глубокого анализа шумов округления дают основания сделать вывод, что в большинстве случаев меньший уровень шумов обеспечивает каскадная форма реализации фильтра.
Погрешность, вызванная неточными значениями постоянных параметров (коэффициентов) фильтра, также является следствием ограниченного числа разрядов регистров, предназначенных для хранения значений коэффициентов. Поэтому полученные в результате расчета значения коэффициентов приходится округлять.
В результате этого фактические параметры фильтра несколько отличаются от расчетных. Погрешности такого рода играют наибольшую роль в рекурсивных фильтрах, где осуществляют многократные умножения на константы. Поэтому в процессе разработки цифровых фильтров обязательно исследуют влияние неточности параметров. Особенно это важно для фильтров высоких порядков, где такое влияние может быть очень значительным. Поэтому обычно стараются такие фильтры заменить параллельным или каскадным соединением звеньев первого или второго порядка.
Ограничение числа разрядов регистров цифрового фильтра является источником специфических процессов на выходе фильтра, называемых предельными циклами низкого уровня сигнала. Это явление возникает на выходе фильтра вследствие округления результатов вычисления при малом входном сигнале. Поясним это на примере. Рассмотрим рекурсивный фильтр первого 326 порядка, описываемый разностным уравнением: у (kT)= х(kT)—0,9 у(kT—Т). Пусть на входе этого фильтра действует сигнал:
Если результаты вычислений не округляются, то на выходе фильтра получается последовательность +10; —9; +14,1; —7,29; +6,561; —5,14949; +4,14054; —4,324146 ... Абсолютные значения выходного сигнала убывают, стремясь к нулю. При округлении результатов, например до целочисленных значений на выходе фильтра возникает последовательность + 10;— 14; +14;—7; +6;—5; +5; —5;+; 5—5 ... Через время 57 после подачи входного сигнала на выходе фильтра устанавливаются периодические колебания, амплитуда которых в данном случае равна 5.
Такое явление очень нежелательно, так как оно приводит к появлению паразитных колебаний на выходе фильтра, уровень которых может значительно превысить уровень шума квантования. Предельные циклы обычно возникают с прекращением действия сигнала на выходе фильтра. Поэтому существование таких циклов следует учитывать при разработке систем передачи, в входных сигналах которых могут наблюдаться паузы. Анализ предельных циклов низкого уровня весьма сложен вследствие зависимости этого режима фильтра от структуры и формы реализации.
Кроме предельных циклов низкого уровня, в цифровых фильтрах могут возникать сильные колебания предельного цикла, обусловленные переполнением. Это вызывает появление значительных погрешностей на выходе фильтра и даже может привести к периодическому изменению выходного сигнала фильтра между предельными значениями максимальной амплитуды. Такие предельные циклы называют колебаниями переполнения для их устранения в схему фильтра вводят так называемые масштабные множители, нормирующие входной сигнал так, чтобы избежать эффекта переполнения регистров цифрового фильтра.
Все рассмотренные выше погрешности являются следствием ограниченного числа разрядов регистра, используемых для представления входного сигнала, выполнения арифметических операций и т. д. Поэтому для уменьшения этих погрешностей следует увеличивать число разрядов чисел, обрабатываемых фильтром. Однако это приводит к усложнению фильтров, что может сделать их применение экономически неоправданным или технологически неосуществимым. Поэтому практически цифровые фильтры реализуют на основе компромиссных решений, выбирая соответствующую структуру фильтра и число разрядов регистров вычислительного устройства, которые обеспечивают выполнение требований, предъявляемых к точности обработки сигналов цифровыми фильтрами.