Jump to content
    

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

Добрый день.

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

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

Share this post


Link to post
Share on other sites

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

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

 

Share this post


Link to post
Share on other sites

43 minutes ago, andyp said:

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

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

45 minutes ago, andyp said:

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

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

45 minutes ago, andyp said:

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

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

48 minutes ago, andyp said:

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

2 hours ago, aBoomest said:

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

2 hours ago, aBoomest said:

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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.

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

Edited by aBoomest

Share this post


Link to post
Share on other sites

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

 

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

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...