最後活躍 1 month ago

修訂 0b7a86817042aae7db2287832690bb9b5fd758a3

record.py 原始檔案
1#!/usr/bin/env python2
2# -*- coding: utf-8 -*-
3##################################################
4# GNU Radio Python Flow Graph
5# Title: Record
6# Generated: Mon Oct 23 23:04:23 2017
7##################################################
8
9from gnuradio import blocks
10from gnuradio import eng_notation
11from gnuradio import gr
12from gnuradio.eng_option import eng_option
13from gnuradio.filter import firdes
14from optparse import OptionParser
15import osmosdr
16import time
17
18
19class record(gr.top_block):
20
21 def __init__(self):
22 gr.top_block.__init__(self, "Record")
23
24 ##################################################
25 # Variables
26 ##################################################
27 self.samp_rate = samp_rate = 16e6
28 self.frequency = frequency = 1686.6e6
29
30 ##################################################
31 # Blocks
32 ##################################################
33 self.osmosdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + '' )
34 self.osmosdr_source_0.set_sample_rate(samp_rate)
35 self.osmosdr_source_0.set_center_freq(frequency, 0)
36 self.osmosdr_source_0.set_freq_corr(0, 0)
37 self.osmosdr_source_0.set_dc_offset_mode(0, 0)
38 self.osmosdr_source_0.set_iq_balance_mode(0, 0)
39 self.osmosdr_source_0.set_gain_mode(False, 0)
40 self.osmosdr_source_0.set_gain(0, 0)
41 self.osmosdr_source_0.set_if_gain(40, 0)
42 self.osmosdr_source_0.set_bb_gain(36, 0)
43 self.osmosdr_source_0.set_antenna('', 0)
44 self.osmosdr_source_0.set_bandwidth(10e6, 0)
45
46 self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vcc((127, ))
47 self.blocks_file_sink_0_0 = blocks.file_sink(gr.sizeof_char*1, 'grb_1686800000_16000000_S8.cfile', False)
48 self.blocks_file_sink_0_0.set_unbuffered(False)
49 self.blocks_complex_to_interleaved_char_0 = blocks.complex_to_interleaved_char(False)
50
51 ##################################################
52 # Connections
53 ##################################################
54 self.connect((self.blocks_complex_to_interleaved_char_0, 0), (self.blocks_file_sink_0_0, 0))
55 self.connect((self.blocks_multiply_const_vxx_0, 0), (self.blocks_complex_to_interleaved_char_0, 0))
56 self.connect((self.osmosdr_source_0, 0), (self.blocks_multiply_const_vxx_0, 0))
57
58 def get_samp_rate(self):
59 return self.samp_rate
60
61 def set_samp_rate(self, samp_rate):
62 self.samp_rate = samp_rate
63 self.osmosdr_source_0.set_sample_rate(self.samp_rate)
64
65 def get_frequency(self):
66 return self.frequency
67
68 def set_frequency(self, frequency):
69 self.frequency = frequency
70 self.osmosdr_source_0.set_center_freq(self.frequency, 0)
71
72
73def main(top_block_cls=record, options=None):
74
75 tb = top_block_cls()
76 tb.start()
77 try:
78 raw_input('Press Enter to quit: ')
79 except EOFError:
80 pass
81 tb.stop()
82 tb.wait()
83
84
85if __name__ == '__main__':
86 main()
87