def fbeamformers(): bb = BeamformerBase(freq_data=f, steer=st, r_diag=True, cached=False) be = BeamformerEig(freq_data=f, steer=st, r_diag=True, n=54, cached=False) #frequency beamformers to test bbase = BeamformerBase(freq_data=f, steer=st, r_diag=True, cached=False) bc = BeamformerCapon(freq_data=f, steer=st, cached=False) beig = BeamformerEig(freq_data=f, steer=st, r_diag=True, n=54, cached=False) bm = BeamformerMusic(freq_data=f, steer=st, n=6, cached=False) bd = BeamformerDamas(beamformer=bb, n_iter=10, cached=False) bdp = BeamformerDamasPlus(beamformer=bb, n_iter=100, cached=False) bo = BeamformerOrth(beamformer=be, eva_list=list(range(38, 54)), cached=False) bs = BeamformerCleansc(freq_data=f, steer=st, r_diag=True, cached=False) bcmf = BeamformerCMF(freq_data=f, steer=st, method='LassoLarsBIC', cached=False) bl = BeamformerClean(beamformer=bb, n_iter=10, cached=False) bf = BeamformerFunctional(freq_data=f, steer=st, r_diag=False, gamma=3, cached=False) bgib = BeamformerGIB(freq_data=f, steer=st, method='LassoLars', n=2, cached=False) return (bbase, bc, beig, bm, bl, bo, bs, bd, bcmf, bf, bdp, bgib)
# PowerSpectra can be used instead #=============================================================================== f = PowerSpectra( time_data=t1, window='Hanning', overlap='50%', block_size=128, #FFT-parameters ind_low=8, ind_high=16) #to save computational effort, only # frequencies with indices 8..15 are used #=============================================================================== # different beamformers in frequency domain #=============================================================================== bb = BeamformerBase(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04) bc = BeamformerCapon(freq_data=f, grid=g, mpos=m, c=346.04, cached=False) be = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, n=54) bm = BeamformerMusic(freq_data=f, grid=g, mpos=m, c=346.04, n=6) bd = BeamformerDamas(beamformer=bb, n_iter=100) bo = BeamformerOrth(beamformer=be, eva_list=list(range(38, 54))) bs = BeamformerCleansc(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04) bcmf = BeamformerCMF(freq_data=f, grid=g, mpos=m, c=346.04, \ method='LassoLarsBIC') bl = BeamformerClean(beamformer=bb, n_iter=100) bf = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, \ gamma=4) #=============================================================================== # plot result maps for different beamformers in frequency domain #=============================================================================== figure(1, (10, 6))
z=0.68, increment=0.05) env = Environment(c=346.04) st = SteeringVector(grid=g, mics=m, env=env) f = PowerSpectra( time_data=t1, window='Hanning', overlap='50%', block_size=128, #FFT-parameters cached=False) #cached = False bb = BeamformerBase(freq_data=f, steer=st, r_diag=True, cached=False) bc = BeamformerCapon(freq_data=f, steer=st, cached=False) be = BeamformerEig(freq_data=f, steer=st, r_diag=True, n=54, cached=False) bm = BeamformerMusic(freq_data=f, steer=st, n=6, cached=False) bd = BeamformerDamas(beamformer=bb, n_iter=100, cached=False) bdp = BeamformerDamasPlus(beamformer=bb, n_iter=100, cached=False) bo = BeamformerOrth(beamformer=be, eva_list=list(range(38, 54)), cached=False) bs = BeamformerCleansc(freq_data=f, steer=st, r_diag=True, cached=False) bcmf = BeamformerCMF(freq_data=f, steer=st, method='LassoLarsBIC', cached=False) bl = BeamformerClean(beamformer=bb, n_iter=100, cached=False) bf = BeamformerFunctional(freq_data=f, steer=st, r_diag=False, gamma=4,
r_diag=False, c=346.04, steer='true location', gamma=3) Lbf1Rem = L_p(bf1Rem.synthetic(4000, 1)) Lbf2Rem = L_p(bf2Rem.synthetic(4000, 1)) Lbf3Rem = L_p(bf3Rem.synthetic(4000, 1)) Lbf4Rem = L_p(bf4Rem.synthetic(4000, 1)) Lbf1Full = L_p(bf1Full.synthetic(4000, 1)) Lbf2Full = L_p(bf2Full.synthetic(4000, 1)) Lbf3Full = L_p(bf3Full.synthetic(4000, 1)) Lbf4Full = L_p(bf4Full.synthetic(4000, 1)) bca1Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic') bca2Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse') bca3Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level') bca4Full = BeamformerCapon(freq_data=f,
bf3Rem = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true level', gamma=3) bf4Rem = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true location', gamma=3) bf1Full = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic', gamma=3) bf2Full = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse', gamma=3) bf3Full = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level', gamma=3) bf4Full = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true location', gamma=3) Lbf1Rem = L_p(bf1Rem.synthetic(4000,1)) Lbf2Rem = L_p(bf2Rem.synthetic(4000,1)) Lbf3Rem = L_p(bf3Rem.synthetic(4000,1)) Lbf4Rem = L_p(bf4Rem.synthetic(4000,1)) Lbf1Full = L_p(bf1Full.synthetic(4000,1)) Lbf2Full = L_p(bf2Full.synthetic(4000,1)) Lbf3Full = L_p(bf3Full.synthetic(4000,1)) Lbf4Full = L_p(bf4Full.synthetic(4000,1)) bca1Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic') bca2Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse') bca3Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level') bca4Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true location') Lbca1Full = L_p(bca1Full.synthetic(4000,1)) Lbca2Full = L_p(bca2Full.synthetic(4000,1)) Lbca3Full = L_p(bca3Full.synthetic(4000,1)) Lbca4Full = L_p(bca4Full.synthetic(4000,1)) be1Rem = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='classic', n=12) be2Rem = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='inverse', n=12) be3Rem = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true level', n=12) be4Rem = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true location', n=12) be1Full = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic', n=12) be2Full = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse', n=12) be3Full = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level', n=12)