Exemplo n.º 1
0
	def __init__(self, center_freq, offset_freq, decimate_am=1, play_audio=False):
		"""Configure the RTL-SDR and GNU Radio"""
		super(rtlsdr_am_stream, self).__init__()
		
		audio_rate = 44100
		device_rate = audio_rate * 25
		output_rate = audio_rate / float(decimate_am)
		self.rate = output_rate

		self.osmosdr_source = osmosdr.source("")
		self.osmosdr_source.set_center_freq(freq)
		self.osmosdr_source.set_sample_rate(device_rate)

		taps = firdes.low_pass(1, device_rate, 40000, 5000, firdes.WIN_HAMMING, 6.76)
		self.freq_filter = filter_swig.freq_xlating_fir_filter_ccc(25, taps, -freq_offs, device_rate)

		#self.am_demod_self = blks2.am_demod_cf(
		self.am_demod_self = am_demod.am_demod_cf(
			channel_rate=audio_rate,
			audio_decim=1,
			audio_pass=5000,
			audio_stop=5500,
		)
		self.resampler = rational_resampler.rational_resampler_fff(
			interpolation=1,
			decimation=decimate_am,
		)
		self.sink = gr_queue.queue_sink_f()
		
		self.connect(self.osmosdr_source, self.freq_filter, self.am_demod_self)
		self.connect(self.am_demod_self, self.resampler, self.sink)
		
		if play_audio:
			self.audio_sink = audio.sink(audio_rate, "", True)
			self.connect(self.am_demod_self, self.audio_sink)
Exemplo n.º 2
0
	def __init__(self, center_freq, offset_freq, decimate_am=1, play_audio=False):
		"""Configure the RTL-SDR and GNU Radio"""
		super(rtlsdr_am_stream, self).__init__()
		
		audio_rate = 44100
		device_rate = audio_rate * 25
		output_rate = audio_rate / float(decimate_am)
		self.rate = output_rate

		self.osmosdr_source = osmosdr.source_c("")
		self.osmosdr_source.set_center_freq(freq)
		self.osmosdr_source.set_sample_rate(device_rate)

		taps = firdes.low_pass(1, device_rate, 40000, 5000, firdes.WIN_HAMMING, 6.76)
		self.freq_filter = gr.freq_xlating_fir_filter_ccc(25, taps, -freq_offs, device_rate)

		self.am_demod = blks2.am_demod_cf(
			channel_rate=audio_rate,
			audio_decim=1,
			audio_pass=5000,
			audio_stop=5500,
		)
		self.resampler = blks2.rational_resampler_fff(
			interpolation=1,
			decimation=decimate_am,
		)
		self.sink = gr_queue.queue_sink_f()
		
		self.connect(self.osmosdr_source, self.freq_filter, self.am_demod)
		self.connect(self.am_demod, self.resampler, self.sink)
		
		if play_audio:
			self.audio_sink = audio.sink(audio_rate, "", True)
			self.connect(self.am_demod, self.audio_sink)
    def __init__(self, center_freq, offset_freq, decimate_am=1):
        """Configure the RTL-SDR and GNU Radio"""
        super(rtlsdr_am_stream, self).__init__()
        
        audio_rate = 48000
        device_rate = audio_rate * 25
        output_rate = audio_rate / float(decimate_am)
        self.rate = output_rate
        
#        self.osmosdr_source = osmosdr.source_c("")
	self.osmosdr_source = osmosdr.source("")
        self.osmosdr_source.set_sample_rate(device_rate)
        self.osmosdr_source.set_center_freq(freq)
              
        self.osmosdr_source.set_freq_corr(0, 0)
        #self.osmosdr_source.set_gain_mode(1, 0)
        self.osmosdr_source.set_gain_mode(True, 0)
        self.osmosdr_source.set_gain(20, 0)
                     
        taps = firdes.low_pass(1, device_rate, 40000, 5000, firdes.WIN_HAMMING, 6.76)
        #self.freq_filter = gr.freq_xlating_fir_filter_ccc(25, taps, -freq_offs, device_rate)
        self.freq_filter = filter.freq_xlating_fir_filter_ccc(25, taps, -freq_offs, device_rate)
    
        self.am_demod = analog.am_demod_cf(
            channel_rate=audio_rate,
            audio_decim=1,
            audio_pass=5000,
            audio_stop=5500,
        )
        
        self.resampler = filter.rational_resampler_fff(
            interpolation=1,
            decimation=decimate_am,
        )
        
        self.sink = gr_queue.queue_sink_f()
    
        self.connect(self.osmosdr_source, self.freq_filter, self.am_demod)
        self.connect(self.am_demod, self.resampler, self.sink)
Exemplo n.º 4
0
    def __init__(self):
        gr.top_block.__init__(self, "Key")

        # super(Key, self).__init__()

        ##################################################
        # Variables
        ##################################################
        self.samp_rate = samp_rate = 2016000  #1920000#2000000
        self.offset_freq_keyboard = offset_freq_keyboard = 27195000
        self.offset_freq = offset_freq = 27175000
        self.center_freq = center_freq = 28000000
        self.target_rate = target_rate = 48000#16000#96000
        self.offset_keyboard = offset_keyboard = offset_freq_keyboard - center_freq
        self.offset = offset = offset_freq - center_freq
        #self.firdes_tap_overall = firdes_tap_overall = firdes.low_pass(1, samp_rate, 50000, 0100, firdes.WIN_HAMMING,
        #                                                               6.76)
        self.firdes_tap_keyboard = firdes_tap_keyboard = firdes.low_pass(1, samp_rate, 20000, 0100,#5000, 5000, #20000, 10000,
                                                                         firdes.WIN_HAMMING,
                                                                         6.76)

        ##################################################
        # Blocks
        ##################################################
        self.osmosdr_source_c_0 = osmosdr.source_c(args="nchan=" + str(1) + " " + "")
        self.osmosdr_source_c_0.set_sample_rate(samp_rate)
        self.osmosdr_source_c_0.set_center_freq(center_freq, 0)
        self.osmosdr_source_c_0.set_freq_corr(0, 0)
        self.osmosdr_source_c_0.set_dc_offset_mode(1, 0)
        self.osmosdr_source_c_0.set_iq_balance_mode(0, 0)
        self.osmosdr_source_c_0.set_gain_mode(0, 0)
        self.osmosdr_source_c_0.set_gain(01, 0)
        self.osmosdr_source_c_0.set_if_gain(20, 0)
        self.osmosdr_source_c_0.set_bb_gain(20, 0)
        self.osmosdr_source_c_0.set_antenna("", 0)
        self.osmosdr_source_c_0.set_bandwidth(0, 0)

        self.low_pass_filter_0 = gr.fir_filter_fff(1, firdes.low_pass(
            1, target_rate, 5e3, 01e3, firdes.WIN_HAMMING, 6.76))
        self.freq_xlating_fir_filter_xxx_0_0 = filter.freq_xlating_fir_filter_ccc(int(samp_rate / target_rate),
                                                                                  (firdes_tap_keyboard),
                                                                                  offset_keyboard, samp_rate)
        self.blocks_wavfile_sink_0 = blocks.wavfile_sink("/root/sdr/keyboard/44.1Ks_27Mf_quad3_keyboard.wav", 1,
                                                         target_rate, 8)

        #ACL
        #self.blocks_file_source_0 = blocks.file_source(gr.sizeof_float * 1, "/root/sdr/keyboard/96k_27M_float", False)
        #self.blocks_file_sink_2 = blocks.file_sink(gr.sizeof_float * 1, "/root/sdr/keyboard/96k_27M_float")
        #self.blocks_file_sink_2.set_unbuffered(False)
        self.sink = gr_queue.queue_sink_f()


        self.analog_simple_squelch_cc_0 = analog.simple_squelch_cc(-5, 1)
        self.analog_quadrature_demod_cf_0 = analog.quadrature_demod_cf(2)


        ##################################################
        # Connections
        ##################################################
        self.connect((self.osmosdr_source_c_0, 0), (self.freq_xlating_fir_filter_xxx_0_0, 0))
        self.connect((self.freq_xlating_fir_filter_xxx_0_0, 0), (self.analog_simple_squelch_cc_0, 0))
        self.connect((self.analog_simple_squelch_cc_0, 0), (self.analog_quadrature_demod_cf_0, 0))
        self.connect((self.analog_quadrature_demod_cf_0, 0), (self.low_pass_filter_0, 0))
        self.connect((self.low_pass_filter_0, 0), (self.blocks_wavfile_sink_0, 0))
        self.connect((self.low_pass_filter_0, 0), self.sink)