Комплексные числа
Сигналы, с которыми приходится иметь дело в ЦОС, обычно имеют значения из области действительных чисел. Однако математические выражения для ряда Фурье в комплексной форме намного проще и на практике постоянно приходится иметь дело с комплексными числами.
Число вида z=a+ib называется комплексным, если в нём a и b любые действительные числа, а - мнимая единица. Комплексное число включает в себя действительную часть a=Re(z) и мнимую часть b=Im(z). На плоскости комплексное число удобно представить на окружности с радиусом z, имеющей декартовы координаты: действительную ось 0x и мнимую ось 0y.
Значение модуля комплексного числа представляется как , а аргумент – это угол между вектором z и осью абсцис: φ=arctg(b/a). Два числа z=a+ib и z=a-ib называются комплексно-сопряженными. Ось абсцисс является действительной, а ось ординат – мнимой осью. Размещение комплексного числа в виде вектора в комплексной форме представлено на рис. 3.
Рисунок 3 - Графическое представление комплексного числа
Как видно из рис.3, комплексное число можно представить кроме алгебраической, также тригонометрической формой следующим образом:
z=a+ib=zcos φ+izsin φ=z(cos φ+isin φ)
На основании тригонометрической формы комплексного числа возможен переход к его показательной форме и формуле Эйлера.
Действия над комплексными числами
Если z1=a+bi, z2=c+di, то:
z1 + z2 = (a+bi) + (c+di) = (a+c)+(b+d)i;
z1 - z2 = (a+bi) - (c+di) = (a-c)+(b-d)i;
z1*z2 = (a+bi) *(c+di) = (ac-bd)+(ad+bc)i.
При программировании на С++ для хранения комплексных чисел можно воспользоваться стандартным в C++ STL типом complex (определённым в заголовочном файле <complex>).
Пример 1. Расчет ДПФ и ОДПФ
Найти ДПФ для дискретного сигнала, заданного дискретными отсчетами {2, -1, 1, 4}.
Решение
Подставляя исходные данные в формулу 7, найдем:
.
Аналогично находим:
; ; .
Выполним ДПФ и ОДПФ, используя векторно-матричную форму:
Матрица для N=4 имеет вид:
Тогда
Выполним ОДПФ:
Из формул (7) и (8) следует, что для нахождения одного коэффициента или отсчета необходимо выполнить операций умножения на комплексное число и столько же операций сложения. Для определения всех коэффициентов или отсчетов потребуется около вычислений. При такой вычислительной сложности обработка больших массивов данных в реальном времени является трудно решаемой задачей и предъявляет высокие требования к вычислительному устройству по быстродействию и объемам оперативной памяти. Поэтому практически применяют модификации алгоритма вычисления ДПФ.
Yandex.RTB R-A-252273-3