Beispiel #1
0
    def __init__(self, params, errors, losss, val_losss):
        self.params = params
        self.errors = errors
        self.losss = losss
        self.val_losss = val_losss


if __name__ == '__main__':
    SIMULATIONS_NAME = 'previous_research'

    params, output_dir = settings.init_simulation(SIMULATIONS_NAME)

    # データを生成する
    snrs_db = np.linspace(params['SNR_MIN'], params['SNR_MAX'],
                          params['SNR_NUM'])
    sigmas = m.sigmas(snrs_db)  # SNR(dB)を元に雑音電力を導出

    loss_array = np.zeros(
        (params['SNR_NUM'], params['SNR_AVERAGE'], params['nEpochs']))
    val_loss_array = np.zeros(
        (params['SNR_NUM'], params['SNR_AVERAGE'], params['nEpochs']))
    error_array = np.zeros((len(snrs_db), params['SNR_AVERAGE']))

    for trials_index in tqdm(range(params['SNR_AVERAGE'])):
        h_si = m.channel(1, params['h_si_len'])
        h_s = m.channel(1, params['h_s_len'])

        for sigma_index, sigma in enumerate(sigmas):
            logging.info("SNR_AVERAGE_index:" + str(trials_index))
            logging.info("sigma_index:" + str(sigma_index))
    val_losss: np.ndarray


if __name__ == '__main__':
    SIMULATIONS_NAME = 'ofdm_fde_system_model_delay'

    params_dict, output_dir = settings.init_simulation(SIMULATIONS_NAME,
                                                       ofdm=True)
    params = Params.from_params_dict(params_dict)

    delay_array = np.linspace(params.delay_min,
                              params.delay_max,
                              params.delay_num,
                              dtype=int)

    sigma = m.sigmas(params.SNR)
    sigma = sigma * np.sqrt(params.receive_antenna)
    errors = np.zeros((params.delay_num, params.trials))
    losss = np.zeros((params.delay_num, params.trials, params.nEpochs))
    val_losss = np.zeros((params.delay_num, params.trials, params.nEpochs))

    for trials_index in tqdm(range(params.trials)):
        h_si = []
        h_s = []

        for i in range(params.receive_antenna):
            h_si.append(m.exponential_decay_channel(1, params.h_si_len))
            h_s.append(m.exponential_decay_channel(1, params.h_s_len))

        for delay_array_index, delay in enumerate(delay_array):
            nn_model = simulation(
    previous_errors = np.zeros((params.graph_x_num, params.trials))
    previous_losss = np.zeros(
        (params.graph_x_num, params.trials, params.p_nEpochs))
    previous_val_losss = np.zeros(
        (params.graph_x_num, params.trials, params.p_nEpochs))

    for trials_index in tqdm(range(params.trials)):
        h_si = []
        h_s = []

        for i in range(params.receive_antenna):
            h_si.append(m.exponential_decay_channel(1, params.h_si_len))
            h_s.append(m.exponential_decay_channel(1, params.h_s_len))

        for graph_x_index, SNR in enumerate(graph_x_array):
            sigma = m.sigmas(SNR)
            # previous_sigma = sigma
            previous_sigma = sigma * np.sqrt(params.p_receive_antenna)
            proposal_sigma = sigma * np.sqrt(params.receive_antenna)

            non_cancell_error_array[
                graph_x_index][trials_index] = noncancel_simulation(
                    params.block, params.subcarrier, params.CP, previous_sigma,
                    params.gamma, params.phi, params.PA_IBO, params.PA_rho,
                    params.LNA_alpha_1, params.LNA_alpha_2, h_si, h_s,
                    params.h_si_len, params.h_s_len, params.TX_IQI, params.PA,
                    params.LNA, params.RX_IQI, params.trainingRatio,
                    params.compensate_iqi, params.p_receive_antenna,
                    params.equalizer)

            previous_nn_model = previous_simulation(
class Result:
    params: Params
    errors: np.ndarray
    losss: np.ndarray
    val_losss: np.ndarray


if __name__ == '__main__':
    SIMULATIONS_NAME = 'ofdm_fde_system_model'

    params_dict, output_dir = settings.init_simulation(SIMULATIONS_NAME,
                                                       ofdm=True)
    params = Params.from_params_dict(params_dict)

    snrs_db = m.snr_db(params.SNR_MIN, params.SNR_MAX, params.SNR_NUM)
    sigmas = m.sigmas(snrs_db)
    sigmas = sigmas * np.sqrt(params.receive_antenna)
    errors = np.zeros((params.SNR_NUM, params.SNR_AVERAGE))
    losss = np.zeros((params.SNR_NUM, params.SNR_AVERAGE, params.nEpochs))
    val_losss = np.zeros((params.SNR_NUM, params.SNR_AVERAGE, params.nEpochs))

    for trials_index in tqdm(range(params.SNR_AVERAGE)):
        h_si = []
        h_s = []

        for i in range(params.receive_antenna):
            h_si.append(m.exponential_decay_channel(1, params.h_si_len))
            h_s.append(m.exponential_decay_channel(1, params.h_s_len))

        for sigma_index, sigma in enumerate(sigmas):
            nn_model = simulation(
        val_losss_list.append(result.val_losss)

    errors = np.concatenate(errors_list, 1)
    losss = np.concatenate(losss_list, 1)
    val_losss = np.concatenate(val_losss_list, 1)

    logging.info('chainload')
    logging.info(len(results))

    params = results[0].params
    logging.info('params')
    logging.info(params)

    # データを生成する
    snr = params['snr']
    sigma = m.sigmas(snr)  # SNR(dB)を元に雑音電力を導出
    var_si_var_s_db = np.linspace(params['var_min'], params['var_max'],
                                  params['var_num'])
    var_si_var_s = m.to_exact_number(var_si_var_s_db)
    var_si = 1
    var_s_list = var_si / var_si_var_s
    non_cancell_error = np.zeros(
        (params['var_num'], params['number_of_trials']))
    for trials_index in tqdm(range(params['number_of_trials'])):
        for var_s_index, var_s in enumerate(var_s_list):
            # 通信路は毎回生成する
            h_si = m.channel(1, params['h_si_len'], var_si)
            h_s = m.channel(1, params['h_s_len'], var_s)
            logging.info('random channel')
            logging.info('h_si:{0.real}+{0.imag}i'.format(h_si))
            logging.info('h_s:{0.real}+{0.imag}i'.format(h_s))