Galleries: 🎨 ./sample/SignalProcessing / 🎨 InspectDR.jl package
— "Focus on the analysis itself, not on data manipulation"
- Description
- Installation
- Activating the "C-Data" environment
- Sample usage
- Programming interface
- Known limitations
CMDimCircuits.jl
provides an environment (a set of tools) to efficiently
post-process and analyze results from circuit measurement & simulation:
[MDDatasets.jl][MDDatasetsJL]
: Easily handle "parametric analysis" data using a simple, multi-dimensional container, and providestruct DataF1
to represent{x,y}
vectors as a continuous function of 1 argument:y=f(x)
.[CMDimData.jl][CMDimDataJL]/EasyPlot
: Easily plot "parametric analysis" data using a backend of your choosing.[CMDimData.jl][CMDimDataJL]/EasyData
: Easily save "parametric analysis" data to a single .hdf5 file.- Various EDA file readers/writers.
More specifically, the goal is to provide an analysis framework leading to minimal code, written in a natural, and readable fashion. The following describes a typical workflow enabled by this package:
- Read in complex multi-dimensional input data from measurement/simulation results.
- Treat transient datasets as continuous-time (automatically interpolate when time steps are mismatched).
- Perform the same operation on all parametric sweeps (usually) without having to write explicit loops.
- Quickly generate plots that shed light on the studied phenomenon.
- Select from a multitude of plotting backends (possibly at a later date).
- Save both data & plot configuration to a single .hdf5 file.
- Reload plot & data for further investigation at a later time.
- Support for popular EDA file formats: (.tr0, .psf, .sNp).
- Plot the results of multi-dimensional parametric analyses with a single command.
- Support for multiple plotting backends (see CMDimData.jl for more details).
- Generate eye diagrams (even for backends without native support).
- Generate Smith Plots (InspectDR backend only).
- Read/write plots to .hdf5 files.
CMDimCircuits.jl
is registered with Julia's General registry.
It can be installed using Julia's built-in package manager:
julia> ]
pkg> add CMDimCircuits
pkg> add CMDimData
pkg> add MDDatasets
Note that CMDimData.jl
& MDDatasets.jl
will automatically be installed alongside CMDimCircuits.jl
. However, add
-ing them explicitly gives code from the active project/environment direct access to their corresponding features.
Moreover, it is highly suggested to install InspectDR.jl
. It is the most tested integration for plotting at the moment:
julia> ]
pkg> add InspectDR
The "C-Data" environment provides a collection of tools to generate/process
parametric analysis data & better visualize (see) mathematical relationships
buried within. To activate C-Data, you must call the @using_CData
macro:
using CMDimCircuits
CMDimCircuits.@using_CData
Note that CMDimCircuits.@using_CData
imports the following modules to your scope:
using MDDatasets
using CMDimData
using CMDimData.EasyPlot
using CMDimCircuits.CircuitAnalysis
using CMDimCircuits.NetwAnalysis
using CMDimCircuits.SignalProcessing
using CMDimCircuits.EDAData
Note that no plotting backend was imported. You must therefore "import" your preferred plotting library using the procedure described here.
Examples of how to use CMDimCircuits.jl
are provided in the sample/ subdirectory.
A few examples are organized by module:
- Use of
CMDimCircuits.NetwAnalysis
: sample/NetwAnalysis/ - Use of
CMDimCircuits.SignalProcessing
: sample/SignalProcessing/
Galleries: 🎨 ./sample/SignalProcessing (might be out of date).
In Julia, a good way to see the methods available for a particular function is to run:
julia> methods([FUNCTION_NAME])
Given the multitude of optional/keyword agruments in some functions, it is currently best to take a look at the samples provided above.
Extensive compatibility testing of the CMDimCircuits.jl package has not been performed. It has been tested in the following environment(s):
- Windows 10 / Linux / Julia-1.3.1
The CMDimCircuits.jl package is not yet mature. Expect significant changes.