RDS decoder module for GNU Radio, that decodes multiple stations simultaneously
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

732 lines
15 KiB

options:
parameters:
author: ''
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: ''
description: ''
gen_cmake: 'On'
gen_linking: dynamic
generate_options: hb
hier_block_src_path: '.:'
id: hier_ifft_decoder
max_nouts: '0'
output_language: python
placement: (0,0)
qt_qss_theme: ''
realtime_scheduling: ''
run: 'True'
run_command: '{python} -u {filename}'
run_options: prompt
sizing_mode: fixed
thread_safe_setters: ''
title: ''
window_size: 2000,2000
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [8, 8]
rotation: 0
state: enabled
blocks:
- name: audio_decim
id: variable
parameters:
comment: ''
value: '5'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [646, 3]
rotation: 0
state: enabled
- name: audio_rate
id: variable
parameters:
comment: ''
value: '48000'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [870, 3]
rotation: 0
state: enabled
- name: baseband_rate
id: variable
parameters:
comment: ''
value: audio_rate*audio_decim
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [359, 347]
rotation: 0
state: enabled
- name: bb_decim
id: variable
parameters:
comment: ''
value: '2'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [766, 3]
rotation: 0
state: enabled
- name: chan_rate
id: variable
parameters:
comment: ''
value: audio_rate*audio_decim*bb_decim
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [247, 395]
rotation: 0
state: enabled
- name: chan_rate
id: variable
parameters:
comment: ''
value: int(600e3)
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [335, 419]
rotation: 0
state: disabled
- name: fft19k_len
id: variable
parameters:
comment: ''
value: '2048'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1152, 132]
rotation: 0
state: enabled
- name: analog_wfm_rcv_0_0
id: analog_wfm_rcv
parameters:
affinity: ''
alias: ''
audio_decimation: bb_decim
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
quad_rate: 2*baseband_rate
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [359, 155]
rotation: 0
state: enabled
- name: blocks_complex_to_real_0
id: blocks_complex_to_real
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1128, 240.0]
rotation: 0
state: disabled
- name: blocks_file_sink_0
id: blocks_file_sink
parameters:
affinity: ''
alias: ''
append: 'False'
comment: ''
file: '"/tmp/cr/fm_dec_240k_"+str(cutpoint)'
type: float
unbuffered: 'False'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [718, 355]
rotation: 0
state: disabled
- name: blocks_file_sink_0_0
id: blocks_file_sink
parameters:
affinity: ''
alias: ''
append: 'False'
comment: ''
file: '"/tmp/cr/psk_out_2375_"+str(cutpoint)'
type: float
unbuffered: 'False'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1152, 340.0]
rotation: 0
state: disabled
- name: blocks_file_sink_0_0_0
id: blocks_file_sink
parameters:
affinity: ''
alias: ''
append: 'False'
comment: ''
file: '"/tmp/cr/symbol_combiner_out_"+str(cutpoint)'
type: float
unbuffered: 'False'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1368, 444.0]
rotation: 0
state: disabled
- name: blocks_keep_one_in_n_0
id: blocks_keep_one_in_n
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
n: '2'
type: float
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1376, 360.0]
rotation: 0
state: disabled
- name: blocks_vector_to_stream_0_0_1
id: blocks_vector_to_stream
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
num_items: chan_fft_len
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [31, 139]
rotation: 0
state: enabled
- name: chan_fft_len
id: parameter
parameters:
alias: ''
comment: ''
hide: none
label: ''
short_id: ''
type: intx
value: '512'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [343, 3]
rotation: 0
state: enabled
- name: cutpoint
id: parameter
parameters:
alias: ''
comment: ''
hide: none
label: ''
short_id: ''
type: intx
value: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [408, 76.0]
rotation: 0
state: enabled
- name: digital_binary_slicer_fb_0
id: digital_binary_slicer_fb
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1112, 480.0]
rotation: 180
state: disabled
- name: digital_clock_recovery_mm_xx_0
id: digital_clock_recovery_mm_xx
parameters:
affinity: ''
alias: ''
comment: ''
gain_mu: '0.050'
gain_omega: '0.001'
maxoutbuf: '0'
minoutbuf: '0'
mu: '0.5'
omega: audio_rate / 2375.0
omega_relative_limit: '0.005'
type: complex
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [888, 204.0]
rotation: 0
state: disabled
- name: digital_costas_loop_cc_0
id: digital_costas_loop_cc
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
order: '2'
use_snr: 'False'
w: loop_bw
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [704, 160.0]
rotation: 0
state: disabled
- name: digital_diff_decoder_bb_0
id: digital_diff_decoder_bb
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
modulus: '2'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [920, 476.0]
rotation: 180
state: disabled
- name: fft_len
id: parameter
parameters:
alias: ''
comment: ''
hide: none
label: ''
short_id: ''
type: intx
value: 1024*40
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [247, 3]
rotation: 0
state: enabled
- name: fft_vxx_1_1
id: fft_vxx
parameters:
affinity: ''
alias: ''
comment: ''
fft_size: chan_fft_len
forward: 'False'
maxoutbuf: '0'
minoutbuf: '0'
nthreads: '1'
shift: 'True'
type: complex
window: '[]'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [64, 204.0]
rotation: 180
state: enabled
- name: freq_xlating_fir_filter_xxx_1
id: freq_xlating_fir_filter_xxx
parameters:
affinity: ''
alias: ''
center_freq: 57e3
comment: ''
decim: audio_decim
maxoutbuf: '0'
minoutbuf: '0'
samp_rate: baseband_rate
taps: firdes.low_pass(2500.0,baseband_rate,2.4e3,2e3,firdes.WIN_HAMMING)
type: fcc
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [463, 231]
rotation: 270
state: disabled
- name: log
id: parameter
parameters:
alias: ''
comment: ''
hide: none
label: ''
short_id: ''
type: ''
value: 'False'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1056, 100]
rotation: 0
state: enabled
- name: logpwrfft_x_0
id: logpwrfft_x
parameters:
affinity: ''
alias: ''
average: 'False'
avg_alpha: '1.0'
comment: ''
fft_size: fft19k_len
frame_rate: '30'
maxoutbuf: '0'
minoutbuf: '0'
ref_scale: '2'
sample_rate: baseband_rate
type: float
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1200, 8]
rotation: 0
state: enabled
- name: loop_bw
id: parameter
parameters:
alias: ''
comment: ''
hide: none
label: ''
short_id: ''
type: eng_float
value: 3.14/150.0
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [742, 71]
rotation: 0
state: enabled
- name: multirds_pilot_SNR_0
id: multirds_pilot_SNR
parameters:
affinity: ''
alias: ''
carrier_freq: 19e3
comment: ''
debug: 'False'
fft_len: fft19k_len
gap_width: 4e3
maxoutbuf: '0'
minoutbuf: '0'
msg_adr: '3'
samp_rate: baseband_rate
update_period: '0.4'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1384, 16]
rotation: 0
state: enabled
- name: multirds_rds_decoder_redsea_0
id: multirds_rds_decoder_redsea
parameters:
affinity: ''
alias: ''
comment: ''
debug: 'False'
log: 'False'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1136, 548.0]
rotation: 0
state: disabled
- name: multirds_symbol_combiner_0
id: multirds_symbol_combiner
parameters:
affinity: ''
alias: ''
comment: ''
log: 'False'
maxoutbuf: '0'
min_diff: '0.2'
minoutbuf: '0'
threshold: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1376, 260.0]
rotation: 0
state: disabled
- name: multirds_vector_cutter_0_0
id: multirds_vector_cutter
parameters:
affinity: ''
alias: ''
comment: ''
cutpoint: cutpoint
insize: fft_len
maxoutbuf: '0'
minoutbuf: '0'
outsize: chan_fft_len
pad_out: 'False'
zero_len: num_zeros
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [160, 328.0]
rotation: 0
state: enabled
- name: num_zeros
id: parameter
parameters:
alias: ''
comment: ''
hide: none
label: ''
short_id: ''
type: intx
value: '128'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [159, 467]
rotation: 0
state: enabled
- name: pad_sink_0
id: pad_sink
parameters:
affinity: ''
alias: ''
comment: ''
label: audio
num_streams: '1'
optional: 'True'
type: float
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [600, 100.0]
rotation: 0
state: enabled
- name: pad_sink_0_0
id: pad_sink
parameters:
affinity: ''
alias: ''
comment: ''
label: rds
num_streams: '1'
optional: 'True'
type: message
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1624, 516]
rotation: 0
state: enabled
- name: pad_sink_0_1
id: pad_sink
parameters:
affinity: ''
alias: ''
comment: ''
label: out
num_streams: '1'
optional: 'True'
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [336, 260.0]
rotation: 0
state: enabled
- name: pad_sink_1
id: pad_sink
parameters:
affinity: ''
alias: ''
comment: ''
label: psk_out
num_streams: '1'
optional: 'True'
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [934, 123]
rotation: 0
state: enabled
- name: pad_source_0
id: pad_source
parameters:
affinity: ''
alias: ''
comment: ''
label: in
maxoutbuf: '0'
minoutbuf: '0'
num_streams: '1'
optional: 'False'
type: complex
vlen: fft_len
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 412.0]
rotation: 0
state: enabled
- name: rational_resampler_xxx_0
id: rational_resampler_xxx
parameters:
affinity: ''
alias: ''
comment: firdes.low_pass(1.0,chan_rate,250e3,50e3,firdes.WIN_HAMMING)
decim: int(chan_rate/120000)
fbw: '0'
interp: int(baseband_rate*2/120000)
maxoutbuf: '0'
minoutbuf: '0'
taps: ''
type: ccc
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [184, 92.0]
rotation: 0
state: bypassed
- name: root_raised_cosine_filter_0
id: root_raised_cosine_filter
parameters:
affinity: ''
alias: ''
alpha: '1'
comment: ''
decim: '1'
gain: '1'
interp: '1'
maxoutbuf: '0'
minoutbuf: '0'
ntaps: '100'
samp_rate: audio_rate
sym_rate: '2375'
type: fir_filter_ccf
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [551, 207]
rotation: 90
state: disabled
- name: samp_rate
id: parameter
parameters:
alias: ''
comment: ''
hide: none
label: ''
short_id: ''
type: intx
value: '19200000'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [472, 4.0]
rotation: 0
state: enabled
connections:
- [analog_wfm_rcv_0_0, '0', blocks_file_sink_0, '0']
- [analog_wfm_rcv_0_0, '0', freq_xlating_fir_filter_xxx_1, '0']
- [analog_wfm_rcv_0_0, '0', logpwrfft_x_0, '0']
- [analog_wfm_rcv_0_0, '0', pad_sink_0, '0']
- [blocks_complex_to_real_0, '0', blocks_file_sink_0_0, '0']
- [blocks_complex_to_real_0, '0', blocks_keep_one_in_n_0, '0']
- [blocks_complex_to_real_0, '0', multirds_symbol_combiner_0, '0']
- [blocks_keep_one_in_n_0, '0', blocks_file_sink_0_0_0, '0']
- [blocks_keep_one_in_n_0, '0', digital_binary_slicer_fb_0, '0']
- [blocks_vector_to_stream_0_0_1, '0', rational_resampler_xxx_0, '0']
- [digital_binary_slicer_fb_0, '0', digital_diff_decoder_bb_0, '0']
- [digital_clock_recovery_mm_xx_0, '0', blocks_complex_to_real_0, '0']
- [digital_clock_recovery_mm_xx_0, '0', pad_sink_1, '0']
- [digital_costas_loop_cc_0, '0', digital_clock_recovery_mm_xx_0, '0']
- [digital_diff_decoder_bb_0, '0', multirds_rds_decoder_redsea_0, '0']
- [fft_vxx_1_1, '0', blocks_vector_to_stream_0_0_1, '0']
- [freq_xlating_fir_filter_xxx_1, '0', root_raised_cosine_filter_0, '0']
- [logpwrfft_x_0, '0', multirds_pilot_SNR_0, '0']
- [multirds_pilot_SNR_0, out, pad_sink_0_0, in]
- [multirds_vector_cutter_0_0, '0', fft_vxx_1_1, '0']
- [pad_source_0, '0', multirds_vector_cutter_0_0, '0']
- [rational_resampler_xxx_0, '0', analog_wfm_rcv_0_0, '0']
- [rational_resampler_xxx_0, '0', pad_sink_0_1, '0']
- [root_raised_cosine_filter_0, '0', digital_costas_loop_cc_0, '0']
metadata:
file_format: 1