Гольденберг Л.М. и др. - Цифровая обработка сигналов (Справочник) (1044122), страница 25
Текст из файла (страница 25)
По точности аппроксимации метод занимает промежуточное полажение между методами разложения аппроксимнруемой функции в ряд Фурье и наилучшей равномерной аппроксимации. Метод наименьших квадратов требует значительного объема вычислений, так как для решения задачи необходимо определять коэффициенты и правые части системы линейных алгебраических уравнений и решить эту' систему [см. (4.26)1.
Этот метод целесообразно использовать в следующих случаях: когда необходимо учесть дополнительные ограничения на коэффициенты фильтра или построить сложную целевую функцию; когда минимизация функции типа (4.24) соответствует физическому смыслу задачи (см., например, [4.11, 4.12]). Метод наилучшего равномерного (чебышевского) приближения реализуется, как правило, в виде эффективного алгоритма Ремеза (см.
4.3.4 н [1.6.). Он позволяет: рассчитать фильтр заданного порядка Л!, для которого максимальная абсолютная погрешность аппроксимации в полосах пропускания и задерживания будет минимальна (см. 4.3.4 и пример 4.8); по заданной максимальной абсолютной погрешности аппроксимации в полосах пропускания и задерживания рассчитать фильтр наименьшего порядка Л АЧХ которого удовлетворяет поставленным требованиям; точно задать отношения между абсолютными погрешностями аппроксимации в различных полосах с помощью весовой функции (см.
(4.9), (4.11) и пример 4.3). Алгоритм Ремеза целесообразно использовать для расчета нерекурсивных фильтров всегда, за исключением тех случаев, когда следует использовать методы разложения аппроксимируемой функции в ряд Фурье или наименьших квадратов. 4.4.
РАСЧЕТ РАЗРЯДНОСТЕЙ КОЭФФИЦИЕНТОВ ФИЛЬТРОВ И РЕГИСТРОВ ОПЕРАТИВНОЙ ПАМЯТИ 4.4.1. Расчет разрядности коэффициентов фильтров После решения аппроксимационной задачи на ЭВМ коэффициенты фильтра определяются весьма точно, как правило, с 7 — 14 десятичными разрядаын. При реализации фильтра в виде специализированной микро-ЭВМ каждый коэффициент должен быть представлен в виде двоичного кода 5., состоящего из зя цифр (помимо знакового разряда).
Пример 4.11. Пусть 5!=0,3; г„.=15. Тогда, окрутляя до 15 двоичных разрядов, получают Ь|=0,010011001100110. Использование округленных двоичных кодов коэффициентов приводит к изменению характеристик фильтров. На практике часто используют следующ.!1 критерий для расчета разрядности з-. Пусть требования к АЧХ !Н(е!зя") ~ фильтра имеют вид 1В (ш) — ~ Н ( е! зн Я') ! ! ( еу (4.36) где В(ео) — аппроксимируемая функция; е; — допустимая погрешность на !'-и подынтервале аппроксимации. Тогда разрядность з считается выбранной праЛ~ — ! вильно, если АЧХ фильтра с передаточной функцией Н(г) = Х Б!г-! (5! — округ!=-о ленные до з„разрядов коэффициенты) удовлетворяет условию (4.36). Для проверки условия (4.36) используется метод перебора с шагом Аш, определяемым (4.35) . 128 Существуют два метода определения величины з„.
Первый метод состои~ в расчете минимально возможного значения з, на стадии решения аппраксимационной задачи. При этом изменяется постановка этой задачи — теперь дали.на быть определена аппроксимирующая функция Ф„(ш, с) заданного порядка К, удовлетворяющая поставленным требованиям 1например, условию (4.10) ] при минимальной двоичной разрядности з коэффициентов сь Подобные зздачи решаются методом целочисленного программирования [4.131. Второй метод состоит в расчете величины з„- путем округления коэффициентов, полученных в результате решения аппроксимацианной задачи. Заметим, что второй метод расчета разрядности гораздо проще первого.
При значениях з,, удовлетворяющих условию з„)10... 12, оба метода дают практически одинаковые результаты (4.14,'. 4.4.2. Основные предположения прн расчете разрядностей регистров оперативной памяти 4.4.3. Расчет велнчннът зц Условие (1.101 Л вЂ” 1 зц — 1п1 1ояя ~ (Ь~( !=0 (4.37) гарантирует отсутствие переполнения регистра выходного сигнала. Пример 4.12. Для фильтра с Л'=15 (см.
табл. 4.5) па формуле (4.37) онределяем за = 1. 4.4.4. Расчет величин э„~ н зх (вероятностный подход) Пусть задана величина о',мх — допустимая дисперсия (средняя мощность) шума на выходе фильтра, причем этот шум обусловлен шумами округления отсчетов выходного сигнала фильтра и, возможно, каждого произведения, получаемого при вычислении выходного сигнала фильтра. Шумы округления представляют собой стационарные случайные последовательности с некоррелированными между собой отсчетами, причем шумы, создаваемые различными источниками, не коррелированы друг с другам и с сигналом, обрабатываемым фильт- РОМ.
Если произведения вычисляются точно, т. е. отсутствуют шумы округления, И' 3 2 — 2а вх то согласно (2.27) аэ, (оз, / ~ Ь~ь где аэ, = — — дисперсия шума 1=0 12 Округления отсчетов входного сигнала и 3 — 30 1 н Значения разрядностей регистров оперативной памяти фильтра зависят в общем случае ат формы реализации фильтра и способа представления чисел.
Ниже приводятся расчетные соотношения для следующих величин: разрядности з„регистра входного сигнала х(пТ) (считается, что /х(пТ) /(1), разрядностей з и зх тех частей регистра выходного сигнала у(лТ), в которых фиксируются целая и дробная части кода у(пТ) в предположении, что фильтр реализуется в прямой форме и числа представлены с фиксированной запятой в прямом илн дополнительном кодах, причем каждое произведение округляется. 'Ф вЂ” 1 = Ш! — ~ 2, ~ 2|112,)~; 1=о (4.38) ад = 5ВХ Т 5Н. Если произведения вычисляются с округлением, т. е.
присутствуют шумы округления произведений, то !42 — 1 1=о (4.39) где пв =2 2'и,'!2 — дисперсия шума округления произведения. Мощность собственных шумов фильтра (шумов округления гроизведений) должна быть мала по сравнению с мощностью внешнего по отношению к фильтру шума округления отсчетов входного сигнала.
Можно принять .22' — 1 о,, Л2 = О, 1 о „,2' Ь !. ! о (4.40) Из (4.39) н (4.40) следует расчетные формулы для зв и зв: Х вЂ” 1 1,15' Ь', Го 1 — !одев звх =- !и! (4.41) 12 овых 1 зд —— - !и! 2 12 Л 1о Кв Л2 1 12 ов 2 вх5~ Ь2 1=а (4.42) Пример 4.!3, Пусть а', =10 — ', т. е. для отсчетов выходного сигнала о„и»=10 — 4. Для фильтра с Л'='1б (см. табл. 4.8) при точном вычислении произведений находим 4„=11 (см.
(4.38)). Для того же фильтра прн округлении произведений по формулам (4.41) и (4.42) определяем соответственно зв = =12 и зв — 16. 4А.б Расчет величии звв и зц «на худший случай» (4.43) Л~~~) ! у(а т) — уп (пт) !, и = 0,1, . где у(пТ) — отсчеты выходного сигнала «точного» фильтра, в котором все операции выполняются точно и на вход которого подается «точный» входной сигнал! уц(пТ) — отсчеты выходного сигнала фильтра с теми же коэффициентами, на вход которого подается округленный до звв разрядов входной сигнал и, возможно, все произведения вычисляются с округлением до зц разрядов.
5 1 Если произведения вычисляются точно и !х(пТ) — хц(пТ) ~ ~2 где х(пТ) — точные отсчеты входного сигнала; хц(пТ) — отсчеты входного сигнала, округленные до зв разрядов, то из (4.43) и (2.19) следует, что 130 Пусть задана максимально допустимая абсолютная погрешность Л,и отсчетов выходного сигнала фильтра'. (М вЂ” 1 з х 1п(!она ( ~~~. !51!/2 Ьвых 'Х 1=О (4.44) ! зд — звх ~ зв Если произведения вычисляются с округлением, то Х вЂ” 1 1=-.О где Ь =2 в* — погрешность отсчетов входного сигнала, определяемая окав= руглснием этих отсчетов до э„разрядов; Л У вЂ” погрешность выходного сигнал — 5 — 1 ла, определяемая округлением произведении: Л,=2 Для того чтобы фильтр не вносил значительных дополнительных погрешностей в значение отсчета выходного сигнала, можно принять ~(по аналогии с (4.40Ц Х вЂ” 1 Л Л'= 0,1 й ~511 1=а (4.45) Из (4.43), (4.45) н (2.19) следуют расчетные формулы для з, и з„: Ю 1 г.,= — Ш!!К,(!.1~ ~Ь~!121,„,); 1=О ~т эд = 1п1 1она А' — 1 вх 2 (Л,„, — 2 "* 5' /ь</) 1=О (4.46) (4.47) Лример 4.14.
Пусть Лл„х=5 10 4. Для фильтра с Л'=15 (см. табл. 4эй) прч точном вычислении произведений из (4.44) э,х=11. Для того же фильтра при округлении произведений э„=11; эх=16. 4.4.6. Алгоритм расчета разрядности коэФфициентов фильтра, реализуемого на специализированном микропроцессоре Если фильтр реализуется на спецналззнрованном микропроцессоре типа РЬР (см. (4.11), то коэффициенты фиксируются в виде двоичных кодов с заранее определенным числом з,и двоичных разрядов (для ПЯР зл. =16). Таким образом, необходимо определить, существует ли фильтр, удовлетворяющий условиям задачи, и если оп существует, рассчитать округленные коэффициенты этого фильтра, На рис. 4.7 показана схема алгоритма расчета округленных до з„и двоичных разрядов коэффициентов фильтра.
На первом этапе (символ 1) решается аппроксимационная задача и определяется фильтр минимального порядка Л'=Л' удовлетворяющий условиям задачи (эти условия имеют вид (4.10), см. пример 4.9). На втором этапе (символ 2) рассчитанные коэффициенты округляются до з двоичных разрядов. На третьем этапе (символ 3) рассчитываются максимальные погрешности аппроксимации е~ и еа соответственно (в полосах пропускания задерживании [см.
(4.34)]. Для многополосного фильтра рассчитываются величины е; для каждой полосы пропускания и задерживания. Расчет выполняется методом перебора с шагом Л1а, определяемым (4,35), значений функ- 5"' 131 М вЂ” 1 ции ~В(ю) — ~ц(еьтп~)(( (см. 4.3.8), причем )Н(ем'с ) ) =! Х баем и" ~ и 61 — ок- п=о ругленный коэффициент фильтра. На четвертом этапе (символ 4) проверяется условие получения решения. Если рассчитанные погрешности в, и еэ одновременно не больше заданных допустимых погрешностей з и з, (см. 4.3.5, пример 4.9), т.