Qucs-S S-parameter Viewer & RF Synthesis Tools
Loading...
Searching...
No Matches
Tools
Filtering
CanonicalFilter.h
1
/*
2
* Copyright (C) 2019-2025 Andrés Martínez Mera - andresmmera@protonmail.com
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program. If not, see <https://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef CANONICALFILTER_H
19
#define CANONICALFILTER_H
20
21
#include "../../Schematic/Network.h"
22
#include "../../Schematic/component.h"
23
#include "../TransmissionLineSynthesis/Microstrip.h"
24
#include "LowpassPrototypeCoeffs.h"
25
26
class
CanonicalFilter
:
public
Network
{
27
public
:
28
CanonicalFilter
();
29
virtual
~CanonicalFilter
();
30
CanonicalFilter
(
FilterSpecifications
);
31
void
synthesize();
32
void
setSemilumpedMode(
bool
);
33
34
private
:
35
struct
FilterSpecifications
Specification;
36
bool
semilumped =
false
;
// Activate semilumped implementation mode
37
38
std::deque<double> gi;
39
40
//*********** Schematic synthesis ********************
41
void
SynthesizeLPF();
// Lowpass
42
void
SynthesizeSemilumpedLPF();
// Semilumped Lowpass implementation
43
void
SynthesizeHPF();
// Highpass
44
void
SynthesizeBPF();
// Bandpass
45
void
SynthesizeBSF();
// Bandstop
46
};
47
48
#endif
// CANONICALFILTER_H
CanonicalFilter
Definition
CanonicalFilter.h:26
Network
Definition
Network.h:36
FilterSpecifications
Definition
structures.h:115
Generated by
1.9.8