summaryrefslogtreecommitdiff
path: root/gr-digital/grc/digital_symbol_sync_xx.block.yml
blob: ec638251277dd04e7e6817d369f501ea7b7770ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
id: digital_symbol_sync_xx
label: Symbol Sync
category: '[Core]/Synchronizers'

parameters:
-   id: type
    label: I/O Type
    dtype: enum
    options: [cc, ff]
    option_labels: [Complex, Float]
    option_attributes:
        input: [complex, float]
        output: [complex, float]
    hide: part
-   id: ted_type
    label: Timing Error Detector
    dtype: enum
    options: [digital.TED_MUELLER_AND_MULLER, digital.TED_MOD_MUELLER_AND_MULLER,
        digital.TED_ZERO_CROSSING, digital.TED_GARDNER, digital.TED_EARLY_LATE, digital.TED_DANDREA_AND_MENGALI_GEN_MSK,
        digital.TED_MENGALI_AND_DANDREA_GMSK, digital.TED_SIGNAL_TIMES_SLOPE_ML, digital.TED_SIGNUM_TIMES_SLOPE_ML]
    option_labels: ["Mueller and M\xFCller", "Modified Mueller and M\xFCller", Zero
            Crossing, Gardner, Early-Late, D'Andrea and Mengali Gen MSK, Mengali and
            D'Andrea GMSK, 'y[n]y''[n] Maximum Likelyhood', 'sgn(y[n])y''[n] Maximum
            Likelyhood']
    option_attributes:
        hide_constellation: [part, part, part, all, all, all, all, all, all]
-   id: constellation
    label: TED Slicer Constellation
    dtype: raw
    default: digital.constellation_bpsk().base()
    hide: ${ ted_type.hide_constellation }
-   id: sps
    label: Samples per Symbol
    dtype: real
    default: sps
-   id: ted_gain
    label: Expected TED Gain
    dtype: real
    default: '1.0'
-   id: loop_bw
    label: Loop Bandwidth
    dtype: real
    default: '0.045'
-   id: damping
    label: Damping Factor
    dtype: real
    default: '1.0'
-   id: max_dev
    label: Maximum Deviation
    dtype: real
    default: '1.5'
-   id: osps
    label: Output Samples/Symbol
    dtype: int
    default: '1'
-   id: resamp_type
    label: Interpolating Resampler
    dtype: enum
    options: [digital.IR_MMSE_8TAP, digital.IR_PFB_NO_MF, digital.IR_PFB_MF]
    option_labels: ['MMSE, 8 tap FIR', 'Polyphase Filterbank, MMSE', 'Polyphase Filterbank,
            MF']
    option_attributes:
        hide_nfilters: [all, '', '']
        hide_pfb_mf_taps: [all, all, '']
-   id: nfilters
    label: Filterbank Arms
    dtype: int
    default: '128'
    hide: ${ resamp_type.hide_nfilters }
-   id: pfb_mf_taps
    label: PFB MF Taps
    dtype: real_vector
    default: '[]'
    hide: ${ resamp_type.hide_pfb_mf_taps }

inputs:
-   domain: stream
    dtype: ${ type.input }

outputs:
-   domain: stream
    dtype: ${ type.output }
-   label: error
    domain: stream
    dtype: float
    optional: true
-   label: T_inst
    domain: stream
    dtype: float
    optional: true
-   label: T_avg
    domain: stream
    dtype: float
    optional: true

templates:
    imports: |-
        from gnuradio import digital
        from gnuradio import filter
    make: digital.symbol_sync_${type}(${ted_type}, ${sps}, ${loop_bw}, ${damping},
        ${ted_gain}, ${max_dev}, ${osps}, ${constellation}, ${resamp_type}, ${nfilters},
        ${pfb_mf_taps})
    callbacks:
    - set_loop_bandwidth(${loop_bw})
    - set_damping_factor(${damping})
    - set_ted_gain(${ted_gain})

file_format: 1