aboutsummaryrefslogtreecommitdiffstats
path: root/simulation/QAM
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--simulation/QAM/QAM16_Simulation.pngbin0 -> 75755 bytes
-rw-r--r--simulation/QAM/qam.grc6
-rwxr-xr-xsimulation/QAM/qam.py6
-rw-r--r--simulation/QAM_Fading/BPSK_2021-11-10_15-49-16.pngbin0 -> 89114 bytes
-rw-r--r--simulation/QAM_Fading/qam_fading.grc2
-rwxr-xr-xsimulation/QAM_Fading/qam_fading.py11
6 files changed, 13 insertions, 12 deletions
diff --git a/simulation/QAM/QAM16_Simulation.png b/simulation/QAM/QAM16_Simulation.png
new file mode 100644
index 0000000..1342db4
--- /dev/null
+++ b/simulation/QAM/QAM16_Simulation.png
Binary files differ
diff --git a/simulation/QAM/qam.grc b/simulation/QAM/qam.grc
index ebbb7dc..d74a8fb 100644
--- a/simulation/QAM/qam.grc
+++ b/simulation/QAM/qam.grc
@@ -54,7 +54,7 @@ blocks:
rot_sym: '4'
soft_dec_lut: None
sym_map: '[0, 1, 3, 2]'
- type: 16qam
+ type: 8psk
states:
bus_sink: false
bus_source: false
@@ -463,7 +463,7 @@ blocks:
affinity: ''
alias: ''
comment: ''
- constellation: qam_const
+ constellation: const
maxoutbuf: '0'
minoutbuf: '0'
states:
@@ -479,7 +479,7 @@ blocks:
affinity: ''
alias: ''
comment: ''
- constellation: qam_const
+ constellation: const
differential: 'True'
excess_bw: excess_bw
log: 'False'
diff --git a/simulation/QAM/qam.py b/simulation/QAM/qam.py
index 2b64847..8977787 100755
--- a/simulation/QAM/qam.py
+++ b/simulation/QAM/qam.py
@@ -90,7 +90,7 @@ class qam(gr.top_block, Qt.QWidget):
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.const = const = digital.constellation_8psk().base()
self.chn_taps = chn_taps = [1.0 + 0.0j, ]
##################################################
@@ -443,14 +443,14 @@ class qam(gr.top_block, Qt.QWidget):
self.digital_diff_decoder_bb_0 = digital.diff_decoder_bb(4)
self.digital_costas_loop_cc_0 = digital.costas_loop_cc(phase_bw, 4, False)
self.digital_constellation_modulator_0 = digital.generic_mod(
- constellation=qam_const,
+ constellation=const,
differential=True,
samples_per_symbol=sps,
pre_diff_code=True,
excess_bw=excess_bw,
verbose=False,
log=False)
- self.digital_constellation_decoder_cb_0 = digital.constellation_decoder_cb(qam_const)
+ self.digital_constellation_decoder_cb_0 = digital.constellation_decoder_cb(const)
self.digital_cma_equalizer_cc_0 = digital.cma_equalizer_cc(eq_ntaps, eq_mod, eq_gain, 2)
self.channels_channel_model_0 = channels.channel_model(
noise_voltage=noise_volt,
diff --git a/simulation/QAM_Fading/BPSK_2021-11-10_15-49-16.png b/simulation/QAM_Fading/BPSK_2021-11-10_15-49-16.png
new file mode 100644
index 0000000..6ae117d
--- /dev/null
+++ b/simulation/QAM_Fading/BPSK_2021-11-10_15-49-16.png
Binary files differ
diff --git a/simulation/QAM_Fading/qam_fading.grc b/simulation/QAM_Fading/qam_fading.grc
index 6986876..082e688 100644
--- a/simulation/QAM_Fading/qam_fading.grc
+++ b/simulation/QAM_Fading/qam_fading.grc
@@ -467,7 +467,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [928, 332.0]
+ coordinate: [960, 332.0]
rotation: 0
state: true
- name: digital_cma_equalizer_cc_0
diff --git a/simulation/QAM_Fading/qam_fading.py b/simulation/QAM_Fading/qam_fading.py
index 9b682e9..7a7ab84 100755
--- a/simulation/QAM_Fading/qam_fading.py
+++ b/simulation/QAM_Fading/qam_fading.py
@@ -497,7 +497,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, 4.0, 0, (0.0,0.1,1.3), (1,0.99,0.97), 8 )
+ self.channels_fading_model_0 = channels.fading_model( 8, 10.0/samp_rate, False, 4.0, 0 )
self.channels_channel_model_0 = channels.channel_model(
noise_voltage=noise_volt,
frequency_offset=freq_offset,
@@ -532,13 +532,13 @@ class qam_fading(gr.top_block, Qt.QWidget):
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.channels_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.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.channels_fading_model_0, 0), (self.digital_pfb_clock_sync_xxx_0, 0))
+ self.connect((self.channels_fading_model_0, 0), (self.qtgui_const_sink_x_0, 0))
+ self.connect((self.channels_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))
@@ -607,6 +607,7 @@ class qam_fading(gr.top_block, Qt.QWidget):
def set_samp_rate(self, samp_rate):
self.samp_rate = samp_rate
self.blocks_throttle_0.set_sample_rate(self.samp_rate)
+ self.channels_fading_model_0.set_fDTs(10.0/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)