Revision d36e9ce1 gr-qtgui/apps/qt_digital.py

b/gr-qtgui/apps/qt_digital.py
20 20
# Boston, MA 02110-1301, USA.
21 21
# 
22 22

23
from gnuradio import gr, blks2
23
from gnuradio import gr, digital
24 24
from gnuradio import eng_notation
25 25
import sys
26 26

......
60 60
        self.set_time_offset(self.fg.timing_offset())
61 61

62 62
        self.set_gain_mu(self.fg.rx_gain_mu())
63
        self.set_alpha(self.fg.rx_alpha())
63
        self.set_loop_bw(self.fg.loop_bw())
64 64

65 65
        # Add the qtsnk widgets to the hlayout box
66 66
        self.gui.sinkLayout.addWidget(snkTx)
......
146 146
    def set_gain_mu(self, gain):
147 147
        self.gui.gainMuEdit.setText(QtCore.QString("%1").arg(gain))
148 148

149
    def set_alpha(self, alpha):
150
        self.gui.alphaEdit.setText(QtCore.QString("%1").arg(alpha))
149
    def set_loop_bw(self, bw):
150
        self.gui.alphaEdit.setText(QtCore.QString("%1").arg(bw))
151 151

152 152
    def alphaEditText(self):
153 153
        try:
154
            alpha = self.gui.alphaEdit.text().toDouble()[0]
155
            self.fg.set_rx_alpha(alpha)
154
            bw = self.gui.alphaEdit.text().toDouble()[0]
155
            self.fg.set_loop_bw(bw)
156 156
        except RuntimeError:
157 157
            pass
158 158

......
174 174

175 175
        self.sps = 2
176 176
        self.excess_bw = 0.35
177
        self.gray_code = True
177
        self.gray_code = digital.mod_codes.GRAY_CODE
178 178
        
179 179
        fftsize = 2048
180 180

181 181
        self.data = scipy.random.randint(0, 255, 1000)
182 182
        self.src = gr.vector_source_b(self.data.tolist(), True)
183
        self.mod = blks2.dqpsk_mod(self.sps, self.excess_bw, self.gray_code, False, False)
183
        self.mod = digital.dqpsk_mod(self.gray_code,
184
                                     samples_per_symbol=self.sps,
185
                                     excess_bw=self.excess_bw,
186
                                     verbose=False, log=False)
184 187

185 188
        self.rrctaps = gr.firdes.root_raised_cosine(1, self.sps, 1, self.excess_bw, 21)
186 189
        self.rx_rrc = gr.fir_filter_ccf(1, self.rrctaps)
......
194 197
        self.gain_omega = .25 * self.gain_mu * self.gain_mu
195 198
        self.omega_rel_lim = 0.05
196 199
        
197
        self.alpha = 0.15
198
        self.beta  = 0.25 * self.alpha * self.alpha
200
        self._loop_bw = 2*scipy.pi/100.0
199 201
        self.fmin = -1000/self.sample_rate()
200 202
        self.fmax = 1000/self.sample_rate()
201 203
        
202
        self.receiver = gr.mpsk_receiver_cc(self.arity, 0,
203
                                            self.alpha, self.beta,
204
                                            self.fmin, self.fmax,
205
                                            self.mu, self.gain_mu,
206
                                            self.omega, self.gain_omega,
207
                                            self.omega_rel_lim)
204
        self.receiver = digital.mpsk_receiver_cc(self.arity, 0,
205
                                                 self._loop_bw,
206
                                                 self.fmin, self.fmax,
207
                                                 self.mu, self.gain_mu,
208
                                                 self.omega, self.gain_omega,
209
                                                 self.omega_rel_lim)
208 210
        
209 211
        
210 212
        self.snr_dB = 15
......
288 290
        self.receiver.set_gain_mu(self.gain_mu)
289 291
        self.receiver.set_gain_omega(self.gain_omega)
290 292

291
    def rx_alpha(self):
292
        return self.alpha
293

294
    def rx_beta(self):
295
        return self.beta
296
    
297
    def set_rx_alpha(self, alpha):
298
        self.alpha = alpha
299
        self.beta = .25 * self.alpha * self.alpha
300
        self.receiver.set_alpha(self.alpha)
301
        self.receiver.set_beta(self.beta)
293
    def set_loop_bw(self, loop_bw):
294
        self._loop_bw = bw
295
        self.receiver.set_loop_bw(self._loop_bw)
302 296

297
    def loop_bw(self):
298
        return self._loop_bw
303 299
    
304 300
if __name__ == "__main__":
305 301
    tb = my_top_block();

Also available in: Unified diff