From 5481f7cd6fca55a54c4c386204e0971cd1b6c036 Mon Sep 17 00:00:00 2001 From: sara Date: Mon, 29 Nov 2021 16:56:27 +0100 Subject: FIR Block verbessert --- simulation/QAM_Fading/qam_fading.py | 181 ++------------------- .../QAM_Fading/qam_fading_V2_eigerner_block.grc | 14 +- simulation/QAM_Fading/qam_fading_block.py | 33 ++-- .../qam_fading_frequency_selectiv_copy.grc | 2 +- 4 files changed, 35 insertions(+), 195 deletions(-) (limited to 'simulation/QAM_Fading') diff --git a/simulation/QAM_Fading/qam_fading.py b/simulation/QAM_Fading/qam_fading.py index 957530d..42199d1 100755 --- a/simulation/QAM_Fading/qam_fading.py +++ b/simulation/QAM_Fading/qam_fading.py @@ -29,7 +29,6 @@ from gnuradio import blocks import numpy from gnuradio import channels from gnuradio import digital -from gnuradio import filter from gnuradio import gr import sys import signal @@ -37,7 +36,6 @@ from argparse import ArgumentParser from gnuradio.eng_arg import eng_float, intx from gnuradio import eng_notation from gnuradio.qtgui import Range, RangeWidget -import numpy as np from gnuradio import qtgui @@ -87,18 +85,11 @@ class qam_fading(gr.top_block, Qt.QWidget): self.phase_bw = phase_bw = 2 * 3.141592653589793 / 100 self.noise_volt = noise_volt = 0.0001 self.freq_offset = freq_offset = 0 - self.fading_3 = fading_3 = 0 - self.fading_2 = fading_2 = 0 - self.fading_1 = fading_1 = 2 self.eq_ntaps = eq_ntaps = 15 self.eq_mod = eq_mod = 1 self.eq_gain = eq_gain = .01 self.const = const = digital.constellation_16qam().base() self.chn_taps = chn_taps = [1.0 + 0.0j, ] - self.amp_3 = amp_3 = 0 - self.amp_2 = amp_2 = 0 - self.amp_1 = amp_1 = 0.2 - self.LOS_NLOS = LOS_NLOS = 1 ################################################## # Blocks @@ -114,11 +105,6 @@ class qam_fading(gr.top_block, Qt.QWidget): self.params_grid_layout_1 = Qt.QGridLayout() self.params_layout_1.addLayout(self.params_grid_layout_1) self.params.addTab(self.params_widget_1, 'Receiver') - self.params_widget_2 = Qt.QWidget() - self.params_layout_2 = Qt.QBoxLayout(Qt.QBoxLayout.TopToBottom, self.params_widget_2) - self.params_grid_layout_2 = Qt.QGridLayout() - self.params_layout_2.addLayout(self.params_grid_layout_2) - self.params.addTab(self.params_widget_2, 'Fading') self.top_grid_layout.addWidget(self.params) self._timing_loop_bw_range = Range(0, 200e-3, 10e-3, 2 * 3.141592653589793 / 100, 200) self._timing_loop_bw_win = RangeWidget(self._timing_loop_bw_range, self.set_timing_loop_bw, 'Time Bandwidth', "counter_slider", float) @@ -172,27 +158,6 @@ class qam_fading(gr.top_block, Qt.QWidget): self.params_grid_layout_0.setRowStretch(r, 1) for c in range(0, 1): self.params_grid_layout_0.setColumnStretch(c, 1) - self._fading_3_range = Range(0, 30, 1, 0, 200) - self._fading_3_win = RangeWidget(self._fading_3_range, self.set_fading_3, 'Fading 3', "counter_slider", int) - self.params_grid_layout_2.addWidget(self._fading_3_win, 3, 0, 1, 1) - for r in range(3, 4): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(0, 1): - self.params_grid_layout_2.setColumnStretch(c, 1) - self._fading_2_range = Range(0, 30, 1, 0, 200) - self._fading_2_win = RangeWidget(self._fading_2_range, self.set_fading_2, 'Fading 2', "counter_slider", int) - self.params_grid_layout_2.addWidget(self._fading_2_win, 2, 0, 1, 1) - for r in range(2, 3): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(0, 1): - self.params_grid_layout_2.setColumnStretch(c, 1) - self._fading_1_range = Range(1, 30, 1, 2, 200) - self._fading_1_win = RangeWidget(self._fading_1_range, self.set_fading_1, 'Fading', "counter_slider", int) - self.params_grid_layout_2.addWidget(self._fading_1_win, 1, 0, 1, 1) - for r in range(1, 2): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(0, 1): - self.params_grid_layout_2.setColumnStretch(c, 1) self._eq_gain_range = Range(0, .1, .001, .01, 200) self._eq_gain_win = RangeWidget(self._eq_gain_range, self.set_eq_gain, 'Equalizer Rate', "counter_slider", float) self.params_grid_layout_1.addWidget(self._eq_gain_win, 0, 0, 1, 1) @@ -200,34 +165,6 @@ class qam_fading(gr.top_block, Qt.QWidget): self.params_grid_layout_1.setRowStretch(r, 1) for c in range(0, 1): self.params_grid_layout_1.setColumnStretch(c, 1) - self._amp_3_range = Range(0, 5, 0.1, 0, 200) - self._amp_3_win = RangeWidget(self._amp_3_range, self.set_amp_3, 'Ampliude 3', "counter_slider", float) - self.params_grid_layout_2.addWidget(self._amp_3_win, 3, 1, 1, 1) - for r in range(3, 4): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(1, 2): - self.params_grid_layout_2.setColumnStretch(c, 1) - self._amp_2_range = Range(0, 5, 0.1, 0, 200) - self._amp_2_win = RangeWidget(self._amp_2_range, self.set_amp_2, 'Ampliude 2', "counter_slider", float) - self.params_grid_layout_2.addWidget(self._amp_2_win, 2, 1, 1, 1) - for r in range(2, 3): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(1, 2): - self.params_grid_layout_2.setColumnStretch(c, 1) - self._amp_1_range = Range(0, 5, 0.1, 0.2, 200) - self._amp_1_win = RangeWidget(self._amp_1_range, self.set_amp_1, 'Ampliude', "counter_slider", float) - self.params_grid_layout_2.addWidget(self._amp_1_win, 1, 1, 1, 1) - for r in range(1, 2): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(1, 2): - self.params_grid_layout_2.setColumnStretch(c, 1) - self._LOS_NLOS_range = Range(0, 1, 1, 1, 200) - self._LOS_NLOS_win = RangeWidget(self._LOS_NLOS_range, self.set_LOS_NLOS, 'LOS_NLOS', "counter_slider", int) - self.params_grid_layout_2.addWidget(self._LOS_NLOS_win, 0, 0, 1, 1) - for r in range(0, 1): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(0, 1): - self.params_grid_layout_2.setColumnStretch(c, 1) self.qtgui_time_sink_x_0 = qtgui.time_sink_f( 1024, #size samp_rate, #samp_rate @@ -279,51 +216,6 @@ class qam_fading(gr.top_block, Qt.QWidget): self.plots_grid_layout_2.setRowStretch(r, 1) for c in range(0, 1): self.plots_grid_layout_2.setColumnStretch(c, 1) - self.qtgui_freq_sink_x_2_1 = qtgui.freq_sink_f( - 1024, #size - firdes.WIN_BLACKMAN_hARRIS, #wintype - 0, #fc - samp_rate, #bw - "", #name - 2 - ) - self.qtgui_freq_sink_x_2_1.set_update_time(0.10) - self.qtgui_freq_sink_x_2_1.set_y_axis(-140, 10) - self.qtgui_freq_sink_x_2_1.set_y_label('Relative Gain', 'dB') - self.qtgui_freq_sink_x_2_1.set_trigger_mode(qtgui.TRIG_MODE_FREE, 0.0, 0, "") - self.qtgui_freq_sink_x_2_1.enable_autoscale(False) - self.qtgui_freq_sink_x_2_1.enable_grid(False) - self.qtgui_freq_sink_x_2_1.set_fft_average(1.0) - self.qtgui_freq_sink_x_2_1.enable_axis_labels(True) - self.qtgui_freq_sink_x_2_1.enable_control_panel(False) - - - self.qtgui_freq_sink_x_2_1.set_plot_pos_half(not True) - - labels = ['Fading', '', '', '', '', - '', '', '', '', ''] - widths = [1, 1, 1, 1, 1, - 1, 1, 1, 1, 1] - colors = ["blue", "red", "green", "black", "cyan", - "magenta", "yellow", "dark red", "dark green", "dark blue"] - alphas = [1.0, 1.0, 1.0, 1.0, 1.0, - 1.0, 1.0, 1.0, 1.0, 1.0] - - for i in range(2): - if len(labels[i]) == 0: - self.qtgui_freq_sink_x_2_1.set_line_label(i, "Data {0}".format(i)) - else: - self.qtgui_freq_sink_x_2_1.set_line_label(i, labels[i]) - self.qtgui_freq_sink_x_2_1.set_line_width(i, widths[i]) - self.qtgui_freq_sink_x_2_1.set_line_color(i, colors[i]) - self.qtgui_freq_sink_x_2_1.set_line_alpha(i, alphas[i]) - - self._qtgui_freq_sink_x_2_1_win = sip.wrapinstance(self.qtgui_freq_sink_x_2_1.pyqwidget(), Qt.QWidget) - self.plots_grid_layout_1.addWidget(self._qtgui_freq_sink_x_2_1_win, 1, 0, 1, 1) - for r in range(1, 2): - self.plots_grid_layout_1.setRowStretch(r, 1) - for c in range(0, 1): - self.plots_grid_layout_1.setColumnStretch(c, 1) self.qtgui_freq_sink_x_0 = qtgui.freq_sink_c( 1024, #size firdes.WIN_BLACKMAN_hARRIS, #wintype @@ -382,7 +274,7 @@ class qam_fading(gr.top_block, Qt.QWidget): self.qtgui_const_sink_x_2.enable_axis_labels(True) - labels = ['fading', 'normal', '', '', '', + labels = ['Fading', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] @@ -426,7 +318,7 @@ class qam_fading(gr.top_block, Qt.QWidget): self.qtgui_const_sink_x_1.enable_axis_labels(True) - labels = ['fading', 'normal', '', '', '', + labels = ['Fading', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] @@ -470,7 +362,7 @@ class qam_fading(gr.top_block, Qt.QWidget): self.qtgui_const_sink_x_0_0.enable_axis_labels(True) - labels = ['fading', 'normal', '', '', '', + labels = ['Fading', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] @@ -514,7 +406,7 @@ class qam_fading(gr.top_block, Qt.QWidget): self.qtgui_const_sink_x_0.enable_axis_labels(True) - labels = ['fading', 'normal', '', '', '', + labels = ['Fading', '', '', '', '', '', '', '', '', ''] widths = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] @@ -544,10 +436,8 @@ class qam_fading(gr.top_block, Qt.QWidget): self.plots_grid_layout_0.setRowStretch(r, 1) for c in range(0, 1): self.plots_grid_layout_0.setColumnStretch(c, 1) - self.interp_fir_filter_xxx_0 = filter.interp_fir_filter_ccc(1, [LOS_NLOS]+(([0]*fading_1)+[amp_1])+(([0]*fading_2)+[amp_2])+(([0]*fading_3)+[amp_3])) - self.interp_fir_filter_xxx_0.declare_sample_delay(0) self.digital_pfb_clock_sync_xxx_0_0 = digital.pfb_clock_sync_ccf(sps , timing_loop_bw, rrc_taps, nfilts, nfilts/2, 1.5, 1) - self.digital_pfb_clock_sync_xxx_0 = digital.pfb_clock_sync_ccf(sps, timing_loop_bw, rrc_taps, nfilts, nfilts/2, 1.5, 1) + self.digital_pfb_clock_sync_xxx_0 = digital.pfb_clock_sync_ccf(sps * 1.001, timing_loop_bw, rrc_taps, nfilts, nfilts/2, 1.5, 1) self.digital_map_bb_0_0 = digital.map_bb([0, 1, 3, 2]) self.digital_map_bb_0 = digital.map_bb([0, 1, 3, 2]) self.digital_diff_decoder_bb_0_0 = digital.diff_decoder_bb(4) @@ -566,6 +456,7 @@ class qam_fading(gr.top_block, Qt.QWidget): self.digital_constellation_decoder_cb_0 = digital.constellation_decoder_cb(const) self.digital_cma_equalizer_cc_0_0 = digital.cma_equalizer_cc(eq_ntaps, eq_mod, eq_gain, 2) self.digital_cma_equalizer_cc_0 = digital.cma_equalizer_cc(eq_ntaps, eq_mod, eq_gain, 2) + self.channels_selective_fading_model_0 = channels.selective_fading_model( 8, 0, False, 1.0, 0, (0,7), (1,0.2), 2 ) self.channels_channel_model_0 = channels.channel_model( noise_voltage=noise_volt, frequency_offset=freq_offset, @@ -590,20 +481,21 @@ class qam_fading(gr.top_block, Qt.QWidget): ################################################## self.connect((self.analog_random_source_x_0, 0), (self.blocks_unpack_k_bits_bb_0_0, 0)) self.connect((self.analog_random_source_x_0, 0), (self.digital_constellation_modulator_0, 0)) - self.connect((self.blocks_char_to_float_0, 0), (self.qtgui_freq_sink_x_2_1, 0)) self.connect((self.blocks_char_to_float_0, 0), (self.qtgui_time_sink_x_0, 0)) self.connect((self.blocks_char_to_float_0_0, 0), (self.blocks_delay_0, 0)) - self.connect((self.blocks_char_to_float_0_1, 0), (self.qtgui_freq_sink_x_2_1, 1)) self.connect((self.blocks_char_to_float_0_1, 0), (self.qtgui_time_sink_x_0, 2)) self.connect((self.blocks_delay_0, 0), (self.qtgui_time_sink_x_0, 1)) self.connect((self.blocks_throttle_0, 0), (self.channels_channel_model_0, 0)) self.connect((self.blocks_unpack_k_bits_bb_0, 0), (self.blocks_char_to_float_0, 0)) self.connect((self.blocks_unpack_k_bits_bb_0_0, 0), (self.blocks_char_to_float_0_0, 0)) self.connect((self.blocks_unpack_k_bits_bb_0_1, 0), (self.blocks_char_to_float_0_1, 0)) + self.connect((self.channels_channel_model_0, 0), (self.channels_selective_fading_model_0, 0)) self.connect((self.channels_channel_model_0, 0), (self.digital_pfb_clock_sync_xxx_0_0, 0)) - self.connect((self.channels_channel_model_0, 0), (self.interp_fir_filter_xxx_0, 0)) self.connect((self.channels_channel_model_0, 0), (self.qtgui_const_sink_x_0, 1)) self.connect((self.channels_channel_model_0, 0), (self.qtgui_freq_sink_x_0, 1)) + self.connect((self.channels_selective_fading_model_0, 0), (self.digital_pfb_clock_sync_xxx_0, 0)) + self.connect((self.channels_selective_fading_model_0, 0), (self.qtgui_const_sink_x_0, 0)) + self.connect((self.channels_selective_fading_model_0, 0), (self.qtgui_freq_sink_x_0, 0)) self.connect((self.digital_cma_equalizer_cc_0, 0), (self.digital_costas_loop_cc_0, 0)) self.connect((self.digital_cma_equalizer_cc_0, 0), (self.qtgui_const_sink_x_1, 0)) self.connect((self.digital_cma_equalizer_cc_0_0, 0), (self.digital_costas_loop_cc_0_0, 0)) @@ -623,9 +515,6 @@ class qam_fading(gr.top_block, Qt.QWidget): self.connect((self.digital_pfb_clock_sync_xxx_0, 0), (self.qtgui_const_sink_x_0_0, 0)) self.connect((self.digital_pfb_clock_sync_xxx_0_0, 0), (self.digital_cma_equalizer_cc_0_0, 0)) self.connect((self.digital_pfb_clock_sync_xxx_0_0, 0), (self.qtgui_const_sink_x_0_0, 1)) - self.connect((self.interp_fir_filter_xxx_0, 0), (self.digital_pfb_clock_sync_xxx_0, 0)) - self.connect((self.interp_fir_filter_xxx_0, 0), (self.qtgui_const_sink_x_0, 0)) - self.connect((self.interp_fir_filter_xxx_0, 0), (self.qtgui_freq_sink_x_0, 0)) def closeEvent(self, event): @@ -676,7 +565,6 @@ class qam_fading(gr.top_block, Qt.QWidget): self.samp_rate = samp_rate self.blocks_throttle_0.set_sample_rate(self.samp_rate) self.qtgui_freq_sink_x_0.set_frequency_range(0, self.samp_rate) - self.qtgui_freq_sink_x_2_1.set_frequency_range(0, self.samp_rate) self.qtgui_time_sink_x_0.set_samp_rate(self.samp_rate) def get_rrc_taps(self): @@ -709,27 +597,6 @@ class qam_fading(gr.top_block, Qt.QWidget): self.freq_offset = freq_offset self.channels_channel_model_0.set_frequency_offset(self.freq_offset) - def get_fading_3(self): - return self.fading_3 - - def set_fading_3(self, fading_3): - self.fading_3 = fading_3 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])+(([0]*self.fading_3)+[self.amp_3])) - - def get_fading_2(self): - return self.fading_2 - - def set_fading_2(self, fading_2): - self.fading_2 = fading_2 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])+(([0]*self.fading_3)+[self.amp_3])) - - def get_fading_1(self): - return self.fading_1 - - def set_fading_1(self, fading_1): - self.fading_1 = fading_1 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])+(([0]*self.fading_3)+[self.amp_3])) - def get_eq_ntaps(self): return self.eq_ntaps @@ -765,34 +632,6 @@ class qam_fading(gr.top_block, Qt.QWidget): self.chn_taps = chn_taps self.channels_channel_model_0.set_taps(self.chn_taps) - def get_amp_3(self): - return self.amp_3 - - def set_amp_3(self, amp_3): - self.amp_3 = amp_3 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])+(([0]*self.fading_3)+[self.amp_3])) - - def get_amp_2(self): - return self.amp_2 - - def set_amp_2(self, amp_2): - self.amp_2 = amp_2 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])+(([0]*self.fading_3)+[self.amp_3])) - - def get_amp_1(self): - return self.amp_1 - - def set_amp_1(self, amp_1): - self.amp_1 = amp_1 - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])+(([0]*self.fading_3)+[self.amp_3])) - - def get_LOS_NLOS(self): - return self.LOS_NLOS - - def set_LOS_NLOS(self, LOS_NLOS): - self.LOS_NLOS = LOS_NLOS - self.interp_fir_filter_xxx_0.set_taps([self.LOS_NLOS]+(([0]*self.fading_1)+[self.amp_1])+(([0]*self.fading_2)+[self.amp_2])+(([0]*self.fading_3)+[self.amp_3])) - diff --git a/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc b/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc index 23cb577..641d78e 100644 --- a/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc +++ b/simulation/QAM_Fading/qam_fading_V2_eigerner_block.grc @@ -169,11 +169,11 @@ blocks: label: Fading min_len: '200' orient: Qt.Horizontal - rangeType: int + rangeType: float start: '1' - step: '1' + step: '0.0001' stop: '30' - value: '2' + value: sps widget: counter_slider states: bus_sink: false @@ -808,17 +808,17 @@ blocks: parameters: affinity: '' alias: '' - amplitudes: '[0.2, 0.2]' + amplitudes: '[amp_1]' comment: '' - delays: '[4,4]' - los: 'True' + delays: '[fading_1]' + los: 'False' maxoutbuf: '0' minoutbuf: '0' states: bus_sink: false bus_source: false bus_structure: null - coordinate: [968, 324.0] + coordinate: [992, 316.0] rotation: 0 state: true - name: import_0 diff --git a/simulation/QAM_Fading/qam_fading_block.py b/simulation/QAM_Fading/qam_fading_block.py index 5622e69..89c4a32 100755 --- a/simulation/QAM_Fading/qam_fading_block.py +++ b/simulation/QAM_Fading/qam_fading_block.py @@ -87,7 +87,7 @@ class qam_fading_block(gr.top_block, Qt.QWidget): self.phase_bw = phase_bw = 2 * 3.141592653589793 / 100 self.noise_volt = noise_volt = 0.0001 self.freq_offset = freq_offset = 0 - self.fading_1 = fading_1 = 2 + self.fading_1 = fading_1 = sps self.eq_ntaps = eq_ntaps = 15 self.eq_mod = eq_mod = 1 self.eq_gain = eq_gain = .01 @@ -168,6 +168,13 @@ class qam_fading_block(gr.top_block, Qt.QWidget): self.params_grid_layout_0.setRowStretch(r, 1) for c in range(0, 1): self.params_grid_layout_0.setColumnStretch(c, 1) + self._fading_1_range = Range(1, 30, 0.0001, sps, 200) + self._fading_1_win = RangeWidget(self._fading_1_range, self.set_fading_1, 'Fading', "counter_slider", float) + self.params_grid_layout_2.addWidget(self._fading_1_win, 1, 0, 1, 1) + for r in range(1, 2): + self.params_grid_layout_2.setRowStretch(r, 1) + for c in range(0, 1): + self.params_grid_layout_2.setColumnStretch(c, 1) self._eq_gain_range = Range(0, .1, .001, .01, 200) self._eq_gain_win = RangeWidget(self._eq_gain_range, self.set_eq_gain, 'Equalizer Rate', "counter_slider", float) self.params_grid_layout_1.addWidget(self._eq_gain_win, 0, 0, 1, 1) @@ -175,6 +182,13 @@ class qam_fading_block(gr.top_block, Qt.QWidget): self.params_grid_layout_1.setRowStretch(r, 1) for c in range(0, 1): self.params_grid_layout_1.setColumnStretch(c, 1) + self._amp_1_range = Range(0, 5, 0.1, 0.2, 200) + self._amp_1_win = RangeWidget(self._amp_1_range, self.set_amp_1, 'Ampliude', "counter_slider", float) + self.params_grid_layout_2.addWidget(self._amp_1_win, 1, 1, 1, 1) + for r in range(1, 2): + self.params_grid_layout_2.setRowStretch(r, 1) + for c in range(1, 2): + self.params_grid_layout_2.setColumnStretch(c, 1) self.qtgui_time_sink_x_0 = qtgui.time_sink_f( 1024, #size samp_rate, #samp_rate @@ -491,14 +505,7 @@ class qam_fading_block(gr.top_block, Qt.QWidget): self.plots_grid_layout_0.setRowStretch(r, 1) for c in range(0, 1): self.plots_grid_layout_0.setColumnStretch(c, 1) - self.fadingui_multipath_fading_0 = fadingui.multipath_fading(amplitudes=[0.2, 0.2], delays=[4,4]) - self._fading_1_range = Range(1, 30, 1, 2, 200) - self._fading_1_win = RangeWidget(self._fading_1_range, self.set_fading_1, 'Fading', "counter_slider", int) - self.params_grid_layout_2.addWidget(self._fading_1_win, 1, 0, 1, 1) - for r in range(1, 2): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(0, 1): - self.params_grid_layout_2.setColumnStretch(c, 1) + self.fadingui_multipath_fading_0 = fadingui.multipath_fading(amplitudes=[amp_1], delays=[fading_1], los =False) self.digital_pfb_clock_sync_xxx_0_0 = digital.pfb_clock_sync_ccf(sps , timing_loop_bw, rrc_taps, nfilts, nfilts/2, 1.5, 1) self.digital_pfb_clock_sync_xxx_0 = digital.pfb_clock_sync_ccf(sps, timing_loop_bw, rrc_taps, nfilts, nfilts/2, 1.5, 1) self.digital_map_bb_0_0 = digital.map_bb([0, 1, 3, 2]) @@ -535,13 +542,6 @@ class qam_fading_block(gr.top_block, Qt.QWidget): self.blocks_char_to_float_0_0 = blocks.char_to_float(1, 1) self.blocks_char_to_float_0 = blocks.char_to_float(1, 1) self.analog_random_source_x_0 = blocks.vector_source_b(list(map(int, numpy.random.randint(0, 256, 1000))), True) - self._amp_1_range = Range(0, 5, 0.1, 0.2, 200) - self._amp_1_win = RangeWidget(self._amp_1_range, self.set_amp_1, 'Ampliude', "counter_slider", float) - self.params_grid_layout_2.addWidget(self._amp_1_win, 1, 1, 1, 1) - for r in range(1, 2): - self.params_grid_layout_2.setRowStretch(r, 1) - for c in range(1, 2): - self.params_grid_layout_2.setColumnStretch(c, 1) self._LOS_NLOS_range = Range(0, 1, 1, 1, 200) self._LOS_NLOS_win = RangeWidget(self._LOS_NLOS_range, self.set_LOS_NLOS, 'LOS_NLOS', "counter_slider", int) self.params_grid_layout_2.addWidget(self._LOS_NLOS_win, 0, 0, 1, 1) @@ -605,6 +605,7 @@ class qam_fading_block(gr.top_block, Qt.QWidget): def set_sps(self, sps): self.sps = sps + self.set_fading_1(self.sps) self.set_rrc_taps(firdes.root_raised_cosine(self.nfilts, self.nfilts, 1.0/float(self.sps), self.excess_bw, 45*self.nfilts)) def get_nfilts(self): diff --git a/simulation/QAM_Fading/qam_fading_frequency_selectiv_copy.grc b/simulation/QAM_Fading/qam_fading_frequency_selectiv_copy.grc index 18f7893..a960ec8 100644 --- a/simulation/QAM_Fading/qam_fading_frequency_selectiv_copy.grc +++ b/simulation/QAM_Fading/qam_fading_frequency_selectiv_copy.grc @@ -464,7 +464,7 @@ blocks: mags: (1,0.2) maxoutbuf: '0' minoutbuf: '0' - ntaps: '1' + ntaps: '2' seed: '0' states: bus_sink: false -- cgit v1.2.1