Данная библиотека написана для демонстрации возможности замены широко используемого преобразования Фурье на менее известное, но не менее интересное преобразование Хартли. Для вычисления спектра мощности (т.к. именно он используется в большинстве случаев) с использованием преобразования Фурье приходится переводить действительную функцию в комплексную область, а затем вновь в действительную, на что используется дополнительное машинное время и память. Использование преобразования Хартли позволяет избежать этих переходов т.к. оно определено в действительной области. Для ознокомления с преобразованием Хартли могу рекомендовать книгу Р.Брейсуелла "Преобразование Хартли".
Основные дастоинства преобразования Хартли:
Впервые описание преобразования было опубликовано в статье Р.Хартли в журнале Proceedings of the Institute of Radio Engineers в 1942 г.
Основы преобразования Хартли:
Основные соотношения определяющие прямое и обратное преобразования Хартли:
- прямое преобразование Хартли.
- обратное преобразование Хартли.
- определение функции cas.
В предлагаемую вашему вниманию библиотеку включены функции вычисления одномерного преобразования Хартли (дискретного, быстрого), функции вычисления спектра мощности, фазового спектра и функции перевода вычисленного преобразования Хартли в преобразование Фурье (и обратно).
Библиотека скомпилирована в VisualC++ 6 в виде динамической библиотеки (dll), для использования данной библиотеки с Ваших проектах необходимо подключить к проекту на VC++ 6 библиотеку hartly.lib (вписав ее в Project/ Settings/ Link/ Object/library modules, или просто добавив к проекту Project/ Add to project/ Files). Саму библиотеку hartly.dll необходимо поместить в каталог вместе с исполняемой программой. В файле hartly.h приведены прототипы и краткое описание функций библиотеки.
Для демонстрации применения библиотеки написан небольшой пример позволяющий вычислять преобразование
Хартли, спектр мощности и фазовый спектр произвольного массива данных (*.dat). Файл данных
должен содержать в первой строке количество элементов, причем оно должно быть равно 2 в целой степени.
Библиотека преобразования Хартли - 25003 байт. Пример использования библиотеки - 56536 байт. Пример массивов данных - 11104 байт.
(C) 2002 Vallen