summaryrefslogtreecommitdiff
path: root/gr-analog/grc/analog_fastnoise_source_x.block.yml
blob: 21c4366074ee89059baf45450427ac5f82b89de1 (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
id: analog_fastnoise_source_x
label: Fast Noise Source

parameters:
-   id: type
    label: Output Type
    dtype: enum
    options: [complex, float, int, short]
    option_attributes:
        fcn: [c, f, i, s]
    hide: part
-   id: noise_type
    label: Noise Type
    dtype: int
    default: analog.GR_GAUSSIAN
    options: [analog.GR_UNIFORM, analog.GR_GAUSSIAN, analog.GR_LAPLACIAN, analog.GR_IMPULSE]
    option_labels: [Uniform, Gaussian, Laplacian, Impulse]
-   id: amp
    label: Amplitude
    dtype: real
    default: '1'
-   id: seed
    label: Seed
    dtype: int
    default: '0'
-   id: samples
    label: Variate Pool Size
    dtype: int
    default: '8192'

outputs:
-   domain: stream
    dtype: ${ type }

templates:
    imports: from gnuradio import analog
    make: analog.fastnoise_source_${type.fcn}(${noise_type}, ${amp}, ${seed}, ${samples})
    callbacks:
    - set_type(${noise_type})
    - set_amplitude(${amp})

documentation: |-
    The fast noise source works by pre-generating a pool of random variates taken from the specified distribution.  At runtime, samples are then uniform randomly chosen from this pool which is a very fast operation.

file_format: 1