ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
841487 Топик полностью
Хаос (17.05.2018 12:51, просмотров: 1) ответил Dmalx на Я и делаю свертку полученного сигнала и эталона сдвинутого на разные углы. Максимум свертки показывает угол между двумя сигналами. Но мне кажется что амплитуда сигнала должна влиять.
Когда-то решали похожую задачу: Для вычисления фазового сдвига нужно лишь найти два коэффициента в разложении в ряд Фурье: a = (2/M)*Sum[S(t)*cos(2*Pi*F*t)] и b = (2/M)*Sum[S(t)*sin(2*Pi*F*t)], где M - число отсчетов синуса S(t). Тогда аппроксимация синуса: S'(t) = a*cos(2*Pi*F*t)+b*sin(2*Pi*F*t). Зная a и b, можно вычислить сдвиг. Для грубой оценки точности вычисления фазы можно воспользоваться известной формулой для отношения сигнал/шум на выходе АЦП: SNR = 6.02*N+1.76 С учетом усреднения по M точкам, SNR будет: SNR = 6.02*N+1.76+10*lg(M/2) Ошибка при вычислении коэффициентов a и b составит: ERR(a) = 10^(-(6.02*N+1.76+10*lg(M/2))/20) = = SQRT(2/M)*10^(-(6.02*N+1.76)/20) В разложении арктангенса вблизи нуля в ряд Тейлора можем оставить один член: Ошибка_Фазы = arctg((a+/-ERR(a))/(b+/-ERR(b ))) = = (a+/-ERR(a))/(b+/-ERR(b )) = 2*ERR(a) = = 2*SQRT(2/M)*10^(-(6.02*N+1.76)/20) Для 10-ти разрядного АЦП: M = 256 точек и N = 10 бит АЦП находим: Ошибка_Фазы = 1.411e-4 [радиан] или Ошибка_Фазы = 0.0081 [градус].