Перейти к содержанию
    

Фильтрация и разрядность

Добрый день.

Есть БИХ фильтр. Вопрос в том, что коэффициенты фильтра имеют различие на 5 порядков (единицы и десятитысячные). Все бы хорошо если тип single или double.

Если нет, то точность выходного значения падает. Есть выход из подобных ситуаций?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точность выходного значения - это о чем? Квантование коэффициентов смещает нули и полюса и изменяет АЧХ фильтра. Если фильтр продолжает удовлетворять спецификации, то и бог с ним. Если нет - существует масса вариантов:

Правильно разбить на секции второго порядка, изменять входные параметры,  двигать уже нули и полюса... В общем, надо уметь разрабатывать такие фильтры. Но и это все может не помочь. Тогда придется обсудить изменение спецификаций.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

43 minutes ago, andyp said:

Точность выходного значения - это о чем? Квантование коэффициентов смещает нули и полюса и изменяет АЧХ фильтра.

Точность = отличие, например, амплитуды выхода на 12-15 % от теоретически задуманного.

45 minutes ago, andyp said:

Если фильтр продолжает удовлетворять спецификации, то и бог с ним.

Нет. Не продолжает.

45 minutes ago, andyp said:

В общем, надо уметь разрабатывать такие фильтры.

Круто! Главное информативно и обстоятельно! :biggrin:

48 minutes ago, andyp said:

Правильно разбить на секции второго порядка

Есть какие-то рекомендации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пример бы привели, что именно не так.

в целочисленных 32х разрядах 9 с половиной десятичных порядков динамического диапазона.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, aBoomest сказал:

Есть какие-то рекомендации?

тупо увеличить разрядность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, aBoomest said:

Круто! Главное информативно и обстоятельно! :biggrin:

Примерно на том же уровне, что и стартовый вопрос. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

25 минут назад, _pv сказал:

в целочисленных 32х разрядах 9 с половиной десятичных порядков динамического диапазона.

....а если к ним добавить ещё 32 бита, так и вообще космос получится.  :wink:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, aBoomest said:

 :biggrin:Есть какие-то рекомендации?

Например, tf2sos в Матлабе. В секции брать близкие пары нулей и полюсов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, andyp сказал:

Примерно на том же уровне, что и стартовый вопрос. 

Вангую, что говоря о некоей "точности", ТС видимо сравнивает результат, получившийся на некоей его реализации (о которой также можно только гадать), с реализацией на double.

Вот что выдаёт хрустальный шар.  :unknw:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, _pv said:

в целочисленных 32х разрядах 9 с половиной десятичных порядков динамического диапазона.

А в 15-ти с фиксированной? (на сколько я знаю что фиксированная точка)

Это мне весьма интересно, я про диапазон. Не подскажете л-ру где описано как это расчитывается, оценивается, . .  а то я 1-й раз с подобными фильтрами сталкиваюсь.

6 hours ago, andyp said:

Примерно на том же уровне, что и стартовый вопрос. 

Нет.

6 hours ago, andyp said:

Например, tf2sos в Матлабе. В секции брать близкие пары нулей и полюсов.

Спасибо! Мысль! Я посмотрю, просто думаю там близких нет. Там всего то 3й порядок. Но при этом коэффициенты знаменателя в районе единиц, а числителя в районе десятитысячных. Т.е. постоянная времени очень большая. Доля на выходе от входного сигнала на каждом шаге очень маленькая. И на фоне коэффициентов числителя ее не видно и это приводит к погрешностям. Это на сколько я могу судить, на пальцах.

6 hours ago, jcxz said:

ТС видимо сравнивает результат, получившийся на некоей его реализации (о которой также можно только гадать), с реализацией на double.

Тут и к гадалке не ходи, так и есть. С чем еще сравнивать вы предлагаете?

Изменено пользователем aBoomest

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 9/19/2023 at 9:19 PM, aBoomest said:

Т.е. постоянная времени очень большая.

Да!!! "В жизни бывают минуты, когда всё решают секунды! И это может длиться часами!!!" Так чему равна постоянная времени? :biggrin:

Вообще, нужно сразу указывать все параметры фильтра. Только так получится предметный разговор.

On 9/19/2023 at 9:19 PM, aBoomest said:

С чем еще сравнивать вы предлагаете?

В MATLAB'е можно на одном графике сравнить две реализации одного и того же фильтра - с квантованными коэффициентами и с коэффициентами в формате double:

image.thumb.jpeg.a1c19fae39e985d7e613942edc75e66a.jpeg

 

Для этого в filterDesigner нужно нажать кнопку: image.jpeg.f9f77bd41907facf64de5f80b1df347d.jpeg

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...