реклама на сайте
подробности

 
 
> расчет БИХ фильтров в fdatool
shf_05
сообщение Apr 22 2008, 10:44
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



написал прогу для реализации 32бит фильтра на ADSP2191
в fdatool спроектировал БИХ фильтр, отквантовал до 32бит,
необходимо получить все коэф матрицы SOS в формате 1,31 и привести коэффициент G к 1 для всех секций.
делаю как в справке по fdatool, но коэф не хочет приравниваться к 1.

помогите подогнать коэффициенты или подскажите, как рачсчитать в какой-л др проге
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tue
сообщение Jun 16 2008, 06:16
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Чтож, похоже по поводу единичного полного коэффициента я вам помочь не могу. Попробуйте поиграться со структурами фильтра, там где можно обойтись без масштабирования (например прямая форма 1)
Go to the top of the page
 
+Quote Post
shf_05
сообщение Jun 17 2008, 13:01
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



Цитата(Tue @ Jun 16 2008, 12:16) *
Чтож, похоже по поводу единичного полного коэффициента я вам помочь не могу. Попробуйте поиграться со структурами фильтра, там где можно обойтись без масштабирования (например прямая форма 1)

реализовывать фильтр по схеме, отличной от каскадной из секций второго порядка на проце с фиксированой запятой я стараюсь избегать- как правило ничего хорошего не выходит- большие погрешности в квантовании коэф-в фильтра и как следствие неудовлетворительные хар-ки
я думаю попоробовать fdattol 4, которя есть в матлаб 2007, матлаб есть только жаль ключа нету к нему.
Go to the top of the page
 
+Quote Post
Tue
сообщение Jun 17 2008, 21:51
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



А каков порядок получается у вашего фильтра ? Обычно да, стараются реализовывать фильтр каскадно из секций 2-го порядка, но вы же радеете за динамический диапазон, а в таких случаях масштабирование нежелательно. Кстати прямая форма 1 обладает вообщем-то меньшим шумом округления, чем каскадные формы. Попробуйте сделать в прямой форме 1, проанализируйте в матлабе и подберите нужную разрядность для сумматора, чтобы не происходило переполнений (в демках по переводу фильтров в фикс. точку очень здорово все расписано). И все-таки 32 бит для квантования коэффициентов - это наверное через чур. Кол-во бит для представления коэфф-тов и элементов задержек вообщем случае не связаны.
Go to the top of the page
 
+Quote Post
shf_05
сообщение Jun 18 2008, 05:31
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



Цитата(Tue @ Jun 18 2008, 03:51) *
Кол-во бит для представления коэфф-тов и элементов задержек вообщем случае не связаны.

я имел ввиду, если коэф 32 разрядные, то и накопитель имеетсмысл делать 32 ращзрядным.
ну это вовсе не заморочка.

насчет формы 1, то попробую конечно, хотя я пробовал изменить форму с каскадной на DFF1 прямо в fdatool, сразу исказилась АЧХ фильтра, так что я сразу ее отмел, может я поспешил с этим решением?
параметры примерно такие ФНЧ, Fs=8000Hz, полоса 500Гц, может 100Гц, или до 2000Гц (всякие разные), порядок от 5-го до 12-го.
Go to the top of the page
 
+Quote Post
Tue
сообщение Jun 18 2008, 07:49
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Странный подход. Выберите структуру фильтра. Создайте фильтр в двойной точности. Отквантуйте коэффициенты фильтра минимальным количеством бит, необходимым для того, чтобы АЧХ совпадала с исходным (неквантованным фильтром). Убедитесь в устойчивости фильтра, при необходимости увеличьте разрядность коэффициентов. Задайте входную/выходную и прочие разрядности. Создайте входной вектор, прогоните через фильтр, посмотрите где происходят переполнения (очень хороший туториал по переводу БИХ-фильтров в фикс. точку показан в демке "Floating-Point to Fixed-Point Conversion of IIR Filters"). Если и дальше хотите нормально создавать/анализировать цифровые фильтры лучше сразу привыкайте пользоваться функциями Filter Design Toolbox.

