sddsdigfilter performs time-domain digital filtering of columns of data. Filters can be combined in series and/or cascade to produce complex filter characteristics. In addition to allowing simple 1-pole lowpass and highpass filters, filter charateristics can be defined using either digital ’Z’ or analog ’S’ domain transfer functions.
A digital filter has a Z transform given by
while an analog filter has a Laplace transform given by
Pass data through lowpass filter with a -3dB cutoff of 0.01 Hz:
sddsdigfilter data.wf -col=time,value result.wf -low=1,0.01.
Bandstop filter between 10 Hz and 100 Hz:
sddsdigfilter data.wf -col=time,value result.wf -low=1,10 -high=1,100
Bandpass filter between 10 Hz and 100 Hz:
sddsdigfilter data.wf -col=time,value result.wf -low=1,100 -cascade -high=1,10
Analog transfer function:
sddsdigfilter data.wf -col=time,value result.wf -analog=D,1.0,0.01,C,0.1,0.3,1.6
Five-sample digital delay:
sddsdigfilter data.wf -col=time,value result.wf -digital=B,0,0,0,0,0,1
sddsdigfilter [inputFile] [outputFile] [-pipe=[input][,output]] -columns=xName,yName [-proportional=gain] [-lowpass=gain,cutoffFrequency] [-highpass=gain,cutoffFrequency] [-digitalfilter=sddsfile,aCoeffName,bCoeffName [-digitalfilter=[A,a0,a1,..,am][,B,b0,b1,..,bn] [-analogfilter=sddsfile,cCoeffName,dCoeffName [-analogfilter=[C,c0,c1,..,cm][,D,d0,d1,..,dn] [-cascade] [-verbose]