Falcon
Toggle main menu visibility
Loading...
Searching...
No Matches
sinesource.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
SineSource :
public
DataSource
{
29
public
:
30
SineSource(
double
offset = 0.0,
double
amplitude = 1.0,
double
frequency = 1.0,
31
double
sampling_rate = 1.0,
double
noise_stdev = 0,
unsigned
int
nchannels = 128,
32
bool
convert_byte_order =
true
);
33
34
std::string string()
override
;
35
int64_t Produce(
char
** data)
override
;
36
YAML::Node to_yaml()
const override
;
37
38
static
SineSource* from_yaml(YAML::Node node);
39
40
protected
:
41
double
offset_;
42
double
amplitude_;
43
double
frequency_;
44
double
sampling_rate_;
45
double
noise_stdev_;
46
47
uint64_t timestamp_ = 0;
48
uint64_t delta_;
49
50
double
omega_;
51
52
std::vector<char> buffer_;
53
54
std::default_random_engine generator_;
55
std::normal_distribution<double> distribution_;
56
57
unsigned
int
nchannels_;
58
bool
convert_byte_order_;
59
};
DataSource
Definition
datasource.hpp:29
extensions
falcon-fklab-extensions
tools
nlxtestbench
sinesource.hpp
Generated by
1.18.0