Ejemplo n.º 1
0
    def simulate(self):

        # create instance of parameter class
        params = Parameters()

        # safeguards for running simulation; make sure all params have safe values

        # assign params new values from gui
        params.kmax = int(self.root.ids.kmax_input.text)
        params.rx_chan_cnt = int(self.root.ids.rx_chan_cnt_input.text)
        params.rx_data_osr = int(self.root.ids.rx_data_osr_input.text)
        params.tx_data_file = self.root.ids.tx_data_file_input.text
        params.tx_data_gain = float(self.root.ids.tx_data_gain_input.text)
        params.sim_mode = int(self.root.ids.sim_mode_input.text)
        if params.sim_mode == 5:
            params.beat_frequency = 1.0 + np.float(1.0/params.kmax)
            params.tr_loop_period = np.float(params.beat_frequency*params.rx_data_osr)
        params.agc_tap_mu = float(self.root.ids.agc_tap_mu_input.text)
        params.ffe_tap_mu = float(self.root.ids.ffe_tap_mu_input.text)
        params.dfe_tap_mu = float(self.root.ids.dfe_tap_mu_input.text)
        params.dco_tap_mu = float(self.root.ids.dco_tap_mu_input.text)
        params.lvl_tap_mu = float(self.root.ids.lvl_tap_mu_input.text)
        params.vga_tap_mu = float(self.root.ids.vga_tap_mu_input.text)
        params.phz_tap_mu = float(self.root.ids.phz_tap_mu_input.text)
        params.tr_prop_mu = float(self.root.ids.tr_prop_mu_input.text)
        params.tr_integ_mu = float(self.root.ids.tr_integ_mu_input.text)

        if self.root.ids.load_flag_input.text == 'True':
            params.load_flag = True
        else:
            params.load_flag = False

        if self.root.ids.load_flag_input.text == 'True':
            params.load_flag = True
        else:
            params.load_flag = False

        if self.root.ids.load_flag_input.text == 'True':
            params.load_flag = True
        else:
            params.load_flag = False

        params.afe_rms_noise = float(self.root.ids.afe_rms_noise_input.text)
        params.afe_rms_gain = float(self.root.ids.afe_rms_gain_input.text)
        params.afe_rms_offset = float(self.root.ids.afe_rms_offset_input.text)
        params.rx_rms_phase = float(self.root.ids.rx_rms_phase_input.text)
        params.rx_rms_jitter = float(self.root.ids.rx_rms_jitter_input.text)
        params.rx_loop_demux = int(self.root.ids.rx_loop_demux_input.text)
        params.tr_sym_mode_flag = bool(self.root.ids.tr_sym_mode_flag_input.text)
        params.tr_loop_latency = int(self.root.ids.tr_loop_latency_input.text)
        params.plot_skip_points = float(self.root.ids.plot_skip_points_input.text)
        params.plot_window_snr = float(self.root.ids.plot_window_snr_input.text)

        params.ffe_tap_fix = int(self.root.ids.ffe_tap_fix_input.text)
        params.ffe_tap_cnt = int(self.root.ids.ffe_tap_cnt_input.text)
        params.ffe_tap_ref = int(self.root.ids.ffe_tap_ref_input.text)
        params.ffe_tap_pre = float(self.root.ids.ffe_tap_pre_input.text)
        params.ffe_tap_post = float(self.root.ids.ffe_tap_post_input.text)
        params.dfe_tap_cnt = int(self.root.ids.dfe_tap_cnt_input.text)
        params.dfe_tap_ref = int(self.root.ids.dfe_tap_ref_input.text)
        params.agc_tap_step = float(self.root.ids.agc_tap_step_input.text)
        params.ffe_tap_step = float(self.root.ids.ffe_tap_step_input.text)
        params.dfe_tap_step = float(self.root.ids.dfe_tap_step_input.text)
        params.dco_tap_step = float(self.root.ids.dco_tap_step_input.text)
        params.lvl_tap_Step = float(self.root.ids.lvl_tap_step_input.text)
        params.vga_tap_step = float(self.root.ids.vga_tap_step_input.text)
        params.phz_tap_step = float(self.root.ids.phz_tap_step_input.text)
        params.phz_tap_max = float(self.root.ids.phz_tap_max_input.text)

        simulate(params)