SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
hbfilterchainconverter.h
Go to the documentation of this file.
1 // Copyright (C) 2019 F4EXB //
3 // written by Edouard Griffiths //
4 // //
5 // This program is free software; you can redistribute it and/or modify //
6 // it under the terms of the GNU General Public License as published by //
7 // the Free Software Foundation as version 3 of the License, or //
8 // (at your option) any later version. //
9 // //
10 // This program is distributed in the hope that it will be useful, //
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
13 // GNU General Public License V3 for more details. //
14 // //
15 // You should have received a copy of the GNU General Public License //
16 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
18 
19 #ifndef SDRBASE_DSP_HBFILTERCHAINCONVERTER_H
20 #define SDRBASE_DSP_HBFILTERCHAINCONVERTER_H
21 
22 #include <vector>
23 #include "export.h"
24 
25 class QString;
26 
28 {
29 public:
30  // Converts the chain hash as a base3 number each digit representing a filter stage from lower (LSD) to upper level (MSD)
31  // The corresponding log2 of decimation or interpolation factor is also the number of filter stages
32  // A vector of indexes as base3 digits is filled in (0: low band, 1: center band, : high band)
33  // The shift factor of center frequency is returned. The actual shift is obtained by multiplying this factor by the sample rate.
34  static double convertToIndexes(unsigned int log2, unsigned int chainHash, std::vector<unsigned int>& chainIndexes);
35  // Same but used only for display giving a string representation of the filter chain
36  static double convertToString(unsigned int log2, unsigned int chainHash, QString& chainString);
37  // Just calculate the frequency shift factor relative to sample rate
38  static double getShiftFactor(unsigned int log2, unsigned int chainHash);
39 };
40 
41 #endif // SDRBASE_DSP_HBFILTERCHAINCONVERTER_H
#define SDRBASE_API
Definition: export.h:40