Skip to content

Instantly share code, notes, and snippets.

@sam210723
Last active March 20, 2024 19:07
Show Gist options
  • Save sam210723/53c267de81009362bce51b18b1ca8eda to your computer and use it in GitHub Desktop.
Save sam210723/53c267de81009362bce51b18b1ca8eda to your computer and use it in GitHub Desktop.
DMR Demodulator in GNU Radio 3.10
options:
parameters:
author: sam210723
catch_exceptions: 'True'
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: ''
description: ''
gen_cmake: 'On'
gen_linking: dynamic
generate_options: qt_gui
hier_block_src_path: '.:'
id: dmr_demod_lpf_iq
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: DMR Demodulator
window_size: (1000,1000)
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 20.0]
rotation: 0
state: enabled
blocks:
- name: baud
id: variable
parameters:
comment: Symbol rate of 4FSK carrier
value: '4800'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 236.0]
rotation: 0
state: enabled
- name: cutoff
id: variable
parameters:
comment: Cutoff of low-pass filter in Hz
value: 4e3
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 620.0]
rotation: 0
state: enabled
- name: dev
id: variable
parameters:
comment: Deviation in Hz of FM carrier
value: '2749'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 524.0]
rotation: 0
state: enabled
- name: dmr_fsk
id: variable_constellation
parameters:
comment: ''
const_points: '[-1, -0.5, 0.5, 1]'
dims: '1'
normalization: digital.constellation.AMPLITUDE_NORMALIZATION
precision: '8'
rot_sym: '2'
soft_dec_lut: None
sym_map: '[3, 2, 0, 1]'
type: calcdist
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [992, 644.0]
rotation: 0
state: true
- name: frame
id: variable
parameters:
comment: Frame length in symbols
value: 288/2
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 332.0]
rotation: 0
state: enabled
- name: offset
id: variable_qtgui_range
parameters:
comment: ''
gui_hint: 4,0,1,2
label: Frequency Offset (Hz)
min_len: '200'
orient: QtCore.Qt.Horizontal
rangeType: float
start: '-1000'
step: '10'
stop: '1000'
value: '0'
widget: counter_slider
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [360, 20.0]
rotation: 0
state: true
- name: samp_rate
id: variable
parameters:
comment: Sample rate of IQ file
value: '250000'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 140.0]
rotation: 0
state: enabled
- name: sps
id: variable
parameters:
comment: Number of samples per symbol
value: samp_rate/baud
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 428.0]
rotation: 0
state: enabled
- name: analog_agc_xx_0
id: analog_agc_xx
parameters:
affinity: ''
alias: ''
comment: ''
gain: '1.0'
max_gain: '65536'
maxoutbuf: '0'
minoutbuf: '0'
rate: 1e-4
reference: '1.0'
type: complex
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [768, 268.0]
rotation: 0
state: true
- name: analog_quadrature_demod_cf_0
id: analog_quadrature_demod_cf
parameters:
affinity: ''
alias: ''
comment: ''
gain: samp_rate/(2*math.pi*dev)
maxoutbuf: '0'
minoutbuf: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1176, 292.0]
rotation: 0
state: true
- name: blocks_float_to_complex_0
id: blocks_float_to_complex
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [312, 168.0]
rotation: 180
state: true
- name: blocks_float_to_complex_1
id: blocks_float_to_complex
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [832, 488.0]
rotation: 0
state: enabled
- name: blocks_null_source_0
id: blocks_null_source
parameters:
affinity: ''
alias: ''
bus_structure_source: '[[0,],]'
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
num_outputs: '1'
type: float
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [672, 520.0]
rotation: 0
state: enabled
- name: blocks_throttle_1
id: blocks_throttle
parameters:
affinity: ''
alias: ''
comment: ''
ignoretag: 'True'
maxoutbuf: '0'
minoutbuf: '0'
samples_per_second: samp_rate
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [312, 292.0]
rotation: 0
state: true
- name: blocks_unpack_k_bits_bb_0
id: blocks_unpack_k_bits_bb
parameters:
affinity: ''
alias: ''
comment: ''
k: '2'
maxoutbuf: '0'
minoutbuf: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1272, 500.0]
rotation: 0
state: enabled
- name: blocks_wavfile_source_0
id: blocks_wavfile_source
parameters:
affinity: ''
alias: ''
comment: ''
file: ''
maxoutbuf: '0'
minoutbuf: '0'
nchan: '2'
repeat: 'True'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [504, 168.0]
rotation: 180
state: true
- name: digital_clock_recovery_mm_xx_0
id: digital_clock_recovery_mm_xx
parameters:
affinity: ''
alias: ''
comment: ''
gain_mu: '0.175'
gain_omega: '0.0065'
maxoutbuf: '0'
minoutbuf: '0'
mu: '0.5'
omega: sps*(1+0.0)
omega_relative_limit: '0.005'
type: float
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [432, 452.0]
rotation: 0
state: enabled
- name: digital_constellation_decoder_cb_0
id: digital_constellation_decoder_cb
parameters:
affinity: ''
alias: ''
comment: ''
constellation: dmr_fsk
maxoutbuf: '0'
minoutbuf: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1024, 500.0]
rotation: 0
state: true
- name: freq_xlating_fft_filter_ccc_0
id: freq_xlating_fft_filter_ccc
parameters:
affinity: ''
alias: ''
center_freq: offset
comment: ''
decim: '1'
maxoutbuf: '0'
minoutbuf: '0'
nthreads: '1'
samp_delay: '0'
samp_rate: samp_rate
taps: '31'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [504, 260.0]
rotation: 0
state: true
- name: low_pass_filter_0
id: low_pass_filter
parameters:
affinity: ''
alias: ''
beta: '6.76'
comment: ''
cutoff_freq: cutoff
decim: '1'
gain: '1'
interp: '1'
maxoutbuf: '0'
minoutbuf: '0'
samp_rate: samp_rate
type: fir_filter_ccf
width: '2000'
win: window.WIN_HAMMING
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [960, 244.0]
rotation: 0
state: enabled
- name: qt_tab
id: qtgui_tab_widget
parameters:
alias: ''
comment: ''
gui_hint: 5,0,10,2
label0: Demodulator
label1: Symbol Recovery
label10: Tab 10
label11: Tab 11
label12: Tab 12
label13: Tab 13
label14: Tab 14
label15: Tab 15
label16: Tab 16
label17: Tab 17
label18: Tab 18
label19: Tab 19
label2: Bit Raster
label3: Tab 3
label4: Tab 4
label5: Tab 5
label6: Tab 6
label7: Tab 7
label8: Tab 8
label9: Tab 9
num_tabs: '3'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [200, 20.0]
rotation: 0
state: true
- name: qtgui_const_sink_x_0
id: qtgui_const_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: '"blue"'
color10: '"red"'
color2: '"red"'
color3: '"red"'
color4: '"red"'
color5: '"red"'
color6: '"red"'
color7: '"red"'
color8: '"red"'
color9: '"red"'
comment: ''
grid: 'True'
gui_hint: qt_tab@1:0,0,1,2
label1: '""'
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
legend: 'False'
marker1: '1'
marker10: '0'
marker2: '0'
marker3: '0'
marker4: '0'
marker5: '0'
marker6: '0'
marker7: '0'
marker8: '0'
marker9: '0'
name: '""'
nconnections: '1'
size: int(frame)
style1: '0'
style10: '0'
style2: '0'
style3: '0'
style4: '0'
style5: '0'
style6: '0'
style7: '0'
style8: '0'
style9: '0'
tr_chan: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: complex
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
xmax: '1.2'
xmin: '-1.2'
ymax: '0.1'
ymin: '-0.1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1024, 564.0]
rotation: 0
state: enabled
- name: qtgui_eye_sink_x_0
id: qtgui_eye_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: blue
color10: blue
color2: blue
color3: blue
color4: blue
color5: blue
color6: blue
color7: blue
color8: blue
color9: blue
comment: ''
ctrlpanel: 'False'
entags: 'True'
grid: 'True'
gui_hint: qt_tab@0:1,0,1,2
label1: Eye Diagram
label10: Signal 10
label2: Signal 2
label3: Signal 3
label4: Signal 4
label5: Signal 5
label6: Signal 6
label7: Signal 7
label8: Signal 8
label9: Signal 9
legend: 'False'
marker1: '-1'
marker10: '-1'
marker2: '-1'
marker3: '-1'
marker4: '-1'
marker5: '-1'
marker6: '-1'
marker7: '-1'
marker8: '-1'
marker9: '-1'
nconnections: '1'
samp_per_symbol: int(sps)
size: int(frame*sps)
srate: samp_rate
style1: '1'
style10: '1'
style2: '1'
style3: '1'
style4: '1'
style5: '1'
style6: '1'
style7: '1'
style8: '1'
style9: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: float
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
ylabel: '""'
ymax: '1.5'
ymin: '-1.5'
yunit: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1384, 364.0]
rotation: 0
state: enabled
- name: qtgui_eye_sink_x_0_0
id: qtgui_eye_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: blue
color10: blue
color2: blue
color3: blue
color4: blue
color5: blue
color6: blue
color7: blue
color8: blue
color9: blue
comment: ''
ctrlpanel: 'False'
entags: 'False'
grid: 'True'
gui_hint: qt_tab@1:1,0,5,2
label1: Eye Diagram
label10: Signal 10
label2: Signal 2
label3: Signal 3
label4: Signal 4
label5: Signal 5
label6: Signal 6
label7: Signal 7
label8: Signal 8
label9: Signal 9
legend: 'False'
marker1: '-1'
marker10: '-1'
marker2: '-1'
marker3: '-1'
marker4: '-1'
marker5: '-1'
marker6: '-1'
marker7: '-1'
marker8: '-1'
marker9: '-1'
nconnections: '1'
samp_per_symbol: '1'
size: int(frame*2)
srate: baud
style1: '1'
style10: '1'
style2: '1'
style3: '1'
style4: '1'
style5: '1'
style6: '1'
style7: '1'
style8: '1'
style9: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: float
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
ylabel: '""'
ymax: '1.2'
ymin: '-1.2'
yunit: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [672, 572.0]
rotation: 0
state: enabled
- name: qtgui_freq_sink_x_0
id: qtgui_freq_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
average: '0.2'
axislabels: 'False'
bw: samp_rate/4
color1: '"blue"'
color10: '"dark blue"'
color2: '"red"'
color3: '"green"'
color4: '"black"'
color5: '"cyan"'
color6: '"magenta"'
color7: '"yellow"'
color8: '"dark red"'
color9: '"dark green"'
comment: ''
ctrlpanel: 'False'
fc: '0'
fftsize: '2048'
freqhalf: 'True'
grid: 'True'
gui_hint: 0,0,4,2
label: '""'
label1: '""'
label10: ''''''
label2: '""'
label3: ''''''
label4: ''''''
label5: ''''''
label6: ''''''
label7: ''''''
label8: ''''''
label9: ''''''
legend: 'False'
maxoutbuf: '0'
minoutbuf: '0'
name: '""'
nconnections: '2'
norm_window: 'False'
showports: 'False'
tr_chan: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_tag: '""'
type: complex
units: '""'
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
wintype: window.WIN_BLACKMAN_hARRIS
ymax: '-25'
ymin: '-75'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1384, 100.0]
rotation: 0
state: true
- name: qtgui_time_raster_sink_x_0
id: qtgui_time_raster_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
axislabels: 'False'
color1: '1'
color10: '0'
color2: '0'
color3: '0'
color4: '0'
color5: '0'
color6: '0'
color7: '0'
color8: '0'
color9: '0'
comment: ''
grid: 'False'
gui_hint: qt_tab@2:0,0,1,1
label1: ''
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
mult: '[]'
name: '""'
ncols: int(frame*4)
nconnections: '1'
nrows: '128'
offset: '[]'
samp_rate: baud*2
type: byte
update_time: '0.10'
x_end_value: '0.0'
x_label: '""'
x_start_value: '0.0'
y_end_value: '0.0'
y_label: '""'
y_start_value: '0.0'
zmax: '1'
zmin: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1448, 484.0]
rotation: 0
state: true
- name: qtgui_time_sink_x_0
id: qtgui_time_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: blue
color10: dark blue
color2: red
color3: green
color4: black
color5: cyan
color6: magenta
color7: yellow
color8: dark red
color9: dark green
comment: ''
ctrlpanel: 'False'
entags: 'True'
grid: 'True'
gui_hint: qt_tab@0:0,0,1,2
label1: '""'
label10: Signal 10
label2: Signal 2
label3: Signal 3
label4: Signal 4
label5: Signal 5
label6: Signal 6
label7: Signal 7
label8: Signal 8
label9: Signal 9
legend: 'False'
marker1: '-1'
marker10: '-1'
marker2: '-1'
marker3: '-1'
marker4: '-1'
marker5: '-1'
marker6: '-1'
marker7: '-1'
marker8: '-1'
marker9: '-1'
name: '""'
nconnections: '1'
size: int(frame*sps)
srate: samp_rate
stemplot: 'False'
style1: '1'
style10: '1'
style2: '1'
style3: '1'
style4: '1'
style5: '1'
style6: '1'
style7: '1'
style8: '1'
style9: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: float
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
ylabel: '""'
ymax: '1.5'
ymin: '-1.5'
yunit: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1384, 276.0]
rotation: 0
state: enabled
- name: qtgui_time_sink_x_0_0
id: qtgui_time_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: blue
color10: dark blue
color2: red
color3: green
color4: black
color5: cyan
color6: magenta
color7: yellow
color8: dark red
color9: dark green
comment: ''
ctrlpanel: 'False'
entags: 'True'
grid: 'True'
gui_hint: qt_tab@1:0,0,1,2
label1: '""'
label10: Signal 10
label2: Signal 2
label3: Signal 3
label4: Signal 4
label5: Signal 5
label6: Signal 6
label7: Signal 7
label8: Signal 8
label9: Signal 9
legend: 'False'
marker1: '0'
marker10: '-1'
marker2: '-1'
marker3: '-1'
marker4: '-1'
marker5: '-1'
marker6: '-1'
marker7: '-1'
marker8: '-1'
marker9: '-1'
name: '""'
nconnections: '1'
size: int(frame)
srate: baud
stemplot: 'False'
style1: '0'
style10: '1'
style2: '1'
style3: '1'
style4: '1'
style5: '1'
style6: '1'
style7: '1'
style8: '1'
style9: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: float
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
ylabel: '""'
ymax: '2'
ymin: '-2'
yunit: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [672, 676.0]
rotation: 0
state: disabled
- name: rational_resampler_xxx_0
id: rational_resampler_xxx
parameters:
affinity: ''
alias: ''
comment: ''
decim: '4'
fbw: '0'
interp: '1'
maxoutbuf: '0'
minoutbuf: '0'
taps: '[]'
type: ccc
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1176, 132.0]
rotation: 0
state: true
- name: rational_resampler_xxx_0_0
id: rational_resampler_xxx
parameters:
affinity: ''
alias: ''
comment: ''
decim: '4'
fbw: '0'
interp: '1'
maxoutbuf: '0'
minoutbuf: '0'
taps: '[]'
type: ccc
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [960, 76.0]
rotation: 0
state: true
- name: virtual_sink_0
id: virtual_sink
parameters:
alias: ''
comment: ''
stream_id: demod
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1192, 236.0]
rotation: 180
state: true
- name: virtual_source_0
id: virtual_source
parameters:
alias: ''
comment: ''
stream_id: demod
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [232, 484.0]
rotation: 0
state: true
connections:
- [analog_agc_xx_0, '0', low_pass_filter_0, '0']
- [analog_agc_xx_0, '0', rational_resampler_xxx_0_0, '0']
- [analog_quadrature_demod_cf_0, '0', qtgui_eye_sink_x_0, '0']
- [analog_quadrature_demod_cf_0, '0', qtgui_time_sink_x_0, '0']
- [analog_quadrature_demod_cf_0, '0', virtual_sink_0, '0']
- [blocks_float_to_complex_0, '0', blocks_throttle_1, '0']
- [blocks_float_to_complex_1, '0', digital_constellation_decoder_cb_0, '0']
- [blocks_float_to_complex_1, '0', qtgui_const_sink_x_0, '0']
- [blocks_null_source_0, '0', blocks_float_to_complex_1, '1']
- [blocks_throttle_1, '0', freq_xlating_fft_filter_ccc_0, '0']
- [blocks_unpack_k_bits_bb_0, '0', qtgui_time_raster_sink_x_0, '0']
- [blocks_wavfile_source_0, '0', blocks_float_to_complex_0, '0']
- [blocks_wavfile_source_0, '1', blocks_float_to_complex_0, '1']
- [digital_clock_recovery_mm_xx_0, '0', blocks_float_to_complex_1, '0']
- [digital_clock_recovery_mm_xx_0, '0', qtgui_eye_sink_x_0_0, '0']
- [digital_clock_recovery_mm_xx_0, '0', qtgui_time_sink_x_0_0, '0']
- [digital_constellation_decoder_cb_0, '0', blocks_unpack_k_bits_bb_0, '0']
- [freq_xlating_fft_filter_ccc_0, '0', analog_agc_xx_0, '0']
- [low_pass_filter_0, '0', analog_quadrature_demod_cf_0, '0']
- [low_pass_filter_0, '0', rational_resampler_xxx_0, '0']
- [rational_resampler_xxx_0, '0', qtgui_freq_sink_x_0, '1']
- [rational_resampler_xxx_0_0, '0', qtgui_freq_sink_x_0, '0']
- [virtual_source_0, '0', digital_clock_recovery_mm_xx_0, '0']
metadata:
file_format: 1
options:
parameters:
author: sam210723
catch_exceptions: 'True'
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: ''
description: ''
gen_cmake: 'On'
gen_linking: dynamic
generate_options: qt_gui
hier_block_src_path: '.:'
id: dmr_demod_rrc_iq
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: DMR Demodulator
window_size: (1000,1000)
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 20.0]
rotation: 0
state: enabled
blocks:
- name: baud
id: variable
parameters:
comment: Symbol rate of 4FSK carrier
value: '4800'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 236.0]
rotation: 0
state: enabled
- name: cutoff
id: variable
parameters:
comment: Cutoff of low-pass filter in Hz
value: 4e3
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 620.0]
rotation: 0
state: enabled
- name: dev
id: variable
parameters:
comment: Deviation in Hz of FM carrier
value: 1944*2
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 524.0]
rotation: 0
state: enabled
- name: dmr_fsk
id: variable_constellation
parameters:
comment: ''
const_points: '[-1, -0.5, 0.5, 1]'
dims: '1'
normalization: digital.constellation.AMPLITUDE_NORMALIZATION
precision: '8'
rot_sym: '2'
soft_dec_lut: None
sym_map: '[3, 2, 0, 1]'
type: calcdist
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [992, 644.0]
rotation: 0
state: true
- name: frame
id: variable
parameters:
comment: Frame length in symbols
value: 288/2
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 332.0]
rotation: 0
state: enabled
- name: offset
id: variable_qtgui_range
parameters:
comment: ''
gui_hint: 4,0,1,2
label: Frequency Offset (Hz)
min_len: '200'
orient: QtCore.Qt.Horizontal
rangeType: float
start: '-1000'
step: '10'
stop: '1000'
value: '0'
widget: counter_slider
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [360, 20.0]
rotation: 0
state: enabled
- name: samp_rate
id: variable
parameters:
comment: Sample rate of IQ file
value: '250000'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 140.0]
rotation: 0
state: enabled
- name: sps
id: variable
parameters:
comment: Number of samples per symbol
value: samp_rate/baud
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [16, 428.0]
rotation: 0
state: enabled
- name: analog_agc_xx_0
id: analog_agc_xx
parameters:
affinity: ''
alias: ''
comment: ''
gain: '1.0'
max_gain: '65536'
maxoutbuf: '0'
minoutbuf: '0'
rate: 1e-4
reference: '1.0'
type: complex
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [760, 268.0]
rotation: 0
state: enabled
- name: analog_quadrature_demod_cf_0
id: analog_quadrature_demod_cf
parameters:
affinity: ''
alias: ''
comment: ''
gain: samp_rate/(2*math.pi*dev)
maxoutbuf: '0'
minoutbuf: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1176, 292.0]
rotation: 0
state: true
- name: blocks_float_to_complex_0
id: blocks_float_to_complex
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [312, 168.0]
rotation: 180
state: true
- name: blocks_float_to_complex_1
id: blocks_float_to_complex
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [832, 488.0]
rotation: 0
state: enabled
- name: blocks_null_source_0
id: blocks_null_source
parameters:
affinity: ''
alias: ''
bus_structure_source: '[[0,],]'
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
num_outputs: '1'
type: float
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [672, 520.0]
rotation: 0
state: enabled
- name: blocks_throttle_1
id: blocks_throttle
parameters:
affinity: ''
alias: ''
comment: ''
ignoretag: 'True'
maxoutbuf: '0'
minoutbuf: '0'
samples_per_second: samp_rate
type: complex
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [312, 292.0]
rotation: 0
state: true
- name: blocks_unpack_k_bits_bb_0
id: blocks_unpack_k_bits_bb
parameters:
affinity: ''
alias: ''
comment: ''
k: '2'
maxoutbuf: '0'
minoutbuf: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1272, 500.0]
rotation: 0
state: enabled
- name: blocks_wavfile_source_0
id: blocks_wavfile_source
parameters:
affinity: ''
alias: ''
comment: ''
file: ''
maxoutbuf: '0'
minoutbuf: '0'
nchan: '2'
repeat: 'True'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [504, 168.0]
rotation: 180
state: true
- name: digital_clock_recovery_mm_xx_0
id: digital_clock_recovery_mm_xx
parameters:
affinity: ''
alias: ''
comment: ''
gain_mu: '0.85'
gain_omega: '0.001'
maxoutbuf: '0'
minoutbuf: '0'
mu: '0.5'
omega: sps
omega_relative_limit: '0.005'
type: float
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [432, 452.0]
rotation: 0
state: enabled
- name: digital_constellation_decoder_cb_0
id: digital_constellation_decoder_cb
parameters:
affinity: ''
alias: ''
comment: ''
constellation: dmr_fsk
maxoutbuf: '0'
minoutbuf: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1024, 500.0]
rotation: 0
state: true
- name: freq_xlating_fft_filter_ccc_0
id: freq_xlating_fft_filter_ccc
parameters:
affinity: ''
alias: ''
center_freq: offset
comment: ''
decim: '1'
maxoutbuf: '0'
minoutbuf: '0'
nthreads: '1'
samp_delay: '0'
samp_rate: samp_rate
taps: '512'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [504, 260.0]
rotation: 0
state: true
- name: qt_tab
id: qtgui_tab_widget
parameters:
alias: ''
comment: ''
gui_hint: 5,0,10,2
label0: Demodulator
label1: Symbol Recovery
label10: Tab 10
label11: Tab 11
label12: Tab 12
label13: Tab 13
label14: Tab 14
label15: Tab 15
label16: Tab 16
label17: Tab 17
label18: Tab 18
label19: Tab 19
label2: Bit Raster
label3: Tab 3
label4: Tab 4
label5: Tab 5
label6: Tab 6
label7: Tab 7
label8: Tab 8
label9: Tab 9
num_tabs: '3'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [200, 20.0]
rotation: 0
state: true
- name: qtgui_const_sink_x_0
id: qtgui_const_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: '"blue"'
color10: '"red"'
color2: '"red"'
color3: '"red"'
color4: '"red"'
color5: '"red"'
color6: '"red"'
color7: '"red"'
color8: '"red"'
color9: '"red"'
comment: ''
grid: 'True'
gui_hint: qt_tab@1:0,0,1,2
label1: '""'
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
legend: 'False'
marker1: '1'
marker10: '0'
marker2: '0'
marker3: '0'
marker4: '0'
marker5: '0'
marker6: '0'
marker7: '0'
marker8: '0'
marker9: '0'
name: '""'
nconnections: '1'
size: int(frame)
style1: '0'
style10: '0'
style2: '0'
style3: '0'
style4: '0'
style5: '0'
style6: '0'
style7: '0'
style8: '0'
style9: '0'
tr_chan: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: complex
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
xmax: '0.8'
xmin: '-0.8'
ymax: '0.1'
ymin: '-0.1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1024, 564.0]
rotation: 0
state: enabled
- name: qtgui_eye_sink_x_0
id: qtgui_eye_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: blue
color10: blue
color2: blue
color3: blue
color4: blue
color5: blue
color6: blue
color7: blue
color8: blue
color9: blue
comment: ''
ctrlpanel: 'False'
entags: 'True'
grid: 'True'
gui_hint: qt_tab@0:1,0,1,2
label1: Eye Diagram
label10: Signal 10
label2: Signal 2
label3: Signal 3
label4: Signal 4
label5: Signal 5
label6: Signal 6
label7: Signal 7
label8: Signal 8
label9: Signal 9
legend: 'False'
marker1: '-1'
marker10: '-1'
marker2: '-1'
marker3: '-1'
marker4: '-1'
marker5: '-1'
marker6: '-1'
marker7: '-1'
marker8: '-1'
marker9: '-1'
nconnections: '1'
samp_per_symbol: int(sps)
size: int(frame*sps)
srate: samp_rate
style1: '1'
style10: '1'
style2: '1'
style3: '1'
style4: '1'
style5: '1'
style6: '1'
style7: '1'
style8: '1'
style9: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: float
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
ylabel: '""'
ymax: '0.9'
ymin: '-0.9'
yunit: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1384, 364.0]
rotation: 0
state: enabled
- name: qtgui_eye_sink_x_0_0
id: qtgui_eye_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: blue
color10: blue
color2: blue
color3: blue
color4: blue
color5: blue
color6: blue
color7: blue
color8: blue
color9: blue
comment: ''
ctrlpanel: 'False'
entags: 'False'
grid: 'True'
gui_hint: qt_tab@1:1,0,5,2
label1: Eye Diagram
label10: Signal 10
label2: Signal 2
label3: Signal 3
label4: Signal 4
label5: Signal 5
label6: Signal 6
label7: Signal 7
label8: Signal 8
label9: Signal 9
legend: 'False'
marker1: '-1'
marker10: '-1'
marker2: '-1'
marker3: '-1'
marker4: '-1'
marker5: '-1'
marker6: '-1'
marker7: '-1'
marker8: '-1'
marker9: '-1'
nconnections: '1'
samp_per_symbol: '1'
size: int(frame*2)
srate: baud
style1: '1'
style10: '1'
style2: '1'
style3: '1'
style4: '1'
style5: '1'
style6: '1'
style7: '1'
style8: '1'
style9: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: float
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
ylabel: '""'
ymax: '0.8'
ymin: '-0.8'
yunit: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [672, 572.0]
rotation: 0
state: enabled
- name: qtgui_freq_sink_x_0
id: qtgui_freq_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
average: '0.2'
axislabels: 'False'
bw: samp_rate/4
color1: '"blue"'
color10: '"dark blue"'
color2: '"red"'
color3: '"green"'
color4: '"black"'
color5: '"cyan"'
color6: '"magenta"'
color7: '"yellow"'
color8: '"dark red"'
color9: '"dark green"'
comment: ''
ctrlpanel: 'False'
fc: '0'
fftsize: '2048'
freqhalf: 'True'
grid: 'True'
gui_hint: 0,0,4,2
label: '""'
label1: '""'
label10: ''''''
label2: '""'
label3: ''''''
label4: ''''''
label5: ''''''
label6: ''''''
label7: ''''''
label8: ''''''
label9: ''''''
legend: 'False'
maxoutbuf: '0'
minoutbuf: '0'
name: '""'
nconnections: '2'
norm_window: 'False'
showports: 'False'
tr_chan: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_tag: '""'
type: complex
units: '""'
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
wintype: window.WIN_BLACKMAN_hARRIS
ymax: '-25'
ymin: '-75'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1384, 100.0]
rotation: 0
state: true
- name: qtgui_time_raster_sink_x_0
id: qtgui_time_raster_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
axislabels: 'False'
color1: '1'
color10: '0'
color2: '0'
color3: '0'
color4: '0'
color5: '0'
color6: '0'
color7: '0'
color8: '0'
color9: '0'
comment: ''
grid: 'False'
gui_hint: qt_tab@2:0,0,1,1
label1: ''
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
mult: '[]'
name: '""'
ncols: int(frame*4)
nconnections: '1'
nrows: '128'
offset: '[]'
samp_rate: baud*2
type: byte
update_time: '0.10'
x_end_value: '0.0'
x_label: '""'
x_start_value: '0.0'
y_end_value: '0.0'
y_label: '""'
y_start_value: '0.0'
zmax: '1'
zmin: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1448, 484.0]
rotation: 0
state: true
- name: qtgui_time_sink_x_0
id: qtgui_time_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: blue
color10: dark blue
color2: red
color3: green
color4: black
color5: cyan
color6: magenta
color7: yellow
color8: dark red
color9: dark green
comment: ''
ctrlpanel: 'False'
entags: 'True'
grid: 'True'
gui_hint: qt_tab@0:0,0,1,2
label1: '""'
label10: Signal 10
label2: Signal 2
label3: Signal 3
label4: Signal 4
label5: Signal 5
label6: Signal 6
label7: Signal 7
label8: Signal 8
label9: Signal 9
legend: 'False'
marker1: '-1'
marker10: '-1'
marker2: '-1'
marker3: '-1'
marker4: '-1'
marker5: '-1'
marker6: '-1'
marker7: '-1'
marker8: '-1'
marker9: '-1'
name: '""'
nconnections: '1'
size: int(frame*sps)
srate: samp_rate
stemplot: 'False'
style1: '1'
style10: '1'
style2: '1'
style3: '1'
style4: '1'
style5: '1'
style6: '1'
style7: '1'
style8: '1'
style9: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: float
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
ylabel: '""'
ymax: '0.9'
ymin: '-0.9'
yunit: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1384, 276.0]
rotation: 0
state: enabled
- name: qtgui_time_sink_x_0_0
id: qtgui_time_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
axislabels: 'False'
color1: blue
color10: dark blue
color2: red
color3: green
color4: black
color5: cyan
color6: magenta
color7: yellow
color8: dark red
color9: dark green
comment: ''
ctrlpanel: 'False'
entags: 'True'
grid: 'True'
gui_hint: qt_tab@1:0,0,1,2
label1: '""'
label10: Signal 10
label2: Signal 2
label3: Signal 3
label4: Signal 4
label5: Signal 5
label6: Signal 6
label7: Signal 7
label8: Signal 8
label9: Signal 9
legend: 'False'
marker1: '0'
marker10: '-1'
marker2: '-1'
marker3: '-1'
marker4: '-1'
marker5: '-1'
marker6: '-1'
marker7: '-1'
marker8: '-1'
marker9: '-1'
name: '""'
nconnections: '1'
size: int(frame)
srate: baud
stemplot: 'False'
style1: '0'
style10: '1'
style2: '1'
style3: '1'
style4: '1'
style5: '1'
style6: '1'
style7: '1'
style8: '1'
style9: '1'
tr_chan: '0'
tr_delay: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_slope: qtgui.TRIG_SLOPE_POS
tr_tag: '""'
type: float
update_time: '0.01'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
ylabel: '""'
ymax: '2'
ymin: '-2'
yunit: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [672, 676.0]
rotation: 0
state: disabled
- name: rational_resampler_xxx_0
id: rational_resampler_xxx
parameters:
affinity: ''
alias: ''
comment: ''
decim: '4'
fbw: '0'
interp: '1'
maxoutbuf: '0'
minoutbuf: '0'
taps: '[]'
type: ccc
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1176, 132.0]
rotation: 0
state: true
- name: rational_resampler_xxx_0_0
id: rational_resampler_xxx
parameters:
affinity: ''
alias: ''
comment: ''
decim: '4'
fbw: '0'
interp: '1'
maxoutbuf: '0'
minoutbuf: '0'
taps: '[]'
type: ccc
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [960, 76.0]
rotation: 0
state: true
- name: root_raised_cosine_filter_0
id: root_raised_cosine_filter
parameters:
affinity: ''
alias: ''
alpha: '0.5'
comment: ''
decim: '1'
gain: '1'
interp: '1'
maxoutbuf: '0'
minoutbuf: '0'
ntaps: '256'
samp_rate: samp_rate
sym_rate: baud*2
type: fir_filter_ccf
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [944, 252.0]
rotation: 0
state: enabled
- name: virtual_sink_0
id: virtual_sink
parameters:
alias: ''
comment: ''
stream_id: demod
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1192, 236.0]
rotation: 180
state: true
- name: virtual_source_0
id: virtual_source
parameters:
alias: ''
comment: ''
stream_id: demod
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [232, 484.0]
rotation: 0
state: true
connections:
- [analog_agc_xx_0, '0', rational_resampler_xxx_0_0, '0']
- [analog_agc_xx_0, '0', root_raised_cosine_filter_0, '0']
- [analog_quadrature_demod_cf_0, '0', qtgui_eye_sink_x_0, '0']
- [analog_quadrature_demod_cf_0, '0', qtgui_time_sink_x_0, '0']
- [analog_quadrature_demod_cf_0, '0', virtual_sink_0, '0']
- [blocks_float_to_complex_0, '0', blocks_throttle_1, '0']
- [blocks_float_to_complex_1, '0', digital_constellation_decoder_cb_0, '0']
- [blocks_float_to_complex_1, '0', qtgui_const_sink_x_0, '0']
- [blocks_null_source_0, '0', blocks_float_to_complex_1, '1']
- [blocks_throttle_1, '0', freq_xlating_fft_filter_ccc_0, '0']
- [blocks_unpack_k_bits_bb_0, '0', qtgui_time_raster_sink_x_0, '0']
- [blocks_wavfile_source_0, '0', blocks_float_to_complex_0, '0']
- [blocks_wavfile_source_0, '1', blocks_float_to_complex_0, '1']
- [digital_clock_recovery_mm_xx_0, '0', blocks_float_to_complex_1, '0']
- [digital_clock_recovery_mm_xx_0, '0', qtgui_eye_sink_x_0_0, '0']
- [digital_clock_recovery_mm_xx_0, '0', qtgui_time_sink_x_0_0, '0']
- [digital_constellation_decoder_cb_0, '0', blocks_unpack_k_bits_bb_0, '0']
- [freq_xlating_fft_filter_ccc_0, '0', analog_agc_xx_0, '0']
- [rational_resampler_xxx_0, '0', qtgui_freq_sink_x_0, '1']
- [rational_resampler_xxx_0_0, '0', qtgui_freq_sink_x_0, '0']
- [root_raised_cosine_filter_0, '0', analog_quadrature_demod_cf_0, '0']
- [root_raised_cosine_filter_0, '0', rational_resampler_xxx_0, '0']
- [virtual_source_0, '0', digital_clock_recovery_mm_xx_0, '0']
metadata:
file_format: 1
@juantej
Copy link

juantej commented Mar 20, 2024

Hi, im new in gnu radio and i dont know how to use it, im triying to get my own signal from a dmr with my hackrf. I want to implement this receiver but i dont know how to do it. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment