summaryrefslogtreecommitdiff
path: root/gr-channels/grc/channels_fading_model.block.yml
blob: 7e1587feb6335ed14bffce8451a26d3c1bc94824 (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
id: channels_fading_model
label: Fading Model

parameters:
-   id: N
    label: Num Sinusoids (SoS model)
    dtype: int
    default: '8'
-   id: fDTs
    label: Normalized Max Doppler (fD*Ts)
    dtype: real
    default: 10.0/samp_rate
-   id: LOS
    label: LOS Model
    dtype: enum
    options: ['False', 'True']
    option_labels: [Rayleigh/NLOS, Rician/LOS]
    option_attributes:
        hide_K: [all, '']
-   id: K
    label: Rician factor (K)
    dtype: real
    default: '4.0'
    hide: ${ LOS.hide_K }
-   id: seed
    label: Seed
    dtype: int
    default: '0'

inputs:
-   domain: stream
    dtype: complex

outputs:
-   domain: stream
    dtype: complex

templates:
    imports: from gnuradio import channels
    make: channels.fading_model( ${N}, ${fDTs}, ${LOS}, ${K}, ${seed} )
    callbacks:
    - set_fDTs(${fDTs})
    - set_K(${K})

documentation: |-
    This algorithm implements the method described in
       Compact Rayleigh and Rician fading simulator based on random walk processes
       A. Alimohammad S.F. Fard B.F. Cockburn C. Schlegel
       26th November 2008

        int d_N=8;          // number of sinusoids
        float d_fDTs=0.01   // normalized maximum doppler frequency (f_doppler / f_samprate)
        float d_K=4;        // Rician factor (ratio of the specular power to the scattered power)
        bool d_LOS=true;    // LOS path exists? chooses Rician (LOS) vs Rayleigh (NLOS) model.
        int seed=0;         // noise seed

file_format: 1