def plot_all(tek_dir, tek_file, comsol_dir, comsol_file, sign): plt.figure(figsize=(18.9, 10.3)) (xs, ys) = tektronix.load_csv_data(tek_dir, tek_file) xs = xs[0] ys = sign*ys[0] / np.max(sign*ys[0]) plt.subplot(221) plt.xlabel('Time (ms)') plt.ylabel('Normalized Amplitude') plt.xlim((0, 14)) plt.ylim((-1.2,1.2)) plt.plot(xs*1e3, ys) dt = xs[1] - xs[0] df = 1.0 / dt / len(xs) print "".join(("dt: ", str(dt), " s\tdf: ", str(df), " Hz")) frequency_spectrum = np.fft.fft(ys)\ [:round(ys.size/2)] spectrum_magnitudes = np.sqrt(np.real(frequency_spectrum)**2 + np.imag(frequency_spectrum)**2) frequencies = np.fft.fftfreq( frequency_spectrum.size*2, d=dt)\ [:round(ys.size/2)] plt.subplot(222) plt.xlabel('Frequency (kHz)') plt.ylabel('Normalized Magnitude') plt.xlim((0,7)) plt.ylim((0,1)) plt.plot(frequencies*1e-3, spectrum_magnitudes / np.max(spectrum_magnitudes)) #(xs, ys) = comsol.load_csv_data(comsol_dir, comsol_file) (xs, ys) = comsol.load_data(comsol_dir, comsol_file, dt=25e-6) print np.shape(xs) print np.shape(ys) #xs = xs[0] ys = ys[0,0] / np.max(ys[0,0]) plt.subplot(223) plt.xlabel('Time (ms)') plt.ylabel('Normalized Amplitude') plt.xlim((0,14)) plt.ylim((-1.2,1.2)) plt.plot(xs*1e3, ys) dt = xs[1] - xs[0] df = 1.0 / dt / len(xs) print "".join(("dt: ", str(dt), " s\tdf: ", str(df), " Hz")) frequency_spectrum = np.fft.fft(ys)\ [:round(ys.size/2)] spectrum_magnitudes = np.sqrt(np.real(frequency_spectrum)**2 + np.imag(frequency_spectrum)**2) frequencies = np.fft.fftfreq( frequency_spectrum.size*2, d=dt)\ [:round(ys.size/2)] plt.subplot(224) plt.xlabel('Frequency (kHz)') plt.ylabel('Normalized Magnitude') plt.xlim((0,7)) plt.ylim((0,1)) plt.plot(frequencies*1e-3, spectrum_magnitudes / np.max(spectrum_magnitudes))
def load_signals(data_dir, data_file, dt): (times, signal_sets) = comsol.load_data(data_dir, data_file, dt=dt) return [(index, times, signals) for index, signals in enumerate(signal_sets)]
def load_signals(data_dir, data_file, dt): (times, signal_sets) = comsol.load_data(data_dir, data_file, dt=dt) #return [mc.condition_signals(times, signals, window_width=150e-6) for signals in signal_sets] return [(times, signals) for signals in signal_sets]
t1=222.324e-3, channels=[0, 1, 2]) dt = 1.0e-6 flip_time = 310.e-6 flip_offset = int(round(flip_time / dt)) raw_signals[2, flip_offset:] = -raw_signals[2, flip_offset:] plt.subplot(311) plt.ylim((-1.2, 1.2)) plot.plot_signals(times * 1e6, raw_signals, norm=True) # 22us wavefront delay data_dir = "C:\\Users\\plane\\Dropbox\\Research\\MTA\\Analysis\\HPRF\\" if platform.system() == 'Linux': data_dir = "/home/lane/Dropbox/Research/MTA/Analysis/HPRF/" comsol_file = "hpc_wall_shock.npy" (times, breakdown_signals) = comsol.load_data(data_dir, comsol_file, dt=2.0e-6) dt = times[1] plt.subplot(312) plt.ylim((-1.2, 1.2)) plt.ylabel('Normalized Amplitude') plot.plot_signals(times * 1e6, breakdown_signals[0], norm=True) # 22us wavefront delay comsol_file = "hpc_gas_shock.npy" (times, breakdown_signals) = comsol.load_data(data_dir, comsol_file, dt=2.0e-6) plt.subplot(313) plt.ylim((-1.2, 1.2)) plt.xlabel('Time (us)') plot.plot_signals(times * 1e6, breakdown_signals[0], norm=True) # 22us wavefront delay
plt.figure(figsize=(12, 20)) #comsol_file = "test_[9]_400kHz.npy" #comsol_file = "test_0_10x4_400kHz.npy" #comsol_file = "test_0_10x4_2MHz.npy" #comsol_file = "test_0_10x4_2MHz_finer.npy" #comsol_file = "random1_8MHz.npy" #comsol_file = "random1_40MHz.npy" #comsol_file = "random100_4MHz.npy" comsol_file = "random100_400kHz.npy" #comsol_file = "random100_1MHz.npy" #comsol_file = "random100_2MHz.npy" #comsol_file = "random100.npy" actual_locations = np.load("".join((data_dir, "actual_locations.npy")))[:5] mic_coordinates = np.array(zip([5, -5, -5, 5], [6, 6, -6, -6])) dt = 2.5e-6 (times, signal_sets) = comsol.load_data(data_dir, comsol_file, dt=dt) #signals = signal_sets[8] for index, signals in enumerate(signal_sets[:5]): #for index,signals in enumerate(signal_sets): print actual_locations[index] distances = np.sqrt( np.sum((mic_coordinates - actual_locations[index])**2, axis=1)) print 'Source-Mic Times:', distances / 2.3e5 plt.subplot(511 + index) #plt.xlim(0,120) plot.plot_signals(times * 1e6, signals) cwts = mc.signals_to_cwts(times, signals) #plot.plot_signals(times*1e6, cwts) print order_by_time(times, signals, False) #plot.plot_signals(times*1e6, cwts)
mpl.rcParams['figure.subplot.hspace'] = 0.2 reset_plot_params() data_dir = "C:\\Users\\plane\\Dropbox\\Research\\MTA\\Analysis\\MC\\" if platform.system() == 'Linux': data_dir = "/home/lane/Dropbox/Research/MTA/Analysis/MC/" signals_list = [] """ filenames = ["random100_400kHz_inner.npy", "random100_400kHz_mid_inner.npy", "random100_400kHz_mid_outer.npy", "random100_400kHz_outer.npy"] dt = 2.5e-6 """ filenames = [ "random100_2MHz_inner.npy", "random100_2MHz_mid_inner.npy", "random100_2MHz_mid_outer.npy", "random100_2MHz_outer.npy" ] dt = 0.5e-6 signals_list = np.array( [comsol.load_data(data_dir, filename, dt=dt) for filename in filenames]) times = signals_list[0, 0] signals_list = signals_list[:, 1] combined_signals = np.vstack(signals_list) #filename = "random100_400kHz.npy" filename = "random100_2MHz.npy" np.save(filename, combined_signals)
(frequencies, magnitudes, phases) = psig.spectra(times, real_hammer_signals) fig = plt.figure(figsize=(20.0, 8.0)) plt.subplot(221) #plt.xlabel('Time (s)') plt.ylabel('Normalized Voltage') plot.plot_signals(times*1e6, real_hammer_signals, tlim=300, ylim=1.5, norm=True) plt.subplot(222) #plt.xlabel('Frequency (Hz)') plt.ylabel('Normalized Magnitude') plot.plot_signals(frequencies*1e-3, magnitudes, ylim=(0,1.2), tlim=30, norm=True) comsol_dir = "C:\\Users\\peter\\Development\\Dissertation\\data\\HC\\" if platform.system() == 'Linux': comsol_dir = "/home/lane/Data/COMSOL/HPRF/RF Hammer with Thin Elastic Layer/" comsol_file = "\S0_TEL_r_1e9_z_21e6_S1_TEL_r_15e6_z_1e9_S5_TEL_r_1e9_z_37e6_10ms.npy" (times, sim_hammer_signals_set) = comsol.load_data(comsol_dir, comsol_file, dt=2e-6) sim_hammer_signals = sim_hammer_signals_set[0] (frequencies, magnitudes, phases) = psig.spectra(times, sim_hammer_signals) print(psig.peaks(frequencies, magnitudes[2])[:10]) plt.subplot(223) plt.xlabel(r'Time ($\mu s$)') plt.ylabel('Normalized Voltage') plot.plot_signals(times*1e6, sim_hammer_signals, tlim=300, ylim=1.2, norm=True) plt.subplot(224) plt.xlabel(r'Frequency ($kHz$)') plt.ylabel('Normalized Magnitude') #plot.plot_spectra(times, sim_hammer_signals, flim=3e4, ylim=1.2, norm=True) plot.plot_signals(frequencies*1e-3, magnitudes, ylim=(0,1.2), tlim=30, norm=True) # plt.show()
import pgl.tektronix as tektronix import pgl.mc as mc import pgl.progress as prog import pgl.cluster as clust import pgl.hpc as hpc def reset_plot_params(): mpl.rcParams['ytick.labelsize'] = 22 mpl.rcParams['xtick.labelsize'] = 22 mpl.rcParams['axes.labelsize'] = 26 mpl.rcParams['font.size'] = 26 mpl.rcParams['mathtext.default'] = 'regular' mpl.rcParams['figure.subplot.left'] = 0.02 mpl.rcParams['figure.subplot.right'] = 0.98 mpl.rcParams['figure.subplot.top'] = 0.9 mpl.rcParams['figure.subplot.bottom'] = 0.1 mpl.rcParams['figure.subplot.wspace'] = 0.2 mpl.rcParams['figure.subplot.hspace'] = 0.2 reset_plot_params() directory = 'C:/Users/plane/Dropbox/Research/MTA/Analysis/AMC/' filename = 'al_disk_spring_foundation.npy' (times, signals) = comsol.load_data(directory, filename, dt=25e-6) plt.xlabel('Time (ms)') plt.ylabel('Norm. Acceleration (m/s)') plot.plot_signals(times * 1e3, signals[0], norm=True) plt.tight_layout()