Qucs-S S-parameter Viewer & RF Synthesis Tools
Loading...
Searching...
No Matches
Tools
MatchingNetwork
MultisectionQuarterWave.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 MULTISECTIONQUARTERWAVE_H
19
#define MULTISECTIONQUARTERWAVE_H
20
21
#include "../../Schematic/Network.h"
22
#include "../../Schematic/component.h"
23
#include "../TransmissionLineSynthesis/Microstrip.h"
24
25
class
MultisectionQuarterWave
:
public
Network
{
26
27
public
:
28
MultisectionQuarterWave
();
29
virtual
~MultisectionQuarterWave
();
30
31
MultisectionQuarterWave
(
MatchingNetworkDesignParameters
,
double
);
32
void
synthesize();
33
34
private
:
35
struct
MatchingNetworkDesignParameters
Specs;
36
37
// Helper functions
38
int
BinomialCoeff(
int
n,
int
k);
39
void
designBinomial(std::vector<double>& Zs);
40
void
designChebyshev(std::vector<double>& Zs);
41
42
void
synthesizeIdealTL(
const
std::vector<double>& Zi,
double
lambda4);
43
void
synthesizeMicrostripTL(
const
std::vector<double>& Zi,
double
lambda4);
44
45
double
f_match;
46
};
47
48
#endif
// MULTISECTIONQUARTERWAVE_H
MultisectionQuarterWave
Definition
MultisectionQuarterWave.h:25
Network
Definition
Network.h:36
MatchingNetworkDesignParameters
Definition
structures.h:146
Generated by
1.9.8