File: dab_ofdm_demod.block.yml

package info (click to toggle)
gr-dab 0.5-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 3,272 kB
  • sloc: python: 14,976; cpp: 6,738; ansic: 547; makefile: 19; sh: 11
file content (91 lines) | stat: -rw-r--r-- 2,698 bytes parent folder | download
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
# auto-generated by grc.converter

id: dab_ofdm_demod
label: 'DAB: OFDM Demodulator'
category: '[DAB]'

parameters:
-   id: dab_mode
    label: DAB Mode
    dtype: enum
    default: '1'
    options: ['1', '2', '3', '4']
    option_attributes:
        vlensize: [1536, 384, 192, 768]
-   id: samp_rate
    label: Sampling Rate
    dtype: int
    default: samp_rate
-   id: input_fft
    label: Input FFT Filter
    dtype: enum
    default: 'True'
    options: ['False', 'True']
    option_labels: [Disable, Enable]
-   id: autocorr_sr
    label: Auto-corr. samplerate
    dtype: enum
    default: 'True'
    options: ['False', 'True']
    option_labels: [Disable, Enable]
-   id: correct_ffe
    label: Fine-Freq. corr.
    dtype: enum
    default: 'True'
    options: ['False', 'True']
    option_labels: [Disable, Enable]
-   id: eq_mag
    label: Equalize Magnitude
    dtype: enum
    default: 'True'
    options: ['False', 'True']
    option_labels: [Disable, Enable]
-   id: ppm_error
    label: Timing error (ppm)
    dtype: int
    default: '0'
-   id: soft_bits
    label: Soft Bits
    dtype: enum
    default: soft
    options: [soft, hard]
    option_labels: [Soft Bits, Hard Bits]
    option_attributes:
        soft: [True, True]
        type: [complex, byte]
        vlenfrac: [1, 4]
    hide: part

inputs:
-   domain: stream
    dtype: complex

outputs:
-   label: dat
    domain: stream
    dtype: ${ soft_bits.type }
    vlen: ${ int(dab_mode.vlensize // soft_bits.vlenfrac) }

templates:
    imports: import gnuradio.dab as dab
    make: "dab.ofdm_demod(\n          dab.parameters.dab_parameters(\n       \
        \     mode=${dab_mode},\n            sample_rate=${samp_rate},\n         \
        \   verbose=False\n          ),\n          dab.parameters.receiver_parameters(\n\
        \            mode=${dab_mode},\n            softbits=${soft_bits.soft},\n\
        \            input_fft_filter=${input_fft},\n            autocorrect_sample_rate=${autocorr_sr},\n\
        \            sample_rate_correction_factor=1+float(${ppm_error})*1e-6,\n \
        \           always_include_resample=True,\n            verbose=False,\n  \
        \          correct_ffe=${correct_ffe},\n            equalize_magnitude=${eq_mag}\n\
        \          )\n        )\n  "
    callbacks:
    - self.${id}.resample.set_resamp_ratio(1+float(${ppm_error})*1e-6)

documentation: |-
    Demodulates a whole DAB signal.
        Output vector size depends on selected mode:
        Mode I:   1536 complex samples or 384 bytes
        Mode II:  384 complex samples or 96 bytes
        Mode III: 192 complex samples or 48 bytes
        Mode IV:  768 complex samples or 192 bytes

file_format: 1