リニアリティ算出

        risou_gosa_total = 0.0

        For pulse_sel = MEAS_START To MEAS_PHASE_COUNT Step 1
            For freq_num = FREQ_START To FREQ_START + FREQ_COUNT Step 1
                For sosi_num = SOSI_START To SOSI_START + SOSI_COUNT Step 1
                    For pulse_num = PHASE_START To PHASE_START + PHASE_COUNT Step 1
                        '直線化
                        If PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).PHS < 0 Then
                            PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).Linearise = PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).PHS + 360
                        Else
                            PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).Linearise = PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).PHS
                        End If
                        '位相[00]を0に正規化するため数値
                        If pulse_num = 0 Then
                            zero_base = PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).Linearise
                        End If
                        '正規化
                        PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).normalize = PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).Linearise - zero_base
                        '理想直線との誤差
                        PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).risou_gosa = PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).normalize - risou_phs(pulse_num)
                        'トータル(平均値算出のため)
                        risou_gosa_total = risou_gosa_total + PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).risou_gosa
                    Next
                    '平均値算出
                    DAT(freq_num, sosi_num, pulse_sel).risou_gosa_ave = risou_gosa_total / (PHASE_START + PHASE_COUNT + 1)
                Next
            Next
        Next

        Hensa_total = 0.0

        '位相リニアリティ算出(Stdev関数の代用)
        For pulse_sel = MEAS_START To MEAS_PHASE_COUNT Step 1
            For freq_num = FREQ_START To FREQ_START + FREQ_COUNT Step 1
                For sosi_num = SOSI_START To SOSI_START + SOSI_COUNT Step 1
                    For pulse_num = PHASE_START To PHASE_START + PHASE_COUNT Step 1
                        '偏差
                        DAT(freq_num, sosi_num, pulse_sel).Hensa = PassPulse(freq_num, sosi_num, pulse_num, pulse_sel).risou_gosa - DAT(freq_num, sosi_num, pulse_sel).risou_gosa_ave
                        Hensa_total = Hensa_total + (DAT(freq_num, sosi_num, pulse_sel).Hensa ^ 2)
                    Next
                    '分散
                    DAT(freq_num, sosi_num, pulse_sel).Bunsan = Hensa_total / (PHASE_START + PHASE_COUNT + 1)
                    'リニアリティ算出(標準偏差
                    DAT(freq_num, sosi_num, pulse_sel).Linearity = Math.Sqrt(DAT(freq_num, sosi_num, pulse_sel).Bunsan)
                Next
            Next
        Next