|
расчет БИХ фильтров в fdatool |
|
|
|
 |
Ответов
|
May 27 2008, 07:56
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340

|
Дело в разрядности выходного коэффициента секции. Обычно Матлаб выставляет для входного и выходного коэффициентов секции одну и ту же разрядность. Допустим выставил sfix16_En15 - означает число со знаком, 16 бит на всё число, 15 бит - на дробную часть, следовательно остается один бит на знак, а на целую часть не остается ничего. Отсюда и ошибка. Пусть N - полное число бит, FL - число бит справа после запятой (дробная часть) и если число со знаком, тогда диапзон чисел, которые вы можете представить такой: -2^(N-FL-1) <= число <= +2^(N-FL)-1 - 2(-FL) Следовательно, чтобы исправить эту ошибку отнимите от дробной части один бит и добавьте его к целой части, т.о. у вас получится разрядность sfix16_En14 - число со знаком, 16 бит на все число, 14 бит на дробную часть, один бит на знак и как раз один бит на целую часть, чтобы единица представлялась корректно. Такой трюк в общем случае конечно чуть снизит точность представления дробной части коэффициента, но поскольку он у вас равен "1" и никакой дробной части не содержит, то никакой потери в точности вы не получите. К сожалению в FDAtool поменять разрядность какого-либо конкретного коэффициента секции не представляется возможным, поэтому чтобы этого добиться - надо реализовать (RealizeMDL) его в Симулинк в виде основных элементов (Build model using basic elements) и уже в Симулинке вручную поменять разрядность нужного коэффициента. Можно даже вообще убрать коэффциент на выходе из секции, который точно равен "1", оставив лишь блок преобразования типа, конвертирующий в нужную разрядность выхода секции, т.о. вы избавитесь от лишнего умножителя.
|
|
|
|
|
Jun 2 2008, 13:55
|
Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992

|
попробовал ваш совет, получил, что часть коэффициентов больше 1, что и следовало ижидать. я хотел получить коэффициенты a,b в формате 1,31 с коэф масштабирования, четко равному 1 (т .е его можно исключить). в примере по fdatool есть такое решение (там создается фильтр с коэф 1,16 и без масштабир оэф при этом АЧХ Q фильтра довольно четко совпадает с АЧХ неквант фильтра) , ноо когда я ставлю все настройки как там, результат не тот- коэф масштабир никак не хочет быть 1.
|
|
|
|
Сообщений в этой теме
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 Честно говоря, я совсем не в курсе с каким примеро... 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 Чтож, похоже по поводу единичного полного коэффици... Jun 16 2008, 06:16 shf_05 Цитата(Tue @ Jun 16 2008, 12:16) Чтож, по... Jun 17 2008, 13:01  Tue А каков порядок получается у вашего фильтра ? Обыч... Jun 17 2008, 21:51   shf_05 Цитата(Tue @ Jun 18 2008, 03:51) Кол-во б... Jun 18 2008, 05:31    Tue Странный подход. Выберите структуру фильтра. Созда... Jun 18 2008, 07:49     shf_05 Цитата(Tue @ Jun 18 2008, 13:49) По повод... Jun 19 2008, 13:28 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|