// 相位检测基本原理 // Vφ = (1.8V / 180°) × (φA - φB) + 0.9V // 其中0.9V对应0°相位差,1.8V对应180°相位差 // 电压转相位角度 float voltage_to_phase(float vphs_voltage) { // AD8302相位输出特性:10mV/度 const float PHASE_SCALE = 0.01; // 10mV/° const float PHASE_OFFSET = 0.9; // 90°对应0.9V float phase_deg = (vphs_voltage - PHASE_OFFSET) / PHASE_SCALE; // 限制在0-180°范围内 if(phase_deg < 0) phase_deg = 0; if(phase_deg > 180) phase_deg = 180; return phase_deg; } // 增益测量转换 float voltage_to_gain_db(float vmag_voltage) { // AD8302增益输出特性:30mV/dB const float GAIN_SCALE = 0.03; // 30mV/dB const float GAIN_OFFSET = 0.9; // 0dB对应0.9V float gain_db = (vmag_voltage - GAIN_OFFSET) / GAIN_SCALE; return gain_db; // 返回dB值,正值表示A>B } // 功率比计算 float gain_db_to_power_ratio(float gain_db) { // 功率比 = 10^(增益dB/10) return pow(10.0, gain_db / 10.0); }