Я экспериментирую с типом данных с фиксированной точкой, предлагаемым библиотекой SystemC. У меня есть битовая конфигурация sc_fixed или sc_fixed (24-битное целое число, с 10 или 11 целочисленными битами и оставшимися битами для дробной части, например). Когда я пытаюсь sc_fixed (24-битное целое число с 13 битами для дробной части). Я получаю немного точности, но когда у меня есть битовая конфигурация sc_fixed, я немного теряю точность. Обычно более высокая точность означает более высокую точность, но я не знаю, почему в этом случае я теряю точность. Может кто-нибудь объяснить, почему?
Кроме того, я измеряю точность на основе исходных результатов, полученных с использованием типа данных float.
Когда я пытаюсь использовать sc_fixed, Я не теряю точности. Я реализовал фильтр Махони, который оценивает ориентацию. Входные данные выглядят следующим образом: gx=-0.00106465,gy=,-0.00426035,gz=0.00532675. Для выполнения вычислений требуется не менее 10 бит для целой части. Когда у меня есть конфигурация sc_fixed, она не теряет точности, но когда у меня sc_fixed
Подробнее здесь: https://stackoverflow.com/questions/784 ... esentation