Измерение фазового рассогласования, фазовая синхронизация.
Добавлено: 20 июл 2017, 09:16
Есть два синусоидальных сигнала частотой 50Hz, частота дискретизации 9kHz, 180 точек на период. Необходимо отслеживать фазовое рассогласование между этими сигналами в реальном времени.
1. Какой метод измерения фазы лучше здесь использовать?
2. С какой точностью можно измерить фазу исходя из вышеописанных параметров?
3. Целесообразно ли использовать преобразование Гильберта на основе БПФ и получить отдельно фазовую и амплитудную компоненты сигналов?
4. Хочу воспользоваться исходниками DSPLIB, что делать с double, достаточно ли будет точности Single Pr. если переделать нужное во float
Дополнительные данные:
Вычислительная система - stm32f746, 32 бит, DSP instructions, 320 kB SRAM, включает 64 kB + 16KB напрямую связанной с процессором(DTCM+ITCM), L1 cache 4kB instr, 4kB data, 216Mhz, ARMv-7M
FPU Single Precision
DSP instructions
VABS.F32 Absolute value 1 такт
VADD.F32 Addition 1 такт
VSUB.F32 Subtraction 1 такт
VMUL.F32 Multiply 1 такт
VDIV.F32 Division 14 такт
VCVT.F32 Conversion to/from integer/fixed-point 1 такт
VSQRT.F32 Square root 14 тактов
VADD.F64 Addition 3 такта
VSUB.F64 Subtraction 3 такта
VCVT.F<32|64> Conversion to/from Integer/fixed-point 3 такта
1. Какой метод измерения фазы лучше здесь использовать?
2. С какой точностью можно измерить фазу исходя из вышеописанных параметров?
3. Целесообразно ли использовать преобразование Гильберта на основе БПФ и получить отдельно фазовую и амплитудную компоненты сигналов?
4. Хочу воспользоваться исходниками DSPLIB, что делать с double, достаточно ли будет точности Single Pr. если переделать нужное во float
Дополнительные данные:
Вычислительная система - stm32f746, 32 бит, DSP instructions, 320 kB SRAM, включает 64 kB + 16KB напрямую связанной с процессором(DTCM+ITCM), L1 cache 4kB instr, 4kB data, 216Mhz, ARMv-7M
FPU Single Precision
DSP instructions
VABS.F32 Absolute value 1 такт
VADD.F32 Addition 1 такт
VSUB.F32 Subtraction 1 такт
VMUL.F32 Multiply 1 такт
VDIV.F32 Division 14 такт
VCVT.F32 Conversion to/from integer/fixed-point 1 такт
VSQRT.F32 Square root 14 тактов
VADD.F64 Addition 3 такта
VSUB.F64 Subtraction 3 такта
VCVT.F<32|64> Conversion to/from Integer/fixed-point 3 такта