#import pylab as plt import matplotlib.pyplot as plt import acoular as ac from os import path import matplotlib.image as mpimg import numpy as np sol = "4mic_solalt.h5" sag = "4mic_sagust.h5" orta = "4mic_orta.h5" sol2 = "sol_ust_ses_20_01.h5" sag2 = "sag_alt_ses_20_01.h5" micgeofile = path.join(path.split(ac.__file__)[0], 'xml', 'array_4_2.xml') m = ac.MicGeom(from_file=micgeofile) g = ac.RectGrid(x_min=-4, x_max=4, y_min=-2, y_max=2, z=0.3, increment=0.01) t1 = ac.TimeSamples(name=sag2) cal = ac.Calib(from_file='calibration.xml') es = ac.EigSpectra(time_data=t1, block_size=512, window="Hanning", overlap='50%', calib=cal) bb = ac.BeamformerBase(freq_data=es, grid=g, mpos=m, r_diag=False) Lm = ac.L_p(bb.synthetic(500, 0)) """ plt.figure() plt.imshow( Lm.T, origin='lower', vmin=Lm.max()-10, extent=g.extend(), interpolation='bicubic')
""" from os import path from numpy import array,arange import acoular from pylab import figure, plot, imshow, colorbar, show,xlim, ylim,legend,cm import matplotlib.pyplot as plt from matplotlib.patches import Polygon,Rectangle #fft block size block = 128 #example data micgeofile = path.join( path.split(acoular.__file__)[0],'xml','array_56.xml') mg = acoular.MicGeom( from_file=micgeofile ) ts = acoular.TimeSamples( name='example_data.h5' ) ps = acoular.PowerSpectra( time_data=ts, block_size=128, window='Hanning' ) rg = acoular.RectGrid(x_min=-0.6, x_max=-0.0, y_min=-0.3, y_max=0.3, z=0.68, increment=0.02) st = acoular.SteeringVector( grid = rg, mics=mg ) f = acoular.PowerSpectra(time_data=ts,block_size=block) bf = acoular.BeamformerBase(freq_data = f,steer= st) #Integrate function can deal with multiple methods for integration: #1. a circle containing of three values: x-center, y-center and radius circle = array([-0.3,-0.1, 0.05]) #2. a rektange containing of 4 values: lower corner(x1, y1) and upper corner(x2, y2).
# moving grid tr_beam.points[0] = (-(tmax/2)*v,0,5) # initial point, heigth, distance to the array of the moving grid tr_beam.points[tmax] = ((tmax/2)*v,0,5) # final point, heigth, distance to the array of the moving grid ############################################################################## # Creating the array x = np.array((0.10,0.05,0.00,-0.05,-0.10,-0.05,0.00,0.05,0.15,-0.05,-0.25, -0.30,-0.15,0.05,0.25,0.30,0.10,-0.20,-0.40,-0.35,-0.10,0.20,0.40,0.35 ,0.05,-0.35,-0.50,-0.40,-0.05,0.35,0.50,0.40)) y = np.array((0,0.05 ,0.10,0.05,0.00,-0.05,-0.10,-0.05,0.25,0.30,0.15,-0.05,-0.25,-0.30,-0.15,0.05,0.40,0.35,0.10,-0.20,-0.40,-0.35,-0.10,0.20,0.50,0.40,0.05,-0.35,-0.50,-0.40,-0.05,0.35)) y = y +1.2 z = np.zeros(32) m = ac.MicGeom() m.mpos_tot = np.array((x,y,z)) ############################################################################## # Source generator long= int s0 = ac.SineGenerator(sample_freq=fs, numsamples=long(fs*tmax), freq=f, \ phase=np.pi) s1 = ac.SineGenerator(sample_freq=fs, numsamples=long(fs*tmax), freq=f, \ phase=np.pi) p0 = ac.MovingPointSource(signal=s0, mics=m, trajectory=tr0)