Хочется отобразить график групповой задержки. Как правильно это сделать? По определению групповая задержка это минус производная от ФЧХ по частоте. Как самый простой вариант решения задачи это вычислить N точек ФЧХ. Сделать unwrap для фазы, и взять от полученного массива производную скажем по 3ем точкам. Понятное дело что точность такого метода мягко говоря не самая лучшая.
Если подумать логически то если мы можем зная коэффициенты a и b передаточной функции и вычислить значение ФЧХ, по формуле:
тогда по определению групповой задержки можно попробовать вывести формулу для её вычисления:
Правда до ума я эту формулу не смог довести не понимаю как взять дальше производную. Но, по идее это самый точный способ вычисления групповой задержки. Буду рад если кто подскажет самый оптимальный путь.
Групповая задержка БИХ фильтров
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2010, 09:29
- Бахурин Сергей
- Администратор
- Сообщения: 1114
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Групповая задержка БИХ фильтров
ну можно продолжить эту производную.
Предварительно введу обозначения:
тогда вашу формулу можно переписать попроще:
Теперь вам осталось выделить реальную и мнимую части и подставить их в это выражение. Для этого вам потребуется представить все комплексные экспоненты по формуле Эйлера и выделить из комплексной дроби реальную и мнимую части. Но можно использовать ту формулу что я привел если будете реальные и мнимые части рассчитывать численно (например функцией freqz) и их производные считать через конечные разности. В этом случае точность оценки групповой задержки будет выше, так как вы не считаете арктангенса отношения и не используете Unwrap
Предварительно введу обозначения:
тогда вашу формулу можно переписать попроще:
Теперь вам осталось выделить реальную и мнимую части и подставить их в это выражение. Для этого вам потребуется представить все комплексные экспоненты по формуле Эйлера и выделить из комплексной дроби реальную и мнимую части. Но можно использовать ту формулу что я привел если будете реальные и мнимые части рассчитывать численно (например функцией freqz) и их производные считать через конечные разности. В этом случае точность оценки групповой задержки будет выше, так как вы не считаете арктангенса отношения и не используете Unwrap
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2010, 09:29
Re: Групповая задержка БИХ фильтров
Да согласен, затупил, с заменой переменных все стало гораздо проще. Кстати, можно реализовать вычисление производной частотной характеристики по аналогии как функции freqz, и использовать полученные мнимые I'(w) и действительные части R'(w) в формуле выше, тогда все будет ещё точнее
- Бахурин Сергей
- Администратор
- Сообщения: 1114
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Групповая задержка БИХ фильтров
да конечно для этого можно учесть, что
тогда необходимо рассчитать производную от . Для этого представим:
, где
тогда
производные равны:
Собрав все в формуле для производной и численно рассчитав ее аналогично freqz можно получить напрямую отсчеты производной реальной и мнимой частей, и тогда оценка групповой задержки будет вычисляться с точностью выполнения арифметических операций с плавающей точкой
тогда необходимо рассчитать производную от . Для этого представим:
, где
тогда
производные равны:
Собрав все в формуле для производной и численно рассчитав ее аналогично freqz можно получить напрямую отсчеты производной реальной и мнимой частей, и тогда оценка групповой задержки будет вычисляться с точностью выполнения арифметических операций с плавающей точкой