aboutsummaryrefslogtreecommitdiffstats
path: root/tests/fadingui/QAM
diff options
context:
space:
mode:
authorNao Pross <np@0hm.ch>2021-11-24 20:20:40 +0100
committerNao Pross <np@0hm.ch>2021-11-24 20:20:40 +0100
commitc9e98bbf349dd74dfe3d6ef1a71f91418dfc2eb4 (patch)
tree34c6e832aa949265061ae7cb80a097cf2666695c /tests/fadingui/QAM
parentFir ganzalig implementiert, interpoliert versuch (diff)
downloadFading-c9e98bbf349dd74dfe3d6ef1a71f91418dfc2eb4.tar.gz
Fading-c9e98bbf349dd74dfe3d6ef1a71f91418dfc2eb4.zip
Discussion
Diffstat (limited to '')
-rw-r--r--tests/fadingui/QAM/difftest.py13
-rw-r--r--tests/fadingui/QAM/modulated_nodiff.datbin0 -> 672256 bytes
-rw-r--r--tests/fadingui/QAM/qam_nogui.grc320
-rwxr-xr-xtests/fadingui/QAM/qam_nogui.py95
4 files changed, 249 insertions, 179 deletions
diff --git a/tests/fadingui/QAM/difftest.py b/tests/fadingui/QAM/difftest.py
new file mode 100644
index 0000000..26bd0aa
--- /dev/null
+++ b/tests/fadingui/QAM/difftest.py
@@ -0,0 +1,13 @@
+import matplotlib.pyplot as plt
+import numpy as np
+
+samp_rate = 32e3
+sps = 4
+
+data = np.fromfile("modulated_nodiff.dat", dtype=np.complex64)
+samples = data[:sps*120:sps]
+
+# plt.plot(samples.real, samples.imag, ".-")
+plt.plot(samples.real, ".-")
+plt.plot(samples.imag, ".-")
+plt.show()
diff --git a/tests/fadingui/QAM/modulated_nodiff.dat b/tests/fadingui/QAM/modulated_nodiff.dat
new file mode 100644
index 0000000..9b02b13
--- /dev/null
+++ b/tests/fadingui/QAM/modulated_nodiff.dat
Binary files differ
diff --git a/tests/fadingui/QAM/qam_nogui.grc b/tests/fadingui/QAM/qam_nogui.grc
index 78dc691..5504d3b 100644
--- a/tests/fadingui/QAM/qam_nogui.grc
+++ b/tests/fadingui/QAM/qam_nogui.grc
@@ -1,6 +1,6 @@
options:
parameters:
- author: Pross Naoki, Halter Sara Cinzia
+ author: Pross Naoki
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
@@ -41,7 +41,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [920, 252.0]
+ coordinate: [864, 444.0]
rotation: 0
state: true
- name: const
@@ -54,12 +54,12 @@ blocks:
rot_sym: '4'
soft_dec_lut: None
sym_map: '[0, 1, 3, 2]'
- type: 16qam
+ type: qpsk
states:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [448, 436.0]
+ coordinate: [568, 260.0]
rotation: 0
state: true
- name: eq_gain
@@ -71,7 +71,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1504, 452.0]
+ coordinate: [1488, 444.0]
rotation: 0
state: true
- name: eq_mod
@@ -83,7 +83,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1504, 388.0]
+ coordinate: [1488, 380.0]
rotation: 0
state: true
- name: eq_ntaps
@@ -95,7 +95,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1584, 388.0]
+ coordinate: [1568, 380.0]
rotation: 0
state: true
- name: excess_bw
@@ -107,7 +107,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [536, 268.0]
+ coordinate: [464, 260.0]
rotation: 0
state: true
- name: frame
@@ -116,12 +116,12 @@ blocks:
alias: ''
comment: ''
payload_len: '32768'
- preamble: '[190, 239]'
+ preamble: '[0xc0, 0xff, 0xee]'
states:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [192, 180.0]
+ coordinate: [96, 180.0]
rotation: 0
state: true
- name: freq_offset
@@ -133,7 +133,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1008, 252.0]
+ coordinate: [944, 444.0]
rotation: 0
state: true
- name: nfilts
@@ -145,7 +145,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1184, 476.0]
+ coordinate: [1168, 476.0]
rotation: 0
state: true
- name: noise_volt
@@ -157,19 +157,19 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [920, 188.0]
+ coordinate: [848, 236.0]
rotation: 0
state: true
- name: phase_bw
id: variable
parameters:
comment: ''
- value: '.01'
+ value: '0.02'
states:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1792, 428.0]
+ coordinate: [1776, 428.0]
rotation: 0
state: true
- name: rrc_taps
@@ -181,7 +181,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1264, 476.0]
+ coordinate: [1248, 476.0]
rotation: 0
state: true
- name: samp_rate
@@ -205,7 +205,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [440, 268.0]
+ coordinate: [368, 260.0]
rotation: 0
state: true
- name: time_offset
@@ -217,7 +217,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1008, 188.0]
+ coordinate: [944, 236.0]
rotation: 0
state: true
- name: timing_loop_bw
@@ -229,7 +229,43 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1184, 556.0]
+ coordinate: [1168, 556.0]
+ rotation: 0
+ state: true
+- name: blocks_file_sink_0
+ id: blocks_file_sink
+ parameters:
+ affinity: ''
+ alias: ''
+ append: 'False'
+ comment: ''
+ file: /home/god/Documents/Fading/tests/fadingui/QAM/modulated_nodiff.dat
+ type: complex
+ unbuffered: 'False'
+ vlen: '1'
+ states:
+ bus_sink: false
+ bus_source: false
+ bus_structure: null
+ coordinate: [680, 556.0]
+ rotation: 0
+ state: enabled
+- name: blocks_multiply_xx_0
+ id: blocks_multiply_xx
+ parameters:
+ affinity: ''
+ alias: ''
+ comment: ''
+ maxoutbuf: '0'
+ minoutbuf: '0'
+ num_inputs: '2'
+ type: complex
+ vlen: '1'
+ states:
+ bus_sink: false
+ bus_source: false
+ bus_structure: null
+ coordinate: [2104, 128.0]
rotation: 0
state: true
- name: blocks_null_sink_0
@@ -246,9 +282,25 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [3056, 280.0]
+ coordinate: [3120, 280.0]
rotation: 0
state: true
+- name: blocks_pack_k_bits_bb_0
+ id: blocks_pack_k_bits_bb
+ parameters:
+ affinity: ''
+ alias: ''
+ comment: ''
+ k: '8'
+ maxoutbuf: '0'
+ minoutbuf: '0'
+ states:
+ bus_sink: false
+ bus_source: false
+ bus_structure: null
+ coordinate: [2328, 276.0]
+ rotation: 0
+ state: enabled
- name: blocks_throttle_0
id: blocks_throttle
parameters:
@@ -265,28 +317,29 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [720, 356.0]
+ coordinate: [648, 356.0]
rotation: 0
state: enabled
-- name: blocks_throttle_1
- id: blocks_throttle
+- name: blocks_vector_source_x_0
+ id: blocks_vector_source_x
parameters:
affinity: ''
alias: ''
comment: ''
- ignoretag: 'True'
maxoutbuf: '0'
minoutbuf: '0'
- samples_per_second: samp_rate
+ repeat: 'True'
+ tags: '[]'
type: byte
+ vector: '[0xc0, 0xff, 0xee, 0x00, 0x00]'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1448, 772.0]
+ coordinate: [104, 364.0]
rotation: 0
- state: disabled
+ state: enabled
- name: channels_channel_model_0
id: channels_channel_model
parameters:
@@ -305,9 +358,9 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [920, 316.0]
+ coordinate: [864, 316.0]
rotation: 0
- state: enabled
+ state: bypassed
- name: digital_cma_equalizer_cc_0
id: digital_cma_equalizer_cc
parameters:
@@ -324,7 +377,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1504, 284.0]
+ coordinate: [1488, 284.0]
rotation: 0
state: enabled
- name: digital_constellation_decoder_cb_0
@@ -340,7 +393,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [2152, 276.0]
+ coordinate: [2072, 276.0]
rotation: 0
state: enabled
- name: digital_constellation_modulator_0
@@ -350,7 +403,7 @@ blocks:
alias: ''
comment: ''
constellation: const
- differential: 'True'
+ differential: 'False'
excess_bw: excess_bw
log: 'False'
maxoutbuf: '0'
@@ -361,59 +414,47 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [440, 332.0]
+ coordinate: [368, 332.0]
rotation: 0
state: enabled
-- name: digital_costas_loop_cc_0
- id: digital_costas_loop_cc
+- name: digital_corr_est_cc_0
+ id: digital_corr_est_cc
parameters:
affinity: ''
alias: ''
comment: ''
+ mark_delay: ''
maxoutbuf: '0'
minoutbuf: '0'
- order: '4'
- use_snr: 'False'
- w: phase_bw
+ sps: '1'
+ symbols: ''
+ threshold: '0.9'
+ threshold_method: digital.THRESHOLD_ABSOLUTE
states:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1792, 280.0]
+ coordinate: [1760, 92.0]
rotation: 0
- state: enabled
-- name: digital_diff_decoder_bb_0
- id: digital_diff_decoder_bb
+ state: true
+- name: digital_costas_loop_cc_0
+ id: digital_costas_loop_cc
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
- modulus: '4'
+ order: '4'
+ use_snr: 'False'
+ w: phase_bw
states:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [2408, 276.0]
+ coordinate: [1776, 280.0]
rotation: 0
state: enabled
-- name: digital_map_bb_0
- id: digital_map_bb
- parameters:
- affinity: ''
- alias: ''
- comment: ''
- map: '[0, 1, 3, 2]'
- maxoutbuf: '0'
- minoutbuf: '0'
- states:
- bus_sink: false
- bus_source: false
- bus_structure: null
- coordinate: [2304, 372.0]
- rotation: 0
- state: disabled
- name: digital_pfb_clock_sync_xxx_0
id: digital_pfb_clock_sync_xxx
parameters:
@@ -434,7 +475,7 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [1184, 308.0]
+ coordinate: [1168, 308.0]
rotation: 0
state: enabled
- name: fadingui_datasource_0
@@ -451,40 +492,9 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [144, 284.0]
- rotation: 0
- state: true
-- name: fadingui_dearpygui_sink_0
- id: fadingui_dearpygui_sink
- parameters:
- affinity: ''
- alias: ''
- comment: ''
- sock_addr: udp://localhost:31415
- ui_element_id: '0'
- states:
- bus_sink: false
- bus_source: false
- bus_structure: null
- coordinate: [2096, 180.0]
+ coordinate: [96, 284.0]
rotation: 0
state: disabled
-- name: fadingui_deframer_0
- id: fadingui_deframer
- parameters:
- affinity: ''
- alias: ''
- comment: ''
- frame_obj: frame
- maxoutbuf: '0'
- minoutbuf: '0'
- states:
- bus_sink: false
- bus_source: false
- bus_structure: null
- coordinate: [2728, 276.0]
- rotation: 0
- state: true
- name: fadingui_xor_frame_sync_0
id: fadingui_xor_frame_sync
parameters:
@@ -499,11 +509,11 @@ blocks:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [2512, 364.0]
+ coordinate: [2568, 268.0]
rotation: 0
- state: true
-- name: qtgui_const_sink_x_0
- id: qtgui_const_sink_x
+ state: enabled
+- name: qtgui_time_sink_x_0
+ id: qtgui_time_sink_x
parameters:
affinity: ''
alias: ''
@@ -519,54 +529,59 @@ blocks:
alpha9: '1.0'
autoscale: 'False'
axislabels: 'True'
- color1: '"blue"'
- color10: '"red"'
- color2: '"red"'
- color3: '"red"'
- color4: '"red"'
- color5: '"red"'
- color6: '"red"'
- color7: '"red"'
- color8: '"red"'
- color9: '"red"'
- comment: ''
+ color1: blue
+ color10: dark blue
+ color2: red
+ color3: green
+ color4: black
+ color5: cyan
+ color6: magenta
+ color7: yellow
+ color8: dark red
+ color9: dark green
+ comment: ''
+ ctrlpanel: 'True'
+ entags: 'True'
grid: 'False'
gui_hint: ''
- label1: ''
- label10: ''
- label2: ''
- label3: ''
- label4: ''
- label5: ''
- label6: ''
- label7: ''
- label8: ''
- label9: ''
+ label1: Signal 1
+ label10: Signal 10
+ label2: Signal 2
+ label3: Signal 3
+ label4: Signal 4
+ label5: Signal 5
+ label6: Signal 6
+ label7: Signal 7
+ label8: Signal 8
+ label9: Signal 9
legend: 'True'
- marker1: '0'
- marker10: '0'
- marker2: '0'
- marker3: '0'
- marker4: '0'
- marker5: '0'
- marker6: '0'
- marker7: '0'
- marker8: '0'
- marker9: '0'
+ marker1: '-1'
+ marker10: '-1'
+ marker2: '-1'
+ marker3: '-1'
+ marker4: '-1'
+ marker5: '-1'
+ marker6: '-1'
+ marker7: '-1'
+ marker8: '-1'
+ marker9: '-1'
name: '""'
- nconnections: '3'
+ nconnections: '1'
size: '1024'
- style1: '0'
- style10: '0'
- style2: '0'
- style3: '0'
- style4: '0'
- style5: '0'
- style6: '0'
- style7: '0'
- style8: '0'
- style9: '0'
+ srate: samp_rate
+ stemplot: 'False'
+ style1: '1'
+ style10: '1'
+ style2: '1'
+ style3: '1'
+ style4: '1'
+ style5: '1'
+ style6: '1'
+ style7: '1'
+ style8: '1'
+ style9: '1'
tr_chan: '0'
+ tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
@@ -583,38 +598,33 @@ blocks:
width7: '1'
width8: '1'
width9: '1'
- xmax: '2'
- xmin: '-2'
+ ylabel: Amplitude
ymax: '2'
ymin: '-2'
+ yunit: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
- coordinate: [2040, 32.0]
+ coordinate: [680, 452.0]
rotation: 0
- state: enabled
+ state: true
connections:
+- [blocks_pack_k_bits_bb_0, '0', fadingui_xor_frame_sync_0, '0']
- [blocks_throttle_0, '0', channels_channel_model_0, '0']
-- [blocks_throttle_1, '0', fadingui_xor_frame_sync_0, '0']
+- [blocks_vector_source_x_0, '0', digital_constellation_modulator_0, '0']
- [channels_channel_model_0, '0', digital_pfb_clock_sync_xxx_0, '0']
+- [digital_cma_equalizer_cc_0, '0', digital_corr_est_cc_0, '0']
- [digital_cma_equalizer_cc_0, '0', digital_costas_loop_cc_0, '0']
-- [digital_cma_equalizer_cc_0, '0', qtgui_const_sink_x_0, '1']
-- [digital_constellation_decoder_cb_0, '0', digital_diff_decoder_bb_0, '0']
+- [digital_constellation_decoder_cb_0, '0', blocks_pack_k_bits_bb_0, '0']
+- [digital_constellation_modulator_0, '0', blocks_file_sink_0, '0']
- [digital_constellation_modulator_0, '0', blocks_throttle_0, '0']
+- [digital_constellation_modulator_0, '0', qtgui_time_sink_x_0, '0']
- [digital_costas_loop_cc_0, '0', digital_constellation_decoder_cb_0, '0']
-- [digital_costas_loop_cc_0, '0', fadingui_dearpygui_sink_0, '0']
-- [digital_costas_loop_cc_0, '0', qtgui_const_sink_x_0, '2']
-- [digital_diff_decoder_bb_0, '0', digital_map_bb_0, '0']
-- [digital_diff_decoder_bb_0, '0', fadingui_xor_frame_sync_0, '0']
-- [digital_map_bb_0, '0', fadingui_xor_frame_sync_0, '0']
- [digital_pfb_clock_sync_xxx_0, '0', digital_cma_equalizer_cc_0, '0']
-- [digital_pfb_clock_sync_xxx_0, '0', qtgui_const_sink_x_0, '0']
-- [fadingui_datasource_0, '0', blocks_throttle_1, '0']
- [fadingui_datasource_0, '0', digital_constellation_modulator_0, '0']
-- [fadingui_deframer_0, '0', blocks_null_sink_0, '0']
-- [fadingui_xor_frame_sync_0, '0', fadingui_deframer_0, '0']
+- [fadingui_xor_frame_sync_0, '0', blocks_null_sink_0, '0']
metadata:
file_format: 1
diff --git a/tests/fadingui/QAM/qam_nogui.py b/tests/fadingui/QAM/qam_nogui.py
index 4116db5..26f4680 100755
--- a/tests/fadingui/QAM/qam_nogui.py
+++ b/tests/fadingui/QAM/qam_nogui.py
@@ -6,7 +6,7 @@
#
# GNU Radio Python Flow Graph
# Title: QAM
-# Author: Pross Naoki, Halter Sara Cinzia
+# Author: Pross Naoki
# GNU Radio version: 3.8.2.0
from distutils.version import StrictVersion
@@ -21,14 +21,16 @@ if __name__ == '__main__':
except:
print("Warning: failed to XInitThreads()")
+from PyQt5 import Qt
+from gnuradio import qtgui
+from gnuradio.filter import firdes
+import sip
from gnuradio import blocks
from gnuradio import channels
-from gnuradio.filter import firdes
from gnuradio import digital
from gnuradio import gr
import sys
import signal
-from PyQt5 import Qt
from argparse import ArgumentParser
from gnuradio.eng_arg import eng_float, intx
from gnuradio import eng_notation
@@ -79,28 +81,75 @@ class qam_nogui(gr.top_block, Qt.QWidget):
self.time_offset = time_offset = 1
self.samp_rate = samp_rate = 32000
self.rrc_taps = rrc_taps = firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), excess_bw, 45*nfilts)
- self.phase_bw = phase_bw = .01
+ self.phase_bw = phase_bw = 0.02
self.noise_volt = noise_volt = 0
self.freq_offset = freq_offset = 0
- self.frame = frame = fadingui.frame_obj(preamble=[190, 239], payload_len=32768)
+ self.frame = frame = fadingui.frame_obj(preamble=[0xc0, 0xff, 0xee], payload_len=32768)
self.eq_ntaps = eq_ntaps = 15
self.eq_mod = eq_mod = 1
self.eq_gain = eq_gain = .002
- self.const = const = digital.constellation_16qam().base()
+ self.const = const = digital.constellation_qpsk().base()
self.chn_taps = chn_taps = [1.0 + 0.0j, ]
##################################################
# Blocks
##################################################
+ self.qtgui_time_sink_x_0 = qtgui.time_sink_c(
+ 1024, #size
+ samp_rate, #samp_rate
+ "", #name
+ 1 #number of inputs
+ )
+ self.qtgui_time_sink_x_0.set_update_time(0.10)
+ self.qtgui_time_sink_x_0.set_y_axis(-2, 2)
+
+ self.qtgui_time_sink_x_0.set_y_label('Amplitude', "")
+
+ self.qtgui_time_sink_x_0.enable_tags(True)
+ self.qtgui_time_sink_x_0.set_trigger_mode(qtgui.TRIG_MODE_FREE, qtgui.TRIG_SLOPE_POS, 0.0, 0, 0, "")
+ self.qtgui_time_sink_x_0.enable_autoscale(False)
+ self.qtgui_time_sink_x_0.enable_grid(False)
+ self.qtgui_time_sink_x_0.enable_axis_labels(True)
+ self.qtgui_time_sink_x_0.enable_control_panel(True)
+ self.qtgui_time_sink_x_0.enable_stem_plot(False)
+
+
+ labels = ['Signal 1', 'Signal 2', 'Signal 3', 'Signal 4', 'Signal 5',
+ 'Signal 6', 'Signal 7', 'Signal 8', 'Signal 9', 'Signal 10']
+ 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]
+ styles = [1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1]
+ markers = [-1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1]
+
+
+ for i in range(2):
+ if len(labels[i]) == 0:
+ if (i % 2 == 0):
+ self.qtgui_time_sink_x_0.set_line_label(i, "Re{{Data {0}}}".format(i/2))
+ else:
+ self.qtgui_time_sink_x_0.set_line_label(i, "Im{{Data {0}}}".format(i/2))
+ else:
+ self.qtgui_time_sink_x_0.set_line_label(i, labels[i])
+ self.qtgui_time_sink_x_0.set_line_width(i, widths[i])
+ self.qtgui_time_sink_x_0.set_line_color(i, colors[i])
+ self.qtgui_time_sink_x_0.set_line_style(i, styles[i])
+ self.qtgui_time_sink_x_0.set_line_marker(i, markers[i])
+ self.qtgui_time_sink_x_0.set_line_alpha(i, alphas[i])
+
+ self._qtgui_time_sink_x_0_win = sip.wrapinstance(self.qtgui_time_sink_x_0.pyqwidget(), Qt.QWidget)
+ self.top_grid_layout.addWidget(self._qtgui_time_sink_x_0_win)
self.fadingui_xor_frame_sync_0 = fadingui.xor_frame_sync(sync_pattern=frame.preamble, buffer_size=frame.length * 5)
- self.fadingui_deframer_0 = fadingui.deframer(frame_obj=frame)
- self.fadingui_datasource_0 = fadingui.datasource(frame_obj=frame, filename='/home/god/Documents/Fading/tests/fadingui/QAM/lena512color.tiff')
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_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=const,
- differential=True,
+ differential=False,
samples_per_symbol=sps,
pre_diff_code=True,
excess_bw=excess_bw,
@@ -108,32 +157,29 @@ class qam_nogui(gr.top_block, Qt.QWidget):
log=False)
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, 1)
- self.channels_channel_model_0 = channels.channel_model(
- noise_voltage=noise_volt,
- frequency_offset=freq_offset,
- epsilon=time_offset,
- taps=chn_taps,
- noise_seed=0,
- block_tags=False)
+ self.blocks_vector_source_x_0 = blocks.vector_source_b([0xc0, 0xff, 0xee, 0x00, 0x00], True, 1, [])
self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex*1, samp_rate,True)
+ self.blocks_pack_k_bits_bb_0 = blocks.pack_k_bits_bb(8)
self.blocks_null_sink_0 = blocks.null_sink(gr.sizeof_char*1)
+ self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_gr_complex*1, '/home/god/Documents/Fading/tests/fadingui/QAM/modulated_nodiff.dat', False)
+ self.blocks_file_sink_0.set_unbuffered(False)
##################################################
# Connections
##################################################
- self.connect((self.blocks_throttle_0, 0), (self.channels_channel_model_0, 0))
- self.connect((self.channels_channel_model_0, 0), (self.digital_pfb_clock_sync_xxx_0, 0))
+ self.connect((self.blocks_pack_k_bits_bb_0, 0), (self.fadingui_xor_frame_sync_0, 0))
+ self.connect((self.blocks_throttle_0, 0), (self.digital_pfb_clock_sync_xxx_0, 0))
+ self.connect((self.blocks_vector_source_x_0, 0), (self.digital_constellation_modulator_0, 0))
self.connect((self.digital_cma_equalizer_cc_0, 0), (self.digital_costas_loop_cc_0, 0))
- self.connect((self.digital_constellation_decoder_cb_0, 0), (self.digital_diff_decoder_bb_0, 0))
+ self.connect((self.digital_constellation_decoder_cb_0, 0), (self.blocks_pack_k_bits_bb_0, 0))
+ self.connect((self.digital_constellation_modulator_0, 0), (self.blocks_file_sink_0, 0))
self.connect((self.digital_constellation_modulator_0, 0), (self.blocks_throttle_0, 0))
+ self.connect((self.digital_constellation_modulator_0, 0), (self.qtgui_time_sink_x_0, 0))
self.connect((self.digital_costas_loop_cc_0, 0), (self.digital_constellation_decoder_cb_0, 0))
- self.connect((self.digital_diff_decoder_bb_0, 0), (self.fadingui_xor_frame_sync_0, 0))
self.connect((self.digital_pfb_clock_sync_xxx_0, 0), (self.digital_cma_equalizer_cc_0, 0))
- self.connect((self.fadingui_datasource_0, 0), (self.digital_constellation_modulator_0, 0))
- self.connect((self.fadingui_deframer_0, 0), (self.blocks_null_sink_0, 0))
- self.connect((self.fadingui_xor_frame_sync_0, 0), (self.fadingui_deframer_0, 0))
+ self.connect((self.fadingui_xor_frame_sync_0, 0), (self.blocks_null_sink_0, 0))
def closeEvent(self, event):
@@ -182,6 +228,7 @@ class qam_nogui(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.qtgui_time_sink_x_0.set_samp_rate(self.samp_rate)
def get_rrc_taps(self):
return self.rrc_taps