Skip to content

Instantly share code, notes, and snippets.

@daniestevez
Created November 14, 2022 20:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daniestevez/8b847d665ba6e14678723f2b87971591 to your computer and use it in GitHub Desktop.
Save daniestevez/8b847d665ba6e14678723f2b87971591 to your computer and use it in GitHub Desktop.
Chang'e 5 512 baud demodulator
options:
parameters:
author: Daniel Estevez
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: ce5
max_nouts: '0'
output_language: python
placement: (0,0)
qt_qss_theme: ''
realtime_scheduling: ''
run: 'True'
run_command: '{python} -u {filename}'
run_options: run
sizing_mode: fixed
thread_safe_setters: ''
title: Chang'e 5 telemetry decoder
window_size: ''
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [8, 8]
rotation: 0
state: enabled
blocks:
- name: baudrate
id: variable
parameters:
comment: ''
value: '512'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [664, 12.0]
rotation: 0
state: enabled
- name: decim1
id: variable
parameters:
comment: ''
value: '8'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [304, 12.0]
rotation: 0
state: true
- name: decim2
id: variable
parameters:
comment: ''
value: '32'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [304, 92.0]
rotation: 0
state: true
- name: pll_bw
id: variable
parameters:
comment: ''
value: '100'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [552, 12.0]
rotation: 0
state: true
- name: pll_limit
id: variable
parameters:
comment: ''
value: 20e3
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [544, 92.0]
rotation: 0
state: true
- name: samp_rate
id: variable
parameters:
comment: ''
value: '2000000'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [208, 12.0]
rotation: 0
state: enabled
- name: samp_rate1
id: variable
parameters:
comment: ''
value: samp_rate/decim1
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [408, 12.0]
rotation: 0
state: enabled
- name: samp_rate2
id: variable
parameters:
comment: ''
value: samp_rate1/decim2
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [408, 92.0]
rotation: 0
state: enabled
- name: sps
id: variable
parameters:
comment: ''
value: samp_rate2/baudrate
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [664, 92.0]
rotation: 0
state: enabled
- name: analog_pll_carriertracking_cc_0
id: analog_pll_carriertracking_cc
parameters:
affinity: ''
alias: ''
comment: ''
max_freq: 3*math.pi*pll_limit/samp_rate1
maxoutbuf: '0'
min_freq: -3*math.pi*pll_limit/samp_rate1
minoutbuf: '0'
w: 3*math.pi*pll_bw/samp_rate1
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [264, 596.0]
rotation: 0
state: true
- name: blocks_complex_to_float_0
id: blocks_complex_to_float
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [480, 600.0]
rotation: 0
state: true
- 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: [80, 1272.0]
rotation: 0
state: true
- name: blocks_file_sink_0
id: blocks_file_sink
parameters:
affinity: ''
alias: ''
append: 'False'
comment: ''
file: ce5_frames.u8
type: byte
unbuffered: 'False'
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1024, 1236.0]
rotation: 0
state: enabled
- name: blocks_file_source_0
id: blocks_file_source
parameters:
affinity: ''
alias: ''
begin_tag: pmt.PMT_NIL
comment: ''
file: /tmp/file.wav
length: '0'
maxoutbuf: '0'
minoutbuf: '0'
offset: '0'
repeat: 'False'
type: byte
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [40, 204.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: [336, 192.0]
rotation: 0
state: disabled
- name: blocks_interleaved_char_to_complex_0
id: blocks_interleaved_char_to_complex
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
scale_factor: 2**7
vector_input: 'False'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [192, 208.0]
rotation: 0
state: true
- name: blocks_multiply_const_vxx_0
id: blocks_multiply_const_vxx
parameters:
affinity: ''
alias: ''
comment: ''
const: '-1'
maxoutbuf: '0'
minoutbuf: '0'
type: float
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [336, 1300.0]
rotation: 0
state: true
- name: blocks_null_sink_1
id: blocks_null_sink
parameters:
affinity: ''
alias: ''
bus_structure_sink: '[[0,],]'
comment: ''
num_inputs: '1'
type: float
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [784, 536.0]
rotation: 0
state: true
- name: blocks_wavfile_source_0
id: blocks_wavfile_source
parameters:
affinity: ''
alias: ''
comment: ''
file: /tmp/file.wav
maxoutbuf: '0'
minoutbuf: '0'
nchan: '2'
repeat: 'False'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [48, 104.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: '0.01'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [752, 888.0]
rotation: 0
state: true
- name: digital_symbol_sync_xx_0
id: digital_symbol_sync_xx
parameters:
affinity: ''
alias: ''
comment: ''
constellation: digital.constellation_bpsk().base()
damping: '1.0'
loop_bw: '0.01'
max_dev: '0.01'
maxoutbuf: '0'
minoutbuf: '0'
nfilters: '128'
osps: '1'
pfb_mf_taps: '[]'
resamp_type: digital.IR_MMSE_8TAP
sps: sps
ted_gain: '1.0'
ted_type: digital.TED_GARDNER
type: cc
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [384, 876.0]
rotation: 0
state: true
- name: fir_filter_xxx_0
id: fir_filter_xxx
parameters:
affinity: ''
alias: ''
comment: ''
decim: '1'
maxoutbuf: '0'
minoutbuf: '0'
samp_delay: '0'
taps: '[1/int(sps)]*int(sps)'
type: ccc
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [96, 924.0]
rotation: 0
state: true
- name: freq_xlating_fir_filter_xxx_0
id: freq_xlating_fir_filter_xxx
parameters:
affinity: ''
alias: ''
center_freq: 33e3
comment: ''
decim: decim1
maxoutbuf: '0'
minoutbuf: '0'
samp_rate: samp_rate
taps: firdes.low_pass(1, 1, 0.45/decim1, 0.1/decim1)
type: ccc
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [224, 304.0]
rotation: 0
state: true
- name: freq_xlating_fir_filter_xxx_1
id: freq_xlating_fir_filter_xxx
parameters:
affinity: ''
alias: ''
center_freq: '65536'
comment: ''
decim: decim2
maxoutbuf: '0'
minoutbuf: '0'
samp_rate: samp_rate1
taps: firdes.low_pass(1, samp_rate1, 3.5e3, 500)
type: fcf
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [104, 716.0]
rotation: 0
state: enabled
- name: import_0
id: import
parameters:
alias: ''
comment: ''
imports: import math
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [824, 16.0]
rotation: 0
state: true
- name: pdu_pdu_to_tagged_stream_0
id: pdu_pdu_to_tagged_stream
parameters:
affinity: ''
alias: ''
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
tag: packet_len
type: byte
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [800, 1252.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: 'True'
color1: '"blue"'
color10: '"red"'
color2: '"red"'
color3: '"red"'
color4: '"red"'
color5: '"red"'
color6: '"red"'
color7: '"red"'
color8: '"red"'
color9: '"red"'
comment: ''
grid: 'False'
gui_hint: 1,1,1,1
label1: ''
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
legend: 'False'
marker1: '0'
marker10: '0'
marker2: '0'
marker3: '0'
marker4: '0'
marker5: '0'
marker6: '0'
marker7: '0'
marker8: '0'
marker9: '0'
name: Constellation
nconnections: '1'
size: '1024'
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.10'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
xmax: '2'
xmin: '-2'
ymax: '2'
ymin: '-2'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1072, 900.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.1'
axislabels: 'True'
bw: samp_rate1
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: '4096'
freqhalf: 'True'
grid: 'False'
gui_hint: 0,0,1,1
label: PSD
label1: ''
label10: ''''''
label2: ''''''
label3: ''''''
label4: ''''''
label5: ''''''
label6: ''''''
label7: ''''''
label8: ''''''
label9: ''''''
legend: 'False'
maxoutbuf: '0'
minoutbuf: '0'
name: ''
nconnections: '1'
norm_window: 'False'
showports: 'False'
tr_chan: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_tag: '""'
type: complex
units: dB
update_time: '0.10'
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: '-30'
ymin: '-65'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [856, 208.0]
rotation: 0
state: enabled
- name: qtgui_freq_sink_x_0_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.1'
axislabels: 'True'
bw: samp_rate1
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: '4096'
freqhalf: 'True'
grid: 'False'
gui_hint: 0,1,1,1
label: PDS
label1: In-phase
label10: ''''''
label2: Quadrature
label3: ''''''
label4: ''''''
label5: ''''''
label6: ''''''
label7: ''''''
label8: ''''''
label9: ''''''
legend: 'True'
maxoutbuf: '0'
minoutbuf: '0'
name: PLL output
nconnections: '2'
norm_window: 'False'
showports: 'False'
tr_chan: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_tag: '""'
type: float
units: dB
update_time: '0.10'
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: '-10'
ymin: '-60'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [712, 600.0]
rotation: 0
state: enabled
- name: qtgui_freq_sink_x_0_1
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.1'
axislabels: 'True'
bw: samp_rate2
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: '4096'
freqhalf: 'True'
grid: 'False'
gui_hint: 1,0,1,1
label: PDS
label1: ''
label10: ''''''
label2: ''''''
label3: ''''''
label4: ''''''
label5: ''''''
label6: ''''''
label7: ''''''
label8: ''''''
label9: ''''''
legend: 'False'
maxoutbuf: '0'
minoutbuf: '0'
name: Data subcarrier
nconnections: '1'
norm_window: 'False'
showports: 'False'
tr_chan: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_tag: '""'
type: complex
units: dB
update_time: '0.10'
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: '-35'
ymin: '-55'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [672, 760.0]
rotation: 0
state: enabled
- name: satellites_ccsds_concatenated_deframer_0
id: satellites_ccsds_concatenated_deframer
parameters:
affinity: ''
alias: ''
comment: ''
convolutional: '"CCSDS"'
frame_size: '220'
maxoutbuf: '0'
minoutbuf: '0'
options: '""'
precoding: None
rs_basis: '"dual"'
rs_interleaving: '1'
scrambler: '"CCSDS"'
threshold: '4'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [512, 1108.0]
rotation: 0
state: true
- name: satellites_ccsds_concatenated_deframer_0_0
id: satellites_ccsds_concatenated_deframer
parameters:
affinity: ''
alias: ''
comment: ''
convolutional: '"CCSDS"'
frame_size: '220'
maxoutbuf: '0'
minoutbuf: '0'
options: '""'
precoding: None
rs_basis: '"dual"'
rs_interleaving: '1'
scrambler: '"CCSDS"'
threshold: '4'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [512, 1268.0]
rotation: 0
state: true
- name: satellites_hexdump_sink_0
id: satellites_hexdump_sink
parameters:
affinity: ''
alias: ''
comment: ''
options: '""'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1048, 1160.0]
rotation: 0
state: true
- name: satellites_rms_agc_0
id: satellites_rms_agc
parameters:
affinity: ''
alias: ''
alpha: 1e-2
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
reference: '1.0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [104, 604.0]
rotation: 0
state: true
- name: satellites_rms_agc_0_0
id: satellites_rms_agc
parameters:
affinity: ''
alias: ''
alpha: 1e-2
comment: ''
maxoutbuf: '0'
minoutbuf: '0'
reference: '1.0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [376, 732.0]
rotation: 0
state: true
connections:
- [analog_pll_carriertracking_cc_0, '0', blocks_complex_to_float_0, '0']
- [blocks_complex_to_float_0, '0', blocks_null_sink_1, '0']
- [blocks_complex_to_float_0, '0', qtgui_freq_sink_x_0_0, '0']
- [blocks_complex_to_float_0, '1', freq_xlating_fir_filter_xxx_1, '0']
- [blocks_complex_to_float_0, '1', qtgui_freq_sink_x_0_0, '1']
- [blocks_complex_to_real_0, '0', blocks_multiply_const_vxx_0, '0']
- [blocks_complex_to_real_0, '0', satellites_ccsds_concatenated_deframer_0, '0']
- [blocks_file_source_0, '0', blocks_interleaved_char_to_complex_0, '0']
- [blocks_float_to_complex_0, '0', freq_xlating_fir_filter_xxx_0, '0']
- [blocks_interleaved_char_to_complex_0, '0', freq_xlating_fir_filter_xxx_0, '0']
- [blocks_multiply_const_vxx_0, '0', satellites_ccsds_concatenated_deframer_0_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_costas_loop_cc_0, '0', blocks_complex_to_real_0, '0']
- [digital_costas_loop_cc_0, '0', qtgui_const_sink_x_0, '0']
- [digital_symbol_sync_xx_0, '0', digital_costas_loop_cc_0, '0']
- [fir_filter_xxx_0, '0', digital_symbol_sync_xx_0, '0']
- [freq_xlating_fir_filter_xxx_0, '0', qtgui_freq_sink_x_0, '0']
- [freq_xlating_fir_filter_xxx_0, '0', satellites_rms_agc_0, '0']
- [freq_xlating_fir_filter_xxx_1, '0', satellites_rms_agc_0_0, '0']
- [pdu_pdu_to_tagged_stream_0, '0', blocks_file_sink_0, '0']
- [satellites_ccsds_concatenated_deframer_0, out, pdu_pdu_to_tagged_stream_0, pdus]
- [satellites_ccsds_concatenated_deframer_0, out, satellites_hexdump_sink_0, in]
- [satellites_ccsds_concatenated_deframer_0_0, out, pdu_pdu_to_tagged_stream_0, pdus]
- [satellites_ccsds_concatenated_deframer_0_0, out, satellites_hexdump_sink_0, in]
- [satellites_rms_agc_0, '0', analog_pll_carriertracking_cc_0, '0']
- [satellites_rms_agc_0_0, '0', fir_filter_xxx_0, '0']
- [satellites_rms_agc_0_0, '0', qtgui_freq_sink_x_0_1, '0']
metadata:
file_format: 1
grc_version: 3.10.4.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment