[an error occurred while processing this directive]
|
Да какая там литература, все примитивно.
1 Определяете динамический диапазон входных/выходных данных
2 Исходя из 1 определяете битность вычислений
3 Определяете форматы входных, промежуточных и выходных данных
Пример - надо представить числа от -100 до 100 c точностью 16 бит. Выбираем формат Q7.8 - число будет представлено в виде
SIII IIII RRRR RRRR
где
S - знак,
I - биты представляющие целую часть
R - биты предстввляющие дробную часть
Теперь осталось только вывести формулу перевода Q7.8 в int16 и обратно. Например число 12.34 может быть представлено в виде дроби
3159/256 (2^8), следовательно искомое 12.34 в Q7.8 будет 3159. Обратное преобразование столь-же тривиально.
Наиболее часто используемый в DSP формат Q15, предназначенный для представления чисел -1.0....1.0-delta. Дробное число переводится в Q15 путем умножения на 32768 и округления, обратно - путем деления на 32768.
E-mail: info@telesys.ru