Filter Pages and LTspice Goodies
Contents
Introduction
The following links contain macro models built for LTspice with the purpose of turning largescale simulations into blocklevel schematics, similar to hierarchy design but with predefined models. The domains of interest include, but are not limited to, digital devices ([0101]), filtering and control theory ([Filt]), mathematics equations ([Math]), power electronics ([Pwr]). In addition, there is one more model, Filter, that is made to be a sort of a universal filter for LTspice. All the files can be found in the provided links.
The links go to an external site, for now hosted on the same http://ltwiki.org. The lists describing the contents of every folder is limited to enumeration and a simple description, details are in the links.
The Filter is a library encompassing analog and digital filters and it was made with the thought of making life easier when dealing with schematics that use filtering but don't emphasize the filters, in particular. The filters range from analog passive and active to digital IIR and FIR, where the IIRs are the digitized analog active filters and the FIRs are windows such as rectangular, Hann, Hamming, Blackman, Kaiser, DolphChebyshev (and many others), but also differentiator, Hilbert transformer and frequency sampling method. The list contains:
Analog passive 
Butterworth_LC

Chebyshev_LC

Analog active 
3dBoct

Bessel (and Bessel2 , an older version)

Butterworth

Chebyshev

InvChebyshev

Cauer

IIR 
Butterworth_IIR

Chebyshev_IIR

InvChebyshev_IIR

Cauer_IIR

FIR 
FIR

FIRx

FIR2

FIR_FS

Moving average 
MAFv

RRS

FIR
, FIRx
, FIR2
and FIR_FS
are, elementwise, the same, except for the windows/functions they perform and maximum length, while the last two moving averages and just some analog approaches. In fact, all of them are since LTspice's engine is a dedicated analog simulator. Because of that, the digital filters will not be faster than their analog cousins, quite the contrary. They may also suffer from random spikes around transitions from one sample to another, mainly due to the imperfections of the simulation timestep or to tiny mismatches in sampling time (don't forget that the rise and fall times do count).
In the end, the Filter is a handy tool for anyone who needs a quick implementation of a filter without going through the hassle of calculating, placing all elements, attributing values and wiring them to form a filter when the purpose of the schematic is different, not to mention the bother of repeating the steps anytime a change is needed.
The files can be found in the Home link (the top menu), the Filter manual paragraph.
A few models which I found useful, this folder holds the following:
ADC16 
an asynchronous (max) 16bit ADC 
Bin2Dec 
a binary to decimal translator 
CNT16asy 
an asynchronous (max) 16bit counter 
DAC16 
a (max) 16bit DAC 
Dec2Bin 
a decimal to binary translator 
JKFLOP 
a behavioural JK flipflop 
The contents of this folder is mixed, in general, filtering and control theory, but can be applied anywhere.
AGC 
an automatic gain controller w/out external frequency control 
DeadTime 
deadtime 
DeadZone 
deadzone 
Delay 
analog  exp(sT)  or digital  z^{1}  delay

Diff 
differentiator 
FFT 
actually a continuoustime Fourier decomposition, but FFT is shorter

FreqDet 
frequency detector 
Gain 
a linear/dB gain/buffer with variable output resistance 
Integ_r 
resettable integrator w/out external period control 
LeadLag, LeadLag2 
two versions for a <π..π> leadlag control, w/out external control

Lim 
hard limitter 
MUX 
a simple externally controlled analog multiplexer 
PhaseDet 
phase detector 
PID 
a universal PID/PI/PD/ID/P/I/D analog/digital controller 
PLL 
a phaselocked loop with single/quadrature inputs 
SampledSource 
LTspice's own SINE and/or PULSE sources, sampled 
StateSpace 
1st/2nd/3rd order, SISO statespace block 
UpDnSpl 
.AC friendly up/downsampler

LTspice's mathematical functions for behavioural sources plus a few others in a more accessible, streamlined package. There's no point in enumerating them since they're all packed into a specific symbol, depending on how many variables the functions allow.
For example, the function abs()
requires one variable and that variable is the input. The symbol that makes use of one variable functions is Math1
. In the case of atan2()
, the two variables are the two inputs and the symbols for these are Math2
, Math2r
and Math2rT
. There are also two 5input symbols, Math5
and Math5r
but they do only summing and/or difference.
Except a few models, all are threephase and power electronics related.
3lvl_mod 
3level modulation w/out external carrier and deadtime 
3ph_ACMotor 
a rather simplified DQ reference frame AC motor which allows either inductances/resistances or power/frequency inputs, respectively. 
3ph_br_cm, 3ph_br_vm 
current/voltagemode switching bridges 
3ph_gen 
harmonics generator up to 51st, w/out external amplitude/frequency/phase control 
3ph_SW 
3phase to 3phase timed switch 
BrdgRect, BrdgRectThy 
simple and thyristor bridge rectifiers 
Cable 
a simple Π LC with terminating resistances cable model 
Disturb 
disturbance inducer, meant to be used together with 3ph_gen , but not only

HystComp 
singlephase hysteresis comparator w/out external error control and deadtime 
Isense, Vsense 
isolated current and voltage sensors 
RLC 
universal RLC load, can be series or parallel, w/out null, wye or delta 
SVHCC, SVPWM 
spacevector hysteresis current controller and PWM, respectively 
sym 
symmetrical components analyzer, abcto120 and inverse 
Transforms 
Clarke and Park matrices, 2 or 3inputs, direct and inverse, plus a cvasiinstantaneous approach for a symmetrical components analyzer 
WattMeter 
onephase wattmeter, outputs apparent/active/reactive powers, powerfactor and RMS voltage/current 
wt 
PLL angle generator 
The two purposes in creating these were to have some schematics concerning power conditioning, in general, and that they should be made with the symbols and libraries from the above folders. In no particular order, the schematics are:
 two shunt active power filters, pq theory, sine and power strategies
 shunt active power filter, dq theory
 shunt active power filter, pq/sine strategy, full schematic but with ideal blocks
 universal power quality conditioner, dq theory for both shunt and series filters
 simple passive reactive power compensation
 positive sequence detectors, pq and dq, and filtering methods test case
 phaselocked loop for gridtied inverters
 quadrature signal generator based on generalized integrators
 threephase, threelevel modulation example
 threephase thyristor bridge rectifier
 a small extra find
Not related specifically to LTspice, but with SPICE, in general, there are two files made to help editing netlist/librariy/subcircuit/model files (text files with *.net, *.cir, *.sp, *.lib, *,sub, *.mod extensions) with editors based on GtkSourceView (gEdit, Mousepad, Scribes or others that may be using): a syntax highlighting and an optional colour theme matching LTspice's.
Rants
This part deals with some thoughts about modelling or, in general, related to SPICE (and LTspice, in particular):
 Implicit Math: Mathematical functions in behavioural sources can take a toll, sometimes, so having an alternative way to perform these can pay off: linearized nonlinear functions.
 Efficient Filtering: The simplest filters are the ones that have just the needed states, and no more. That means LC networks, which are the simplest and fastest, but not so easy to calculate. So this is about how a SallenKey, multiple feedback, Antoniou, etc, can be so slow and inefficient, and what (and how) to do about it.
The files
If only the files are needed and there's no need for extra browsing, below is the list with all the files:
blog comments powered by Disqus