Filter Pages and LTspice Goodies

From LTwiki-Wiki for LTspice
Revision as of 07:45, 9 May 2014 by Vlad (talk | contribs)

Introduction

 The following links contain macro models built for LTspice with the purpose of turning large-scale simulations into block-level 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.
 The links go to an external site, for now hosted on the same http://ltwiki.org, until I fully merge all the pages to blend in with LTwiki. 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, Dolph-Chebyshev (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
FIR2
FIR_FS
Moving average
MAFv
RRS

 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 time-step 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.

 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 flip-flop

 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 dead-time
DeadZone dead-zone
Delay analog -- exp(-sT) -- or digital -- z-1 -- delay
Diff differentiator
FFT actually a continuous-time 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 <-π..π> lead-lag 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 phase-locked loop with single/quadrature inputs
SampledSource LTspice's own SINE and/or PULSE sources, sampled
StateSpace 1st/2nd/3rd order, SISO state-space block
UpDnSpl .AC-friendly up-/down-sampler

 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 5-input symbols, Math5 and Math5r but they do only summing and/or difference.

 Except a few models, all are three-phase and power electronics related.

3lvl_mod 3-level modulation w/out external carrier and dead-time
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-/voltage-mode switching bridges
3ph_gen harmonics generator up to 51st, w/out external amplitude/frequency/phase control
3ph_SW 3-phase to 3-phase 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 single-phase hysteresis comparator w/out external error control and dead-time
Isense, Vsense isolated current and voltage sensors
RLC universal RLC load, can be series or parallel, w/out null, wye or delta
SVHCC, SVPWM space-vector hysteresis current controller and PWM, respectively
sym symmetrical components analyzer, abc-to-120 and inverse
Transforms Clarke and Park matrices, 2- or 3-inputs, direct and inverse, plus a cvasi-instantaneous approach for a symmetrical components analyzer
WattMeter one-phase wattmeter, outputs apparent/active/reactive powers, power-factor and RMS voltage/current
wt PLL angle generator