Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Устойчивость



Область применения цифровых фильтров, основанных на использовании

операции свёртки, ограничивается в большинстве случаев временем, требуемым

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

характеристик, но при условии, что вы можете достаточно долго ждать результата

обработки. Для рекурсивных фильтров всё обстоит иначе. Обработка

сигнала происходит почти молниеносно, но качество работы ограничено. В качестве

примера рассмотрим низкочастотный фильтр с верхней граничной частотой,

равной 0.01, характеризующийся наличием шести полюсов и уровнем неравномерности

АЧХ 0.5%. Его коэффициенты можно найти по данным Табл. 20.1:

Посмотрите внимательно на эти коэффициенты. Значения bi по абсолютной

величине близки к 10. С помощью простейших подсчётов можно найти, что вносимый

каждым из них шум округления составляет около одной десятимиллионной

доли от абсолютной величины, т. е. 10-6. А теперь обратим внимание на коэффициенты

ai, абсолютная величина которых близка к 10- 9. Тут явно кроется какая-то

ошибка. Полезный сигнал на выходе фильтра с учётом коэффициентов ai оказывается

в 1000 раз меньше шума, который вносят ранее полученные отсчёты выходного

сигнала, умноженные на коэффициенты bi. Такой фильтр просто не может

работать! На практике максимальное число полюсов слабо зависит от уровня неравномерности АЧХ и типа фильтра (низкочастотный или высокочастотный).

В Табл. 20.3 даны приблизительные оценки максимального количества полюсов

для случая вычислений с обычной точностью.

Таблица 20.3. Максимальное число полюсов при работе с обычной точностью

Превышение этих максимальных значений приводит к тому, что качество

фильтра начинает ухудшаться. Перерегулирование возрастает, затухание в зоне

подавления снижается, а неравномерность АЧХ становится недопустимо большой.

Если продолжать увеличивать количество полюсов фильтра при неточном

представлении его коэффициентов, то на выходе могут возникнуть свободные

колебания, сохраняющиеся до тех пор, пока в фильтре происходят переполнения.

Существует два способа увеличения максимального числа полюсов. Первый

способ заключается в применении вычислений с двойной точностью. В этом случае

потребуется также выбор двойной точности при вычислении весовых коэффициентов

(и двойной точности для записи числа тт).

Второй способ, которым фактически пользуются специалисты, состоит в разбиении

фильтра на несколько звеньев. Например, фильтр, имеющий шесть полюсов,

можно представить в виде последовательного соединения трёх фильтров,

каждый из которых имеет два полюса. Программа 20.1 объединяет (для упрощения)

весовые коэффициенты этих трёх фильтров в один набор, соответствующий

результирующему фильтру. Следует помнить, что фильтр, представленный в виде

совокупности отдельных простых звеньев, значительно более устойчив. Найти

значения весовых коэффициентов ai и bi для каждого звена позволяет та же

Проrрамма 20.1. Отдельно для каждого звена вызывается Программа 20.2. Для

фильтра с шестью полюсами подпрограмму (Программа 20.2) необходимо вызывать

трижды. После своего завершения подпрограмма возвращает пять параметров:

АО, Al, А2, В 1 и В2. Это и есть весовые коэффициенты одного из двухполюсных

фильтров, входящих в состав результирующеrо многокаскадного фильтра.

Приведенная программа вычисляет коэффициенты ai и bi для рекурсивных

фильтров Чебышева. Четыре параметра вводятся в строках 270... 300. Предполагается,

что частота среза FC выражается в долях частоты дискретизации и принимает

значения 0... 0.5. Переменная LH принимает два значения: единица - для высокочастотного

фильтра и нуль - для низкочастотного фильтра. Переменная PR

выражает уровень неравномерности АЧХ фильтра в процентах и ограничена значениями

0... 29. Количество полюсов задается переменной NP, которая может

принимать чётные значения в диапазоне 2... 20. По завершении выполнения программы

значения коэффициентов ai и bi размещаются в массивах А[ ] и В[ ] (аО =

= А[О], al = A[l] и т. д.). Программа 20.2 должна быть вызвана из строки 340 главной

программы. Подпрограмма (Программа 20.2) использует шесть входных и

пять выходных переменных. В Табл. 20.4 содержатся два набора данных для от-

20.4. Устойчивость • 391

ладки программы. Функции SIN и COS работают с радианами, а не с градусами.

Функция LOG - натуральный логарифм (по основанию е). Все переменные представлены

в формате с плавающей точкой (включая константу п) с двойной точностью,

что позволяет увеличить число полюсов фильтра. Данные Табл. 20.1 и 20.2

получены с помощью приведенной программы и могут быть использованы для её

тестирования. Математическое описание программы можно найти в Главе 33.





Дата публикования: 2015-02-03; Прочитано: 480 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...