ГЛАВА 4: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЦОС
Представленные в этой главе упражнения позволяют лучше разобраться с проблемой сложения чисел, сильно различающихся между собой по абсолютной величине.
1. Напишите программу и получите с её помощью 256 отсчётов синусоидальной выборки. Амплитуда синусоиды равна 1. Частоту выберете такой, чтобы в интервале 256 отсчётов умещалось ровно 3 периода данной синусоиды. Каждый отсчёт найденной последовательности должен быть представлен в формате с одинарной точностью. Полученный сигнал назовём x[ ], чтобы ссылаться на него в следующих упражнениях.
2. Прибавьте константу k = 300 000 к каждому отсчёту последовательности.
3. Вычтите эту же константу k из каждого отсчёта. Назовём полученную (восстановленную) последовательность y[ ].
4. Найдите разность (ошибку восстановления) между последовательностями x[ ] и y[ ]. Назовём полученную последовательность d[ ].
5. Отобразите на графике восстановленную последовательность y[ ] и последовательность ошибки d[ ].
6. Повторите операции, проделанные в задачах 1…5, для k = 3 000 000.
7. Повторите операции, проделанные в задачах 1…5, для k = 30 000 000.
8. Ответьте на вопросы:
а. «Если два слагаемых в формате с плавающей точкой сильно различаются по абсолютной величине, то ошибка квантования <_______________> слагаемого искажает информацию, содержащуюся в <______________> слагаемом».
б. При выполнении упражнения 7 мы обнаружили, что информация в восстановленном сигнале полностью теряется при значениях k = 30000000 и выше. Предполагая, что амплитуда сигнала уменьшается до 0.001, определите величину k, после превышения которой информация в восстановленном сигнале полностью исчезает?
в. Как изменится максимально допустимое значение константы k, после превышения которого информация в восстановленном сигнале полностью теряется, если от одинарной точности перейти к двойной точности представления чисел?