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

 
 
 
Reply to this topicStart new topic
> fdatool | quantization parameters, что такое State word/fraction length ?
ilo
сообщение Mar 30 2015, 14:20
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 30-03-15
Из: Москва
Пользователь №: 85 964



Мне с недавних пор пришлось заняться реализацией БИХ-фильтров на м/к, либо DSP, либо ПЛИС. Собственно, для выбора конкретной платформы сейчас нужно оценить необходимую разрядность составляющих цифрового фильтра. В связи с этим мероприятием мне, конечно же, попался в руки fdatool, а именно его раздел "quantization parameters". Данные будут представляться в формате с фиксированной запятой, а вот влияние различных вариантов разрядостей на точность фильтра и нужно оценить.
Так вот, в fdatool есть пункты State word length и соответственно State fraction length, назначение которых оказалось недоступно моему пониманию, а тем временем, цифры, вписанные в эти поля, кардинально меняют шум округления, вычисляемый тулом.
Что же всё-таки означают эти загадочные пункты? Поделитесь информацией, кто сталкивался.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 30 2015, 15:13
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата из КиТа: "Моделирование ЦФ с ФТ средствами GUI FDATool предполагает обязательное знакомство с моделированием ЦФ с ФТ программными средствами MATLAB [ссылка сюда: КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 3 '2009 стр. 114 и далее.]"
Прикрепленные файлы
Прикрепленный файл  fir_matlab5.pdf ( 87.33 килобайт ) Кол-во скачиваний: 62
 
Go to the top of the page
 
+Quote Post
ilo
сообщение Mar 31 2015, 10:37
Сообщение #3





Группа: Участник
Сообщений: 14
Регистрация: 30-03-15
Из: Москва
Пользователь №: 85 964



Цитата(adnega @ Mar 30 2015, 19:13) *
[ссылка сюда: КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 3 '2009 стр. 114 и далее.]"

в этой статье во всех девяти частях ничего по нужному вопросу не нашлось, кроме "Подробную информацию о свойствах объектов dfilt с различными структурами можно получить с помощью справочной системы MATLAB в формате HTML, используя поиск по ключевой фразе ”Quantized Filters” и обращаясь к разделам, описывающим объекты dfilt с различными структурами."
Это навело на мысль поискать описание dfilt в справке матлаба. Только там наконец нашлась схема с упоминанием "State". Оказалось, что State хранит предыдущее значения (z[-1]) для некоторых видов фильтров. Как именно оно влияет, пока правда непонятно...

В общем, спасибо за наводку)

Сообщение отредактировал ilo - Mar 31 2015, 10:37
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 31 2015, 11:04
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(ilo @ Mar 31 2015, 13:37) *
В общем, спасибо за наводку)

Сам пытался разобраться с квантованием в fdatool - в итоге перешел на FPU одинарной точности.
Хотелось бы четко, "на пальцах" получить объяснение что, да как, но увы.
Go to the top of the page
 
+Quote Post
litv
сообщение Mar 31 2015, 13:40
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



Если надо разобраться как устроен в разрядах бих фильтр в Матлаб fdatool:
1)quantanization parameter - filter arithmetic - Fixed point
в Filter precision можете выбрать разрядности коэффиенты входы выходы и внутреннюю разрядность
apply
2)слева 4 сверху маленькая иконка Realize model нажимаем
выбираем
build model using basic elements
и затем
Realize model
через некоторой время откроется окно Simulink Untitled c вашим фильтром в умножителях сумматорах и разрядностью в каждом элементе.
Go to the top of the page
 
+Quote Post
ilo
сообщение Apr 1 2015, 07:10
Сообщение #6





Группа: Участник
Сообщений: 14
Регистрация: 30-03-15
Из: Москва
Пользователь №: 85 964



Цитата(litv @ Mar 31 2015, 17:40) *
Если надо разобраться как устроен в разрядах бих фильтр в Матлаб fdatool:
1)quantanization parameter - filter arithmetic - Fixed point
в Filter precision можете выбрать разрядности коэффиенты входы выходы и внутреннюю разрядность
apply
2)слева 4 сверху маленькая иконка Realize model нажимаем
выбираем
build model using basic elements
и затем
Realize model
через некоторой время откроется окно Simulink Untitled c вашим фильтром в умножителях сумматорах и разрядностью в каждом элементе.


после Realize Model ошибка:
FDATool Error
Subscript out of bounds. Can grow a UDD vector only one element at a time.
Go to the top of the page
 
+Quote Post
litv
сообщение Apr 1 2015, 08:06
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



Тут как с парашютом, если один раз не получилось - может лучше не продолжать sm.gif
Go to the top of the page
 
+Quote Post
ilo
сообщение Apr 1 2015, 09:10
Сообщение #8





Группа: Участник
Сообщений: 14
Регистрация: 30-03-15
Из: Москва
Пользователь №: 85 964



Цитата(litv @ Apr 1 2015, 12:06) *
Тут как с парашютом, если один раз не получилось - может лучше не продолжать sm.gif

да уж. и ручками-ручками и головой, по-старинке )
Go to the top of the page
 
+Quote Post
Skryppy
сообщение Apr 19 2015, 17:23
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 14-02-11
Пользователь №: 62 975



С арифметикой с фиксированой точкой все на самом деле просто:
пусть есть число 0.25 , чтобы его представить в двоичном виде надо зарезервировать 1 бит под знак,
0 бит под целую часть и столько бит, чтобы корректно представить число 25 , т.е. 5 бит. итого имеем:
word length=1+0+5=6, fraction length=5.
Обычно точности в 16 бит хватает для нормальной работы фильтров.
Go to the top of the page
 
+Quote Post
andyp
сообщение Apr 19 2015, 17:36
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(Skryppy @ Apr 19 2015, 20:23) *
С арифметикой с фиксированой точкой все на самом деле просто:
пусть есть число 0.25 , чтобы его представить в двоичном виде надо зарезервировать 1 бит под знак,
0 бит под целую часть и столько бит, чтобы корректно представить число 25 , т.е. 5 бит. итого имеем:
word length=1+0+5=6, fraction length=5.
Обычно точности в 16 бит хватает для нормальной работы фильтров.


Вообще-то для числа 0.25 в бинарном представлении достаточно 2 знаков после точки 0.25 = 1/2/2.

Битам справа от точки соответствуют степени 2^(-L) L= 1...fraction_length, слева - степени 2^(M) M=0...word_length - fraction_length - 1. Отрицательные числа получаются как 2's complement от положительных (на это нужен старший разряд)
Go to the top of the page
 
+Quote Post
qwa
сообщение Apr 19 2015, 20:19
Сообщение #11


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

Группа: Участник
Сообщений: 80
Регистрация: 8-02-15
Из: Санкт-Петербург
Пользователь №: 85 020



А.И.Солонина, С.М.Арбузов - "Цифровая обработка сигналов. Моделирование в Matlab" - тут все подробно написано.
Go to the top of the page
 
+Quote Post

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

 


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


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