Пример #1
0
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")
Пример #2
0
# 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")