コード例 #1
0
        /// <summary>
        /// 分析波形不匹配度
        /// </summary>
        /// <param name="waveform">测试波形</param>
        /// <param name="refData">参考波形</param>
        /// <param name="gainMismatch">增益比</param>
        /// <param name="phaseMismatch">相移</param>
        public static void AnalyzeMismatch(double[] waveform, double[] refData, out double gainMismatch,
                                           out double phaseMismatch)
        {
            MismatchAnalyzer analyzer = new MismatchAnalyzer();

            analyzer.SetReferenceData(refData);
//            analyzer.SetDataDelayCounts(AnalyzePathDelay(waveform, refData));
            uint dataLength = (uint)(waveform.Length >= refData.Length ? refData.Length : waveform.Length);
            uint pathDelay  = AnalyzePathDelay(waveform, refData);

            analyzer.Analyze(waveform, dataLength);
            analyzer.SetDataDelayCounts(pathDelay);
            gainMismatch  = analyzer.GetGainMismatch();
            phaseMismatch = analyzer.GetPhaseMismatch();
        }