Главная > Моделирование, обработка сигналов > Преобразование Хартли
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

Тригонометрические функции

Для последовательности данных длиной N требуются синусы и косинусы, представляющие собой функции всех аргументов, являющихся целочисленными кратными части окружности. Поэтому при заданном N целесообразно составить таблицу, элементами которой будут являться эти заранее вычисленные значения. Один из методов выполнения этой процедуры иллюстрируется в приведенной в приложении 1 программе

В результате того, что эти величины рассчитываются раз и навсегда, исключается какое-либо повторное выполнение процедуры предварительного вычисления. Однако полосковая диаграмма показывает, что на вычисление тригонометрических функций затрачивается значительная доля общего времени счета; число этих рассчитываемых значений существенно превышает степени числа 2, пропорциональные а не Р. После нормировки относительно произведения график для соответствующей полосы монотонно убывает по закону но не до нуля, поэтому большое внимание уделяется сокращению временных затрат. Многое при этом зависит от самой ЭВМ, так как вычисление тригонометрических функций осуществляется в ЭВМ различными методами в зависимости от реализуемой точности и других факторов. При этом один из наиболее эффективных методов расчета заключается в вычислении в первую очередь тангенса, обозначаемого а затем в получении косинуса и синуса соответственно по формулам Естественно, это необязательно знать пользователю, и может оказаться неожиданностью выявление того факта, что синус и косинус могут быть вычислены гораздо быстрее в результате замены вышеприведенных строк подпрограммы следующими:

Результаты могут быть получены с гораздо более высокой скоростью с помощью фундаментального метода, уходящего корнями к Клавдию Птолемею. Этот метод вообще не зависит от реализуемых тригонометрических функций. Метод этого вида представлен в

Рис. 8.5. Геометрическая интерпретация коэффициентов для

приложении 1 в виде части подпрограммы которая может быть включена в программы общего характера.

Знание величин для целочисленных значений изменяющихся от 0 до равноценно наличию информации о координатах N точек, равномерно распределенных вдоль окружности единичного радиуса, как это показано на рис. Однако если известны координаты этих точек только в пределах одного октанта (рис. 8.5, б), то могут быть восстановлены координаты и всех остальных точек. С другой стороны, оказывается достаточным знание только координат точек в пределах одного квадранта (рис. 8.5, в).

<< Предыдущий параграф Следующий параграф >>
Оглавление