def test001_module_load(self): data = (0, 8, 36, 72, 100, 152, 228, 316, 404, 528) src = blocks.vector_source_s(data) enc = vocoder.g723_40_encode_sb() dec = vocoder.g723_40_decode_bs() snk = blocks.vector_sink_s() self.tb.connect(src, enc, dec, snk) self.tb.run() actual_result = snk.data() self.assertEqual(data, actual_result)
def test001_module_load (self): data = (0,8,36,72,100,152,228,316,404,528) src = blocks.vector_source_s(data) enc = vocoder.g723_40_encode_sb() dec = vocoder.g723_40_decode_bs() snk = blocks.vector_sink_s() self.tb.connect(src, enc, dec, snk) self.tb.run() actual_result = snk.data() self.assertEqual(data, actual_result)
def build_graph(): tb = gr.top_block() src = audio.source(8000) src_scale = gr.multiply_const_ff(32767) f2s = gr.float_to_short () enc = vocoder.g723_40_encode_sb() dec = vocoder.g723_40_decode_bs() s2f = gr.short_to_float () sink_scale = gr.multiply_const_ff(1.0/32767.) sink = audio.sink(8000) tb.connect(src, src_scale, f2s, enc, dec, s2f, sink_scale, sink) return tb
def build_graph(): tb = gr.top_block() src = audio.source(8000) src_scale = blocks.multiply_const_ff(32767) f2s = blocks.float_to_short() enc = vocoder.g723_40_encode_sb() dec = vocoder.g723_40_decode_bs() s2f = blocks.short_to_float() sink_scale = blocks.multiply_const_ff(1.0 / 32767.) sink = audio.sink(8000) tb.connect(src, src_scale, f2s, enc, dec, s2f, sink_scale, sink) return tb
def __init__(self): grc_wxgui.top_block_gui.__init__(self, title="Top Block") _icon_path = "/usr/share/icons/hicolor/32x32/apps/gnuradio-grc.png" self.SetIcon(wx.Icon(_icon_path, wx.BITMAP_TYPE_ANY)) ################################################## # Variables ################################################## self.variable_slider_2 = variable_slider_2 = 0 self.variable_slider_0 = variable_slider_0 = 50000 self.samp_rate = samp_rate = 32000 ################################################## # Blocks ################################################## _variable_slider_2_sizer = wx.BoxSizer(wx.VERTICAL) self._variable_slider_2_text_box = forms.text_box( parent=self.GetWin(), sizer=_variable_slider_2_sizer, value=self.variable_slider_2, callback=self.set_variable_slider_2, label="label_variable_slider_0 NOise amplitude", converter=forms.float_converter(), proportion=0, ) self._variable_slider_2_slider = forms.slider( parent=self.GetWin(), sizer=_variable_slider_2_sizer, value=self.variable_slider_2, callback=self.set_variable_slider_2, minimum=0, maximum=1, num_steps=100, style=wx.SL_HORIZONTAL, cast=float, proportion=1, ) self.Add(_variable_slider_2_sizer) _variable_slider_0_sizer = wx.BoxSizer(wx.VERTICAL) self._variable_slider_0_text_box = forms.text_box( parent=self.GetWin(), sizer=_variable_slider_0_sizer, value=self.variable_slider_0, callback=self.set_variable_slider_0, label="label_variable_slider_MULITIPLICACION_VOZ", converter=forms.float_converter(), proportion=0, ) self._variable_slider_0_slider = forms.slider( parent=self.GetWin(), sizer=_variable_slider_0_sizer, value=self.variable_slider_0, callback=self.set_variable_slider_0, minimum=0, maximum=1e6, num_steps=100, style=wx.SL_HORIZONTAL, cast=float, proportion=1, ) self.Add(_variable_slider_0_sizer) self.wxgui_constellationsink2_0 = constsink_gl.const_sink_c( self.GetWin(), title="Constellation Plot", sample_rate=samp_rate, frame_rate=256, const_size=4, M=2, theta=0, loop_bw=6.28 / 100.0, fmax=0.06, mu=0.5, gain_mu=0.005, symbol_rate=samp_rate / 4., omega_limit=0.005, ) self.Add(self.wxgui_constellationsink2_0.win) self.vocoder_g723_40_encode_sb_0 = vocoder.g723_40_encode_sb() self.digital_qam_mod_0 = digital.qam.qam_mod( constellation_points=4, mod_code="gray", differential=True, samples_per_symbol=256, excess_bw=0.35, verbose=False, log=False, ) self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vff( (variable_slider_0, )) self.blocks_float_to_short_0 = blocks.float_to_short(1, 1) self.blocks_add_xx_0 = blocks.add_vcc(1) self.audio_source_0 = audio.source(samp_rate, "", True) self.analog_noise_source_x_0 = analog.noise_source_c( analog.GR_GAUSSIAN, variable_slider_2, 0) ################################################## # Connections ################################################## self.connect((self.blocks_multiply_const_vxx_0, 0), (self.blocks_float_to_short_0, 0)) self.connect((self.analog_noise_source_x_0, 0), (self.blocks_add_xx_0, 1)) self.connect((self.blocks_add_xx_0, 0), (self.wxgui_constellationsink2_0, 0)) self.connect((self.blocks_float_to_short_0, 0), (self.vocoder_g723_40_encode_sb_0, 0)) self.connect((self.audio_source_0, 0), (self.blocks_multiply_const_vxx_0, 0)) self.connect((self.vocoder_g723_40_encode_sb_0, 0), (self.digital_qam_mod_0, 0)) self.connect((self.digital_qam_mod_0, 0), (self.blocks_add_xx_0, 0))
def __init__(self): grc_wxgui.top_block_gui.__init__(self, title="Top Block") _icon_path = "/usr/share/icons/hicolor/32x32/apps/gnuradio-grc.png" self.SetIcon(wx.Icon(_icon_path, wx.BITMAP_TYPE_ANY)) ################################################## # Variables ################################################## self.variable_slider_2 = variable_slider_2 = 0 self.variable_slider_0 = variable_slider_0 = 50000 self.samp_rate = samp_rate = 32000 ################################################## # Blocks ################################################## _variable_slider_2_sizer = wx.BoxSizer(wx.VERTICAL) self._variable_slider_2_text_box = forms.text_box( parent=self.GetWin(), sizer=_variable_slider_2_sizer, value=self.variable_slider_2, callback=self.set_variable_slider_2, label="label_variable_slider_0 NOise amplitude", converter=forms.float_converter(), proportion=0, ) self._variable_slider_2_slider = forms.slider( parent=self.GetWin(), sizer=_variable_slider_2_sizer, value=self.variable_slider_2, callback=self.set_variable_slider_2, minimum=0, maximum=1, num_steps=100, style=wx.SL_HORIZONTAL, cast=float, proportion=1, ) self.Add(_variable_slider_2_sizer) _variable_slider_0_sizer = wx.BoxSizer(wx.VERTICAL) self._variable_slider_0_text_box = forms.text_box( parent=self.GetWin(), sizer=_variable_slider_0_sizer, value=self.variable_slider_0, callback=self.set_variable_slider_0, label="label_variable_slider_MULITIPLICACION_VOZ", converter=forms.float_converter(), proportion=0, ) self._variable_slider_0_slider = forms.slider( parent=self.GetWin(), sizer=_variable_slider_0_sizer, value=self.variable_slider_0, callback=self.set_variable_slider_0, minimum=0, maximum=1e6, num_steps=100, style=wx.SL_HORIZONTAL, cast=float, proportion=1, ) self.Add(_variable_slider_0_sizer) self.wxgui_constellationsink2_0 = constsink_gl.const_sink_c( self.GetWin(), title="Constellation Plot", sample_rate=samp_rate, frame_rate=256, const_size=4, M=2, theta=0, loop_bw=6.28/100.0, fmax=0.06, mu=0.5, gain_mu=0.005, symbol_rate=samp_rate/4., omega_limit=0.005, ) self.Add(self.wxgui_constellationsink2_0.win) self.vocoder_g723_40_encode_sb_0 = vocoder.g723_40_encode_sb() self.digital_qam_mod_0 = digital.qam.qam_mod( constellation_points=4, mod_code="gray", differential=True, samples_per_symbol=256, excess_bw=0.35, verbose=False, log=False, ) self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vff((variable_slider_0, )) self.blocks_float_to_short_0 = blocks.float_to_short(1, 1) self.blocks_add_xx_0 = blocks.add_vcc(1) self.audio_source_0 = audio.source(samp_rate, "", True) self.analog_noise_source_x_0 = analog.noise_source_c(analog.GR_GAUSSIAN, variable_slider_2, 0) ################################################## # Connections ################################################## self.connect((self.blocks_multiply_const_vxx_0, 0), (self.blocks_float_to_short_0, 0)) self.connect((self.analog_noise_source_x_0, 0), (self.blocks_add_xx_0, 1)) self.connect((self.blocks_add_xx_0, 0), (self.wxgui_constellationsink2_0, 0)) self.connect((self.blocks_float_to_short_0, 0), (self.vocoder_g723_40_encode_sb_0, 0)) self.connect((self.audio_source_0, 0), (self.blocks_multiply_const_vxx_0, 0)) self.connect((self.vocoder_g723_40_encode_sb_0, 0), (self.digital_qam_mod_0, 0)) self.connect((self.digital_qam_mod_0, 0), (self.blocks_add_xx_0, 0))