По поводу:
Цитата(shf_05 @ Jun 18 2008, 09:31) *
я имел ввиду, если коэф 32 разрядные, то и накопитель имеетсмысл делать 32 ращзрядным.
ну это вовсе не заморочка.
не совсем понятно. Разрядность коэффициентов в конечном итоге определяет то, насколько АЧХ квантованного фильтра будет похожа на исходную и 32 бита - это явный перебор. Если у вас коэффициенты 32 разрядные, то это еще не значит что накопитель у вас будет 32 разрядным. При разрядности входного слова, скажем, 16 бит у вас только умножитель должен быть (32+16) бит, а накопитель еще больше (+4/6 бит). В вашем процессоре есть умножители и накопители такой разрядности ? Конечно это все справедливо, если вы хотите округлять/усекать разрядность только на выходе секции/фильтра, а не в процессе промежуточных вычислений для минимизации шума квантования

По поводу:
Цитата(shf_05 @ Jun 18 2008, 09:31) *
насчет формы 1, то попробую конечно, хотя я пробовал изменить форму с каскадной на DFF1 прямо в fdatool, сразу исказилась АЧХ фильтра, так что я сразу ее отмел, может я поспешил с этим решением?
Вы создайте одну спецификацию фильтра, а потом по этой спецификации создайте разные объекты фильтров с разными структурами. Анализ покажет какая подходит вам лучше.
Go to the top of the page
 
+Quote Post
shf_05
сообщение Jun 19 2008, 13:28
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



Цитата(Tue @ Jun 18 2008, 13:49) *
По поводу:
Вы создайте одну спецификацию фильтра, а потом по этой спецификации создайте разные объекты фильтров с разными структурами. Анализ покажет какая подходит вам лучше.


1. спасибо я Вас понял,
2. не смог найти эту демку

3. странно, может я не так делаю, задаю необходимые хар-ки фильтра в fdatool, конвертирую в фильтр стр-ры DFF1, задаю квантование 32 бита, (формат 1.31 !!!) в итоге фильтр 9-го порядка нестабильный и АЧХ его искажается, конечно, если задать режим "best prec. fraqt. length", то этого может и не будет, но формат представления в проце 1,16 можно расширить до 1,31 (конечно там можно поупражняться с ПТ, но это не решение((( ).

Вы рекомендуете пользоваться преимущественно пакетом filter design, он дает больше возможностей, чем fdatool?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- shf_05   расчет БИХ фильтров в fdatool   Apr 22 2008, 10:44
- - Tue   Очень может быть, что коэффициент на выходе из сек...   May 5 2008, 14:12
|- - shf_05   Цитата(Tue @ May 5 2008, 20:12) Очень мож...   May 26 2008, 03:38
- - Tue   Дело в разрядности выходного коэффициента секции. ...   May 27 2008, 07:56
|- - shf_05   попробовал ваш совет, получил, что часть коэффицие...   Jun 2 2008, 13:55
- - Tue   Честно говоря, я совсем не в курсе с каким примеро...   Jun 3 2008, 12:29
|- - shf_05   насчет необходимости БИХ фильтра я уверен (ФЧХ не ...   Jun 4 2008, 08:22
- - Tue   Да, попробовал сам - действительно один из коэффиц...   Jun 7 2008, 07:32
|- - shf_05   Цитата(Tue @ Jun 7 2008, 13:32) Да, попро...   Jun 9 2008, 12:47
- - Tue   1. Пожалуйста, всегда рад помочь. 2. Вот демки, ко...   Jun 19 2008, 18:51
|- - shf_05   Спасибо еще раз, внимательно изучу демки. До этого...   Jun 22 2008, 09:55
|- - Tue   Цитата(shf_05 @ Jun 22 2008, 13:55) наско...   Jun 22 2008, 17:04
- - Tue   Блин, долго искал как можно отредактировать сообще...   Jun 22 2008, 19:59
|- - shf_05   Цитата(Tue @ Jun 23 2008, 01:59) Блин, до...   Jun 23 2008, 13:10
- - Tue   Version 4.3 (R2008a)   Jun 23 2008, 19:46
- - shf_05   Цитата(Tue @ Jun 24 2008, 01:46) Version ...   Jun 24 2008, 05:01


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 23:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016