#!/bin/sh

# Test DFiltFIR
#
# $Id: tDFiltFIR,v 1.6 1995/09/22 FilterDesign-V1R7a $

if [ -f ./DFiltFIR ]; then
  DFIR=./DFiltFIR
elif [ -f bin/DFiltFIR ]; then
  DFIR=bin/DFiltFIR
elif [ -f ../bin/DFiltFIR ]; then
  DFIR=../bin/DFiltFIR
else
  DFIR=DFiltFIR
fi

L=""

$DFIR --version

#==================================
echo "${L}BPF1: N=24 lowpass filter"
$DFIR -n 24 -t bpf << EoF
0    1 1
0.08 1 1

0.16 0 1
0.5  0 1
EoF

#==================================
echo "${L}BPF2: N=32 bandpass filter"
$DFIR -n 32 << EoF
0,  0,10
0.1,0,10

0.2 , 1, 1
0.35, 1, 1

0.425,0,10
0.5,  0,10
EoF

#==================================
echo "${L}BPF3: N=50 bandpass filter, unequal weighting"
$DFIR -n 50 temp.cof << EoF
0,   0,10
0.15,0,10

0.2,1,1
0.3,1,1

0.35,0,100
0.5, 0,100
EoF
cat temp.cof
rm -f temp.cof

#==================================
echo "${L}BPF4: N=31 bandstop filter"
$DFIR -n 31 << EoF
0,  1,1
0.1,1,1

0.15,0,50
0.35,0,50

0.42,1,1
0.5, 1,1
EoF

#==================================
echo "${L}BPF5: N=55 multiband filter"
$DFIR -n 55 temp.cof << EoF
0,   0,10
0.05,0,10

0.1, 1,1
0.15,1,1

0.18,0,3
0.25,0,3

0.3, 1,1
0.36,1,1

0.41,0,20
0.5, 0,20
EoF
cat temp.cof
rm -f temp.cof

#==================================
echo "${L}BPF6: N=32 constrained bandpass filter (c.f. BPF2)"
$DFIR -n 32 << EoF
0,  0,10,0,1
0.1,0,10,0,1

0.2, 1,1
0.35,1,1

0.425,0,10
0.5,  0,10
EoF

#==================================
echo "${L}BPF7: N=37 constrained bandstop filter"
$DFIR -n 37 << EoF
0,  1,1,0.9,1
0.1,1,1,0.9,1

0.15,  0,1,0,0.03
0.1995,0,1,0,0.03

0.2,0,1,0,0.01
0.3,0,1,0,0.01

0.3005,0,1,0,0.03
0.35,  0,1,0,0.03

0.4,1,1,0.98,1.02
0.5,1,1,0.98,1.02
EoF

#==================================
echo "${L}BPF8: N=76 constrained multiband filter"
$DFIR -n 76 temp.cof << EoF
0    0  200 0 0.0004
0.05 0  200 0 0.0004

0.0505 0 0.05 0,1
0.0995 0 0.05 0,1

0.1  1 1 0.92 1
0.15 1 1 0.92 1

0.18 0 60 0 0.0013333
0.25 0 60 0 0.0013333

0.2505 0 0.05 0 1
0.2995 0 0.05 0 1

0.3  1 1 0.92 1
0.36 1 1 0.92 1

0.41 0 400 0 0.0002
0.5  0 400 0 0.0002
EoF
cat temp.cof
rm -f temp.cof

#==================================
echo "${L}BPF9: N=24 lowpass filter (Density 10, c.f. BPF2)"
$DFIR -n 24 -g 10 << EoF
0,   1,1
0.08,1,1

0.16,0,1
0.5, 0,1
EoF

#==================================
echo "${L}BPF10: N=24 lowpass filter (High grid density, c.f. BPF2)"
$DFIR -n 24 -g 100 << EoF
0,   1,1
0.08,1,1

0.16,0,1
0.5, 0,1
EoF

#==================================
echo "${L}BPF11: N=33 highpass filter (zero dc response)"
cat > filt.spc << EoF
0    0 1 0 0

300  1 1
4000 1 1
EoF
$DFIR -n 33 -s 8000 < filt.spc
rm -f filt.spc

#==================================
echo "${L}DIF1: N=32 differentiator"
$DFIR -n 32 -t dif << EoF
0,  1,1
0.5,1,1
EoF

#==================================
echo "${L}HIL1: N=20 Hilbert transformer"
$DFIR -n 20 -t hil << EoF
0.05,1,1
0.5, 1,1
EoF
