Целочисленное проектирование фильтров

Все что касается фильтрации
Vlad27
Сообщения: 86
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Целочисленное проектирование фильтров

Сообщение Vlad27 »

По всепропускающему фильтру (ВПФ, allpass). Во всех серьёзных
книгах ВПФ всегда относят к группе основных в классификации
по виду АЧХ фильтров, наряду с ФНЧ, ФВЧ, ППФ и ПЗФ.
Рассчитать их по билинейному преобразованию нельзя ввиду
нереальности такого аналогового прототипа с единичной
передачей в бесконечность. Специальные методы существуют
по их проектированию - сошлюсь на Гарри Лема. Аналоговые и
цифровые фильтры, М: Мир, 1982
Я и БИХ и КИХ ВПФ естественно проектирую методами МП или
ЦНП - если нужна целочисленность. Высылаю мой синтез
КИХ-фильтра тоже во FLOAT, чтобы можно было сравнить.
Главное, что линейность фазы здесь реализуется без проблем,
как для FIR, так и для IIR.
Вложения
Lem.gif
Forum_6zv_FIR.jpg
Последний раз редактировалось Vlad27 28 янв 2016, 13:16, всего редактировалось 2 раза.

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Santik »

Vlad27 писал(а): А по всепропускающему фильтру (ВПФ)...
Рассчитать их по билинейному преобразованию нельзя ввиду
нереальности такого аналогового прототипа с единичной
передачей в бесконечность...
Но, во-первых мы рассматриваем цифровые фильтры - частота у нас ограничена Найквистом.
Во-вторых мы можем (в цифровой области) с легкостью создать "идеальную линию задержки", что строго говоря на индуктивностях и конденсаторах сделать нельзя.
Такой идеальной линией задержки является КИХ- фильтр H(z)=z^{-N}
И это - всепропускающий фильтр с линейной фазой!
Рассмотрим всепропускающий фильтр

Если использовать обратную матрицу z- преобразования, то (чисто формально):

Т.е. H(S)=1
Таким образом мы получили КИХ- фильтр с линейной фазой и постоянной ГВЗ - равной порядку фильтра.
Точнее ГВЗ=N*dt, где dt - шаг дискретизации, N- порядок фильтра.
Вот здесь видимо у нас и несовпадение!
Если Вы заложили поиск ГВЗ не равное N*dt - то конечно решение не сойдется к КИХ- фильтру!
Не очень понятно зачем это надо, т.к. ФЧХ всепропускающего КИХ - фильтра может быть любая. Единственное ограничение - она должна быть нечетной на интервале [-Pi;Pi]. Естественно, при сложной ФЧХ - порядок КИХ- фильтра потребуется высокий.
Вывод: для коррекции ФЧХ можно использовать КИХ- фильтры.

ivan219
Сообщения: 61
Зарегистрирован: 09 май 2011, 16:39

Re: Целочисленное проектирование фильтров

Сообщение ivan219 »

Vlad27 писал(а): Рассчитать их по билинейному преобразованию нельзя ввиду
нереальности такого аналогового прототипа с единичной
передачей в бесконечность.
Вот аналоговый прототип.http://calculator2006.narod.ru/FileInet/fv.gif
Ищи по фразе фазовращатели.

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Santik »

Наверное это не совсем правильно. Коэффициент передачи должен быть равен 1 на любой частоте. (1 ГГц или 100 ГГц ) :shock:
Так что то что приведено на схеме - это некоторое приближение к "идеальному случаю", т.е. это не аналоговый прототип.

ivan219
Сообщения: 61
Зарегистрирован: 09 май 2011, 16:39

Re: Целочисленное проектирование фильтров

Сообщение ivan219 »

Это все пропускающий фильтр с 1 коэффициентом усиления. Но не линейной ФЧХ

Теория http://vunivere.ru/work2336/page4

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1114
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Бахурин Сергей »

