NAME
RF::Component::Multi - Multi-element vectorized handling of RF::Component objects.
DESCRIPTION
This module enables loading Measurement Data Interchange Format (MDIF) files and operating on each component them as a vector. Each RF::Component::Multi
object is a blessed arrayref containing a list of RF::Component objects, so you can use it as a normal array to get a particular component. You can also run RF::Component methods on an RF::Component::Multi
object to return a vector of results, one result for each RF::Component object in the arrayref.
SYNOPSIS
use RF::Component::Multi;
# Load an MDIF file:
my $mdf = RF::Component::Multi->load('t/test-data/muRata/muRata-GQM-0402.mdf',
load_options => { freq_min_hz => 100e6, freq_count => 1 }
);
# Query a single component in the MDIF:
my $component1 = $mdf->[1];
print $component1->cap_pF;
# Query all components in the MDF with a vectorized result:
my $cap_pF = $mdf->cap_pF;
# Print the result value (same as $component1->cap_pF, above):
print $cap_pF->[1];
IO Functions
RF::Component::Multi->load
- Load a multiple-data file
Currently only MDIF files are supported, other formats are possible. Usage:
my $mdf = RF::Component::Multi->load($filename, %options);
The
%options
hash is passed to RF::Component'sload
function.If
load_options
is provided in%options
thenload_options
is passed to PDL::IO::MDIF'srmdif
function.
SEE ALSO
- RF::Component - An object-oriented encapsulation of
PDL::IO::Touchstone
. - PDL::IO::MDIF - A PDL IO module to load Measurement Data Interchange Format (*.mdf) files.
- Building MDIF/MDF files from multiple S2P files: https://youtu.be/q1ixcb_mgeM, https://github.com/KJ7NLL/mdf/
- Optimizing amplifer impedance match circuits with MDF files: https://youtu.be/nx2jy7EHzxw
- MDIF file format: https://awrcorp.com/download/faq/english/docs/users_guide/data_file_formats.html#i489154
AUTHOR
Originally written at eWheeler, Inc. dba Linux Global Eric Wheeler to transform .s2p files and build MDF files to optimize with Microwave Office for amplifer impedance matches.
COPYRIGHT
Copyright (C) 2022 eWheeler, Inc. https://www.linuxglobal.com/
This module is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This module is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this module. If not, see <http://www.gnu.org/licenses/>.