Falcon
Toggle main menu visibility
Loading...
Searching...
No Matches
whitenoisesource.hpp
1
// ---------------------------------------------------------------------
2
// This file is part of falcon-core.
3
//
4
// Copyright (C) 2015, 2016, 2017 Neuro-Electronics Research Flanders
5
//
6
// Falcon-server is free software: you can redistribute it and/or modify
7
// it under the terms of the GNU General Public License as published by
8
// the Free Software Foundation, either version 3 of the License, or
9
// (at your option) any later version.
10
//
11
// Falcon-server is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
// GNU General Public License for more details.
15
//
16
// You should have received a copy of the GNU General Public License
17
// along with falcon-core. If not, see <http://www.gnu.org/licenses/>.
18
// ---------------------------------------------------------------------
19
20
#pragma once
21
22
#include <random>
23
#include <string>
24
#include <vector>
25
26
#include "datasource.hpp"
27
28
class
WhiteNoiseSource :
public
DataSource
{
29
public
:
30
WhiteNoiseSource(
double
mean = 0.0,
double
stdev = 1.0,
double
sampling_rate = 1.0,
31
unsigned
int
nchannels = 128,
bool
convert_byte_order =
true
);
32
33
std::string string()
override
;
34
int64_t Produce(
char
** data)
override
;
35
YAML::Node to_yaml()
const override
;
36
37
static
WhiteNoiseSource* from_yaml(YAML::Node node);
38
39
protected
:
40
double
mean_;
41
double
stdev_;
42
double
sampling_rate_;
43
uint64_t timestamp_ = 0;
44
uint64_t delta_;
45
46
std::vector<char> buffer_;
47
std::default_random_engine generator_;
48
std::normal_distribution<double> distribution_;
49
50
unsigned
int
nchannels_;
51
bool
convert_byte_order_;
52
};
DataSource
Definition
datasource.hpp:29
extensions
falcon-fklab-extensions
tools
nlxtestbench
whitenoisesource.hpp
Generated by
1.18.0