Vlad27 писал(а): Эта задача для нас является промежуточной
к синтезу цифровых фазовых корректоров на базе
рекурсивных ЦНП-фильтров, где фазу можно прогнуть
в любую сторону для компенсации фазовых искажений
тракта - при сохранении единичной передачи, естественно.
Сейчас какраз решаем такую задачу.
Строго говоря фазовые корректоры на базе рекурсивных звеньев никогда не обеспечат линейной фазы. Лишь некоторе приближение к линейной фазе. При этом могут быть серьезные проблемы с устойчивостью рекурсивных звеньев (особенно в целочисленной арифметике).
Vlad27 писал(а): У КИХ-фильтра это сделать практически невозможно. :)
Ких эквалайзеры очень хорошо компенсируют в том числе и фазу. Есть строгий мат аппарат как это делать. На эту тему написаны тома. Все системы связи сегодня используют адаптивные ких эквалайзеры. Так что заявление крайне провокационное.

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

Vlad27
Сообщения: 86
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Целочисленное проектирование фильтров

Сообщение Vlad27 »

Santik писал(а):
Vlad27 писал(а): А по всепропускающему фильтру (ВПФ)...
Рассчитать их по билинейному преобразованию нельзя ввиду
нереальности такого аналогового прототипа с единичной
передачей в бесконечность...
Но, во-первых мы рассматриваем цифровые фильтры - частота у нас ограничена Найквистом.
Во-вторых мы можем (в цифровой области) с легкостью создать "идеальную линию задержки", что строго говоря на индуктивностях и конденсаторах сделать нельзя.
Такой идеальной линией задержки является КИХ- фильтр H(z)=z^{-N}
И это - всепропускающий фильтр с линейной фазой!
Рассмотрим всепропускающий фильтр

Если использовать обратную матрицу z- преобразования, то (чисто формально):

Т.е. H(S)=1
Таким образом мы получили КИХ- фильтр с линейной фазой и постоянной ГВЗ - равной порядку фильтра.
Точнее ГВЗ=N*dt, где dt - шаг дискретизации, N- порядок фильтра.
Вот здесь видимо у нас и несовпадение!
Если Вы заложили поиск ГВЗ не равное N*dt - то конечно решение не сойдется к КИХ- фильтру!
Не очень понятно зачем это надо, т.к. ФЧХ всепропускающего КИХ - фильтра может быть любая. Единственное ограничение - она должна быть нечетной на интервале [-Pi;Pi]. Естественно, при сложной ФЧХ - порядок КИХ- фильтра потребуется высокий.
Вывод: для коррекции ФЧХ можно использовать КИХ- фильтры.
Частоте Найквиста как раз и соответствует бесконечная частота в аналоговом
прототипе. Поэтому и нельзя рассчитать билинейным преобразованием. И делают
прямой расчёт, шевеля нулями и полюсами в z-плоскости (см. Лема) - но фаза
всегда будет нелинейна при таком прямом расчёте. А ВПФ по определению - это
всегда ФНЧ с единичной передачей и с частотой среза, равной частоте Найквиста.
А просто задержать входной сигнал на N тактов - это никакой не ВПФ, по принятому определению (опять см. Лема).
Классикой, наверное, тоже можно рассчитать КИХ ВПФ с линейной фазой (методом
частотных выборок ? - я им не работаю), но только во FLOAT. ЦНП-синтез легко
решает эту задачу и для БИХ и для КИХ, и в INT и в FLOAT.
Последний раз редактировалось Vlad27 28 окт 2015, 11:56, всего редактировалось 4 раза.

Vlad27
Сообщения: 86
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Целочисленное проектирование фильтров

Сообщение Vlad27 »

Бахурин Сергей писал(а):
Vlad27 писал(а): Эта задача для нас является промежуточной
к синтезу цифровых фазовых корректоров на базе
рекурсивных ЦНП-фильтров, где фазу можно прогнуть
в любую сторону для компенсации фазовых искажений
тракта - при сохранении единичной передачи, естественно.
Сейчас какраз решаем такую задачу.
Строго говоря фазовые корректоры на базе рекурсивных звеньев никогда не обеспечат линейной фазы. Лишь некоторе приближение к линейной фазе. При этом могут быть серьезные проблемы с устойчивостью рекурсивных звеньев (особенно в целочисленной арифметике).
Vlad27 писал(а): У КИХ-фильтра это сделать практически невозможно. :)
Ких эквалайзеры очень хорошо компенсируют в том числе и фазу. Есть строгий мат аппарат как это делать. На эту тему написаны тома. Все системы связи сегодня используют адаптивные ких эквалайзеры. Так что заявление крайне провокационное.

