Использую алгоритм Герцеля для выделения одной составляющей из сигнала, амплитуда вычисляется верно. Понадобилось получить также фазу. Вычисляю ее так atan(Im/Re) Для проверки прогоняю алгоритм через массив выборок синуса for (i=0; i<N; i++) { S[i]=150*sin(2*3.1415926*50*i*0.002); //частота дискретизации 500 Гц, N=512 выборок } у которого начальная фаза 0, но когда вычисляю арктангенс, то получается -18 градусов ?? (хотя должен быть ноль по идее)
Причем если добавить фазу в массив: for (i=0; i<N; i++) { S[i]=150*sin(2*3.1415926*50*i*0.002+(88*pi/180)); //добавил 88 градусов } то в результате вычисления фаза получается 70 градусов, что как раз составляет -18+88. Отсюда вопрос что это за -18 ?
|