Example #1
0
def SSL_TDOA_NOL(tdoa1, tdoa2, micA, micB, micC, micD, estimationLIN):    
    std1 = tdoa1*343.2
    std2 = tdoa2*343.2
    curveA = get_tCurve(micA, micB, std1)
    curveB = get_tCurve(micC, micD, std2)
    estimationNOL = optimizeIntersectionPoint_nonLinear_numeric(estimationLIN, curveA, curveB)
    return estimationNOL
def SSL_TDOA_NL(micPosList, tdoa1, tdoa2, c_speed, LIN):
    # Get Microphone Points
    micAP = micPosList[0]
    micBP = micPosList[1]
    micCP = micPosList[2]
    micDP = micPosList[3]

    # Calculate way_tdoa1 and way_tdoa2
    ds1 = tdoa1 * c_speed
    ds2 = tdoa2 * c_speed

    # Define Curves
    curveA = get_tCurve(micAP, micBP, ds1)
    curveB = get_tCurve(micCP, micDP, ds2)

    # Find Intersection Point of Nonlinear Curves
    return optimizeIntersectionPoint_nonLinear_numeric(LIN, curveA, curveB)
Example #3
0
tdoa = basic_tdoa.BasicTDOA(loaded, 0, 0.0, arr)
tdoaMAT  = tdoa.tdoa_gcc_phat(0.0)[1][0]
delta_n1 = tdoaMAT[1][0]
delta_n2 = tdoaMAT[3][2]
delta_t1 = delta_n1*meta["sampling_spacing"]
delta_t2 = delta_n2*meta["sampling_spacing"]
delta_s1 = delta_t1*343.2
delta_s2 = delta_t2*343.2

# TDOA LINEAR VERFAHREN
steep1 = KarstenDOA_calculateSteep_linear_simple(distance(micA_pos, micB_pos), delta_s1)
steep2 = KarstenDOA_calculateSteep_linear_simple(distance(micC_pos, micD_pos), delta_s2)
solutions, m1_a, m1_b, m2_a, m2_b, b1_a, b1_b, b2_a, b2_b = getMicrophonePair_DOA_Intersection_linear(micA_pos, micB_pos, micC_pos, micD_pos, steep1, steep2)
estimationLIN = plausibleFilter_TDOA(solutions)

curveA = get_tCurve(micA_pos, micB_pos, delta_s1)
curveB = get_tCurve(micC_pos, micD_pos, delta_s2)
estimationNOL = optimizeIntersectionPoint_nonLinear_numeric(estimationLIN, curveA, curveB)
    
# Kurven zur Darstellung
X_NOL_CURVE1, Y_NOL_CURVE1 = KarstenDOA_calculateCurve_nonlinear(micA_pos, micB_pos, delta_s1, res=0.01, rang=10)
X_LIN_CURVE1, Y_LIN_CURVE1 = KarstenDOA_calculateCurve_linear(micA_pos, micB_pos, delta_s1, res=0.01, rang=10)
X_NOL_CURVE2, Y_NOL_CURVE2 = KarstenDOA_calculateCurve_nonlinear(micC_pos, micD_pos, delta_s2, res=0.01, rang=10)
X_LIN_CURVE2, Y_LIN_CURVE2 = KarstenDOA_calculateCurve_linear(micC_pos, micD_pos, delta_s2, res=0.01, rang=10)

# Plot Data
import matplotlib.pyplot as plt
plt.xlim(-10,10)
plt.ylim(-1,19)
plt.grid()
plt.title("Geometry")
def SSL_TDOA_NOL(s_tdoaMAT, micList, indA, indB, indC, indD, estimationLIN):
    curveA = get_tCurve(micList[indA], micList[indB], s_tdoaMAT[indB][indA])
    curveB = get_tCurve(micList[indC], micList[indD], s_tdoaMAT[indD][indC])
    estimationNOL = optimizeIntersectionPoint_nonLinear_numeric(
        estimationLIN, curveA, curveB)
    return estimationNOL