Ких эквалайзеры также не обеспечат строго линейной фазы, но они всегда гарантированно устойчивы в отличии от рекурсивных звеньев и очень легко реализуются аппаратно.
Категорически не согласен с таким "наветом", что БИХ-фильтры "никогда
не обеспечат линейной фазы". При практическом проектировании ЦФ термин
"строго линейная или идеально линейная" не имеет с моей т.з. никакого смысла,
т.к. практически идеальность фазы замерить невозможно (погрешность измерителя
всегда далеко ненулевая). Корректно говорить о допуске на нелинейность фазы
в том или ином практическом применении. Из своего опыта выполнения множества
ТЗ знаю, что за фазовую негинейность не выше одного - двух градусов в рабочей
полосе вас горячо расцелует в обе щеки любой Заказчик и даже премию ещё вам
выпишет :) . А практически у БИХ-фильтра нелинейность фазы можно уменьшить
сколь угодно, только практически сотые доли градуса никому не нужны.
Вот ниже на рисунке приведены ФЧХ 10-ти разрядного БИХ ВПФ по модели (синтезу)
и по физическим измерениям. С нашей т.з. требование линейности полностью
выполнены - чистая прямая линия лежит в малых шумах измерения.

И ещё, Сергей! Что вы понимаете под строго линейной фазой для фазового
корректора? Имеется в виду строгая линейность фазы после корректировки
тракта с заданными фазовыми искажениями? Если так, то конечно АБСОЛЮТНО скомпенсировать фазовую нелинейность тракта очевидно не удастся, а можно
только загнать её в некоторый допуск, что и требует любое ТЗ.
А у КИХ фильтра зона фазовой коррекции в 5 - 7 раз меньше, по сравнению
с БИХ. Сейчас мы как раз проводим такие измерения. Выложу попозже.
А если есть численные данные -приведите пределы коррекции фазы у КИХ-эквал.
Можно будет сравнить с ЦНП КИХ-корректорами. 8-)
Вложения
Измерение ФЧХ БИХ ВПФ по ЦНП-синтезу
Измерение ФЧХ БИХ ВПФ по ЦНП-синтезу
Последний раз редактировалось Vlad27 28 окт 2015, 12:01, всего редактировалось 2 раза.

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Santik »

Vlad27 писал(а):Частоте Найквиста как раз и соответствует бесконечная частота в аналоговом прототипе.
Поэтому и нельзя рассчитать билинейным преобразованием. И делают прямой расчёт,
шевеля нулями и полюсами в z-плоскости (см. Лема) - но фаза всегда будет нелинейна
при таком прямом расчёте. А ВПФ по определению - это всегда ФНЧ с единичной
передачей и с частотой среза, равной частоте Найквиста. А просто задержать входной
сигнал на N тактов - это никакой не ВПФ, по принятому определению (опять см. Лема).
Классикой, наверное, тоже можно рассчитать КИХ ВПФ с линейной фазой (методом
частотных выборок ? - я им не работаю), но только во FLOAT. ЦНП-синтез легко решает
эту задачу и для БИХ и для КИХ, и в INT и в FLOAT.
Вам же предложили элементарную задачу на анализ КИХ H(z)=z^{-2}
Но, как я понял Ваш метод не желает сходиться к элементарному решению. Я так понял на границах он не работает!

Vlad27
Сообщения: 86
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Целочисленное проектирование фильтров

Сообщение Vlad27 »

Да нет. По КИХ-фильтру я ничего и не решал, не проверял схождение
к чему-либо. Решение наше по КИХ-фильтру All Pass я привёл выше, а
возможность управления фазой при коррекции мы что-то не наблюдали.
В этом плане - никакого сравнения с БИХ, где уже получена ширина
зоны коррекции ФЧХ в 720 градусов для БИХ-фильтра 12-го порядка.
Последний раз редактировалось Vlad27 28 янв 2016, 13:21, всего редактировалось 1 раз.

Ответить