mirror of
https://github.com/brmlab/osmo-tetra.git
synced 2025-08-03 13:23:50 +02:00
shit
This commit is contained in:
parent
0cbb321801
commit
8d0dad6dd0
3 changed files with 15 additions and 23 deletions
|
@ -7,6 +7,7 @@ from gnuradio import gr
|
||||||
from gnuradio.eng_option import eng_option
|
from gnuradio.eng_option import eng_option
|
||||||
from gnuradio.filter import firdes
|
from gnuradio.filter import firdes
|
||||||
from gnuradio.filter import pfb
|
from gnuradio.filter import pfb
|
||||||
|
from os.path import expanduser
|
||||||
import osmosdr
|
import osmosdr
|
||||||
import tetra_demod
|
import tetra_demod
|
||||||
|
|
||||||
|
@ -21,16 +22,15 @@ class top_block(gr.top_block):
|
||||||
self.symbol_rate = symbol_rate = 18000
|
self.symbol_rate = symbol_rate = 18000
|
||||||
self.samp_per_sym = samp_per_sym = 2
|
self.samp_per_sym = samp_per_sym = 2
|
||||||
self.channel_width = channel_width = 25e3
|
self.channel_width = channel_width = 25e3
|
||||||
self.chans = chans = 36*2 # must be multiple of 36
|
self.chans = chans = 36*2 # must be multiple of 36, bacause of resampling
|
||||||
self.sample_rate = sample_rate = chans * channel_width
|
self.sample_rate = sample_rate = chans * channel_width
|
||||||
self.out_samp_rate = out_samp_rate = symbol_rate*samp_per_sym
|
self.out_samp_rate = out_samp_rate = symbol_rate*samp_per_sym
|
||||||
self.offset = offset = -73e3
|
self.fnames = expanduser('~/tetra-tmp/fifo')
|
||||||
self.lowpass = lowpass = 17.5e3
|
|
||||||
self.fnames = '/home/test/tetra-tmp/fifo'
|
|
||||||
|
|
||||||
#### LIST OF DEMODULATED CHANNELS
|
#### LIST OF DEMODULATED CHANNELS
|
||||||
# numbered from leftmost to rightmost
|
# numbered from leftmost to rightmost
|
||||||
self.selected = [ 6,7,8,9,12,13,14,16,17,19,20,21,23,24,26,31,32,33,34,35,38,42,43,44,45,46,47,50,52,53,55,56,61,62,69,70]
|
# self.selected = [ 6,7,8,9,12,13,14,16,17,19,20,21,23,24,26,31,32,33,34,35,38,42,43,44,45,46,47,50,52,53,55,56,61,62,69,70]
|
||||||
|
self.selected = [ 3, 9, 10, 11, 13, 14, 17, 20, 22, 28, ]
|
||||||
|
|
||||||
##################################################
|
##################################################
|
||||||
# Blocks
|
# Blocks
|
||||||
|
@ -40,12 +40,12 @@ class top_block(gr.top_block):
|
||||||
#self.source = osmosdr.source( args="rtl_tcp=radio-tetra.brm:1234")
|
#self.source = osmosdr.source( args="rtl_tcp=radio-tetra.brm:1234")
|
||||||
self.source = osmosdr.source()
|
self.source = osmosdr.source()
|
||||||
self.source.set_sample_rate(sample_rate)
|
self.source.set_sample_rate(sample_rate)
|
||||||
self.source.set_center_freq(424.065e6, 0)
|
self.source.set_center_freq(424.000e6, 0)
|
||||||
self.source.set_freq_corr(0, 0)
|
self.source.set_freq_corr(37, 0)
|
||||||
self.source.set_dc_offset_mode(0, 0)
|
self.source.set_dc_offset_mode(0, 0)
|
||||||
self.source.set_iq_balance_mode(0, 0)
|
self.source.set_iq_balance_mode(0, 0)
|
||||||
self.source.set_gain_mode(0, 0)
|
self.source.set_gain_mode(0, 0)
|
||||||
self.source.set_gain(31, 0)
|
self.source.set_gain(35, 0)
|
||||||
self.source.set_if_gain(20, 0)
|
self.source.set_if_gain(20, 0)
|
||||||
self.source.set_bb_gain(20, 0)
|
self.source.set_bb_gain(20, 0)
|
||||||
self.source.set_antenna("", 0)
|
self.source.set_antenna("", 0)
|
||||||
|
@ -54,33 +54,24 @@ class top_block(gr.top_block):
|
||||||
self.channelizer = pfb.channelizer_ccf(
|
self.channelizer = pfb.channelizer_ccf(
|
||||||
chans,
|
chans,
|
||||||
(),
|
(),
|
||||||
1.0,
|
36./25,
|
||||||
100)
|
100)
|
||||||
|
|
||||||
self.channelizer.set_channel_map((range(chans/2, chans)+range(0,chans/2)))
|
#self.channelizer.set_channel_map((range(chans/2, chans)+range(0,chans/2)))
|
||||||
|
|
||||||
# Generate per-target blocks
|
# Generate per-target blocks
|
||||||
self.sinks = list()
|
self.sinks = list()
|
||||||
self.demods = list()
|
self.demods = list()
|
||||||
self.resamplers = list()
|
sel = 0
|
||||||
sel = 1
|
|
||||||
for i in range(chans):
|
for i in range(chans):
|
||||||
if i in self.selected:
|
if i in self.selected:
|
||||||
self.resamplers.append(filter.rational_resampler_ccc(
|
|
||||||
interpolation=36,
|
|
||||||
decimation=25,
|
|
||||||
taps=None,
|
|
||||||
fractional_bw=None,
|
|
||||||
))
|
|
||||||
|
|
||||||
self.demods.append(tetra_demod.demod())
|
self.demods.append(tetra_demod.demod())
|
||||||
self.sinks.append(blocks.file_sink(gr.sizeof_float, "%s/floats%d" % (self.fnames, sel)))
|
self.sinks.append(blocks.file_sink(gr.sizeof_float, "%s/floats%d" % (self.fnames, sel)))
|
||||||
self.connect((self.channelizer, i), (self.resamplers[i], 0))
|
self.connect((self.channelizer, i), (self.demods[i], 0), (self.sinks[i], 0))
|
||||||
self.connect((self.resamplers[i], 0), (self.demods[i], 0), (self.sinks[i], 0))
|
|
||||||
sel = sel + 1
|
sel = sel + 1
|
||||||
print "Enabled channel %d" % i
|
print "Enabled channel %d" % i
|
||||||
else:
|
else:
|
||||||
self.resamplers.append(None)
|
|
||||||
self.demods.append(None)
|
self.demods.append(None)
|
||||||
self.sinks.append(blocks.null_sink(gr.sizeof_gr_complex*1))
|
self.sinks.append(blocks.null_sink(gr.sizeof_gr_complex*1))
|
||||||
self.connect((self.channelizer, i), (self.sinks[i], 0))
|
self.connect((self.channelizer, i), (self.sinks[i], 0))
|
||||||
|
|
|
@ -45,6 +45,7 @@ class top_block(grc_wxgui.top_block_gui):
|
||||||
self.src = osmosdr.source(options.args)
|
self.src = osmosdr.source(options.args)
|
||||||
self.src.set_center_freq(self.ifreq)
|
self.src.set_center_freq(self.ifreq)
|
||||||
self.src.set_sample_rate(int(options.sample_rate))
|
self.src.set_sample_rate(int(options.sample_rate))
|
||||||
|
self.src.set_freq_corr(36, 0)
|
||||||
|
|
||||||
if self.rfgain is None:
|
if self.rfgain is None:
|
||||||
self.src.set_gain_mode(1)
|
self.src.set_gain_mode(1)
|
||||||
|
@ -160,7 +161,7 @@ class top_block(grc_wxgui.top_block_gui):
|
||||||
callback=set_rfgain,
|
callback=set_rfgain,
|
||||||
minimum=0,
|
minimum=0,
|
||||||
maximum=50,
|
maximum=50,
|
||||||
num_steps=200,
|
num_steps=1000,
|
||||||
style=wx.SL_HORIZONTAL,
|
style=wx.SL_HORIZONTAL,
|
||||||
cast=float,
|
cast=float,
|
||||||
proportion=1,
|
proportion=1,
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
./demod/python/osmosdr-tetra_demod_fft.py -f 393.0880M -g 10 -o /dev/stdout | ./float_to_bits /dev/stdin /dev/stdout | ./tetra-rx /dev/stdin
|
python2 ./demod/python/osmosdr-tetra_demod_fft.py -f 423.750M -g 32 -L 27e3 -o /dev/stdout | ./float_to_bits /dev/stdin /dev/stdout | ./tetra-rx /dev/stdin ../tmp 2>&1 > tetra-rx.log
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue