fade_in_list = np.arange(0, 1001, 1) fade_out = 0 # Spectrum of dirac for reference dirac = np.zeros(pad * fs) dirac[0] = 1 dirac_f = np.fft.rfft(dirac) def get_results(fade_in): excitation_windowed = excitation * windows.window_kaiser( N, fade_in, fade_out, fs, beta) excitation_windowed_zeropadded = generation.zero_padding( excitation_windowed, pad, fs) system_response = system(excitation_windowed_zeropadded) ir = calculation.deconv_process(excitation_windowed_zeropadded, system_response, fs) return ir with open("log_sweep_kaiser_window_script1.txt", "w") as f: for fade_in in fade_in_list: ir = get_results(fade_in) pnr = calculation.pnr_db(ir[0], ir[1:4 * fs]) spectrum_distance = calculation.vector_distance( dirac_f, np.fft.rfft(ir[:pad * fs])) f.write( str(fade_in) + " " + str(pnr) + " " + str(spectrum_distance) + " \n")
# Spectrum of bandstop for reference bandstop_f = calculation.butter_bandstop(f_low, f_high, fs, N * 2 + 1, order) def get_results(fade_out): excitation_windowed = excitation * windows.window_kaiser(N, fade_in, fade_out, fs, beta) excitation_windowed_zeropadded = generation.zero_padding( excitation_windowed, pad, fs) excitation_zeropadded = generation.zero_padding(excitation, pad, fs) system_response = system(excitation_windowed_zeropadded) ir = calculation.deconv_process(excitation_zeropadded, system_response, fs) return ir with open("log_sweep_kaiser_window_script4_1.txt", "w") as f: for fade_out in fade_out_list: ir = get_results(fade_out) snr = calculation.pnr_db(ir[0], ir[t_noise * fs:pad * fs]) spectrum_distance = calculation.vector_distance( bandstop_f, np.fft.rfft(ir[:pad * fs])) f.write( str(fade_out) + " " + str(snr) + " " + str(spectrum_distance) + " \n")