OpenHantek
spectrumgenerator.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 
3 #pragma once
4 
5 #include <vector>
6 
7 #include <QMutex>
8 #include <QThread>
9 #include <memory>
10 
11 #include <fftw3.h>
12 
13 #include "analysissettings.h"
14 #include "dsosamples.h"
15 #include "ppresult.h"
16 #include "utils/printutils.h"
17 
18 #include "processor.h"
19 
20 class DsoSettings;
21 struct DsoSettingsScope;
22 
26 class SpectrumGenerator : public Processor {
27 
28  public:
29  SpectrumGenerator( const DsoSettingsScope *scope, const DsoSettingsAnalysis *postprocessing );
30  ~SpectrumGenerator() override;
31 
32  private:
36  std::vector< double > window;
37  fftw_plan fftPlan_R2HC = nullptr;
38  fftw_plan fftPlan_HC2R = nullptr;
39  QString note;
40  const QString &calculateNote( double frequency );
41  // Processor interface
42  void process( PPresult *data ) override;
43 };
Dso::WindowFunction previousWindowFunction
The previously used dft window function.
Definition: spectrumgenerator.h:35
fftw_plan fftPlan_HC2R
Definition: spectrumgenerator.h:38
QString note
Definition: spectrumgenerator.h:39
const DsoSettingsAnalysis * analysis
Definition: spectrumgenerator.h:34
std::vector< double > window
storage for the tapering window
Definition: spectrumgenerator.h:36
Holds the settings of the program.
Definition: dsosettings.h:20
~SpectrumGenerator() override
Definition: spectrumgenerator.cpp:28
const DsoSettingsScope * scope
Definition: spectrumgenerator.h:33
Definition: processor.h:7
const QString & calculateNote(double frequency)
Definition: spectrumgenerator.cpp:439
void process(PPresult *data) override
Definition: spectrumgenerator.cpp:57
fftw_plan fftPlan_R2HC
Definition: spectrumgenerator.h:37
SpectrumGenerator(const DsoSettingsScope *scope, const DsoSettingsAnalysis *postprocessing)
Analyzes the data from the dso.
Definition: spectrumgenerator.cpp:21
Holds the settings for the oscilloscope.
Definition: scopesettings.h:100
Analyzes the data from the dso. Calculates the spectrum and various data about the signal and saves t...
Definition: spectrumgenerator.h:26
WindowFunction
The supported window functions. These are needed for spectrum analysis and are applied to the sample ...
Definition: analysissettings.h:15
Post processing results.
Definition: ppresult.h:43
Definition: analysissettings.h:43