aboutsummaryrefslogtreecommitdiffstats
path: root/simulation/QPSK
diff options
context:
space:
mode:
Diffstat (limited to 'simulation/QPSK')
-rwxr-xr-xsimulation/QPSK/qpks.py25
-rw-r--r--simulation/QPSK/qpsk.grc26
2 files changed, 25 insertions, 26 deletions
diff --git a/simulation/QPSK/qpks.py b/simulation/QPSK/qpks.py
index e436356..11e7004 100755
--- a/simulation/QPSK/qpks.py
+++ b/simulation/QPSK/qpks.py
@@ -77,16 +77,16 @@ class qpks(gr.top_block, Qt.QWidget):
##################################################
self.sps = sps = 4
self.nfilts = nfilts = 32
+ self.excess_bw = excess_bw = 350e-3
self.timing_loop_bw = timing_loop_bw = 2 * 3.141592653589793 / 100
self.time_offset = time_offset = 1.0
self.samp_rate = samp_rate = 32000
- self.rrc_taps = rrc_taps = firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), 0.35, 45*nfilts)
+ self.rrc_taps = rrc_taps = firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), excess_bw, 45*nfilts)
self.qpsk_const = qpsk_const = digital.constellation_rect([0.707+0.707j, -0.707+0.707j, -0.707-0.707j, 0.707-0.707j], [0, 1, 3, 2],
4, 2, 2, 1, 1).base()
self.phase_bw = phase_bw = 2 * 3.141592653589793 / 100
self.noise_volt = noise_volt = 0.0001
self.freq_offset = freq_offset = 0
- self.excess_bw = excess_bw = 350e-3
self.eq_ntaps = eq_ntaps = 15
self.eq_mod = eq_mod = 1
self.eq_gain = eq_gain = .01
@@ -179,14 +179,14 @@ class qpks(gr.top_block, Qt.QWidget):
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(True)
+ 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(False)
self.qtgui_time_sink_x_0.enable_stem_plot(False)
- labels = ['Signal 1', 'Signal 2', 'Signal 3', 'Signal 4', 'Signal 5',
+ labels = ['Received', 'Sent', '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]
@@ -504,14 +504,21 @@ class qpks(gr.top_block, Qt.QWidget):
def set_sps(self, sps):
self.sps = sps
- self.set_rrc_taps(firdes.root_raised_cosine(self.nfilts, self.nfilts, 1.0/float(self.sps), 0.35, 45*self.nfilts))
+ 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):
return self.nfilts
def set_nfilts(self, nfilts):
self.nfilts = nfilts
- self.set_rrc_taps(firdes.root_raised_cosine(self.nfilts, self.nfilts, 1.0/float(self.sps), 0.35, 45*self.nfilts))
+ 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_excess_bw(self):
+ return self.excess_bw
+
+ def set_excess_bw(self, excess_bw):
+ self.excess_bw = excess_bw
+ 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_timing_loop_bw(self):
return self.timing_loop_bw
@@ -570,12 +577,6 @@ class qpks(gr.top_block, Qt.QWidget):
self.freq_offset = freq_offset
self.channels_channel_model_0.set_frequency_offset(self.freq_offset)
- def get_excess_bw(self):
- return self.excess_bw
-
- def set_excess_bw(self, excess_bw):
- self.excess_bw = excess_bw
-
def get_eq_ntaps(self):
return self.eq_ntaps
diff --git a/simulation/QPSK/qpsk.grc b/simulation/QPSK/qpsk.grc
index 11a2e6a..3275e96 100644
--- a/simulation/QPSK/qpsk.grc
+++ b/simulation/QPSK/qpsk.grc
@@ -1,7 +1,6 @@
options:
parameters:
author: Pross Naoki, Halter Sara Cinzia
- catch_exceptions: 'True'
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
@@ -23,6 +22,7 @@ options:
sizing_mode: fixed
thread_safe_setters: ''
title: QPSK
+ window_size: ''
states:
bus_sink: false
bus_source: false
@@ -51,7 +51,7 @@ blocks:
gui_hint: 'params@1: 0,0,1,1'
label: Equalizer Rate
min_len: '200'
- orient: QtCore.Qt.Horizontal
+ orient: Qt.Horizontal
rangeType: float
start: '0'
step: '.001'
@@ -108,7 +108,7 @@ blocks:
gui_hint: 'params@0: 1,0,1,1'
label: Frequency Offset
min_len: '200'
- orient: QtCore.Qt.Horizontal
+ orient: Qt.Horizontal
rangeType: float
start: -100e-3
step: 1e-3
@@ -141,7 +141,7 @@ blocks:
gui_hint: 'params@0: 0,0,1,1'
label: Noise Voltage
min_len: '200'
- orient: QtCore.Qt.Horizontal
+ orient: Qt.Horizontal
rangeType: float
start: '0'
step: '0.01'
@@ -162,7 +162,7 @@ blocks:
gui_hint: 'params@1: 1,0,1,1'
label: Phase Bandwidth
min_len: '200'
- orient: QtCore.Qt.Horizontal
+ orient: Qt.Horizontal
rangeType: float
start: '0'
step: '.01'
@@ -200,7 +200,7 @@ blocks:
id: variable
parameters:
comment: ''
- value: firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), 0.35, 45*nfilts)
+ value: firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), excess_bw, 45*nfilts)
states:
bus_sink: false
bus_source: false
@@ -239,7 +239,7 @@ blocks:
gui_hint: 'params@0: 0,1,1,1'
label: Timing Offset
min_len: '200'
- orient: QtCore.Qt.Horizontal
+ orient: Qt.Horizontal
rangeType: float
start: '0.999'
step: '0.0001'
@@ -260,7 +260,7 @@ blocks:
gui_hint: 'params@0: 1,1,1,1'
label: Time Bandwidth
min_len: '200'
- orient: QtCore.Qt.Horizontal
+ orient: Qt.Horizontal
rangeType: float
start: '0'
step: 10e-3
@@ -467,7 +467,6 @@ blocks:
maxoutbuf: '0'
minoutbuf: '0'
samples_per_symbol: sps
- truncate: 'False'
verbose: 'False'
states:
bus_sink: false
@@ -1037,7 +1036,6 @@ blocks:
minoutbuf: '0'
name: '"Channel"'
nconnections: '1'
- norm_window: 'False'
showports: 'False'
tr_chan: '0'
tr_level: '0.0'
@@ -1056,7 +1054,7 @@ blocks:
width7: '1'
width8: '1'
width9: '1'
- wintype: window.WIN_BLACKMAN_hARRIS
+ wintype: firdes.WIN_BLACKMAN_hARRIS
ymax: '10'
ymin: '-140'
states:
@@ -1081,7 +1079,7 @@ blocks:
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
- autoscale: 'True'
+ autoscale: 'False'
axislabels: 'True'
color1: blue
color10: dark blue
@@ -1098,9 +1096,9 @@ blocks:
entags: 'True'
grid: 'False'
gui_hint: 'plots@2: 0,0,1,1'
- label1: Signal 1
+ label1: Received
label10: Signal 10
- label2: Signal 2
+ label2: Sent
label3: Signal 3
label4: Signal 4
label5: Signal 5