* Z:\home\khalils\Downloads\files\data\raw_asc\0a9c5f683fb8_FIR_Filter_200_taps.asc
* Generated by LTspice 26.0.1 for Windows.
* .tran 0 {TSWEEP} 0 {Ts/20}
* Bandpass FIR-filter With 200 Taps \nHelmut Sennewald 08/19/2006\nhttp://www.dsptutor.freeuk.com/KaiserFilterDesign/KaiserFilterDesign.html
* SUM
* a0
* a1
* a2
* a200
* a199
* t1
* t2
* t200
* Gsum.cir
* Coeff.txt
* Tline.cir
* .AC-source
* delay = n_taps/2 * TS
* Test Sweep Generator
* Sample/Hold
* Clock Source
* External Files For The Filter
* Sweep Source Setting
* Filter Input ->
* Filter Output
* Voltage prop. to freq.\nat sum-output
* Voltage prop. to freq.\nat sig_analog
* ENABLE .TRAN or .AC SIMULATION
* Alternatively the sample/hold A1 could be \nbypassed (replaced by short). The sampled \noutput at the time stamps "n*TS" of node \nV(sum) would be exactly the same in this case.
* bypass
A1 sig_analog 0 clk 0 0 0 sh0 0 SAMPLEHOLD Vhigh=1e6 Vlow=-1e6
VAC N001 sh0 0 AC 1
E1 z0 0 N001 0 1
V3 clk 0 PULSE(0 1 0 1p 1p {TS/2} {TS})
RT z200 0 {Z0}
Rsum sum 0 1
BTG1 sig_analog 0 V=sin(2*pi*(f1+(f2-f1)/(2*TSWEEP}*time)*time)
BTG2 freq0 0 V=(f1+(f2-f1)/(2*TSWEEP}*time)*2
BTG3 freqV 0 V=delay(V(freq0),{100*TS})
.param f1=1 f2=4000
.ac lin 4000 1 4000
.options plotwinsize=0
.include Tline200.cir
.include Gsum200.cir
.include Coeffbp300_3500.txt
.param FS=8kHz
.param TS=1/FS
.param TSWEEP=2
.param Z0=100
.save V(sig_analog) V(sh0) V(z0) V(z200) V(sum) V(freqV) V(freq0) V(clk)
.backanno
.end

* LTspice schematic (.asc):
Version 4
SHEET 1 2124 772
WIRE 672 32 640 32
WIRE 672 64 672 32
WIRE 672 64 432 64
WIRE 784 64 672 64
WIRE 1232 64 1216 64
WIRE 32 80 -16 80
WIRE 1232 96 1232 64
WIRE 432 112 432 64
WIRE 256 128 208 128
WIRE 288 128 256 128
WIRE 384 128 368 128
WIRE 0 144 -96 144
WIRE 32 144 0 144
WIRE 1232 192 1232 176
WIRE 384 208 384 176
WIRE 432 208 432 192
WIRE -96 224 -96 144
WIRE -96 336 -96 304
WIRE 816 368 800 368
WIRE 976 368 896 368
WIRE 976 464 976 368
WIRE 1008 464 976 464
WIRE -64 608 -112 608
WIRE 528 608 480 608
WIRE 1008 608 960 608
WIRE -112 640 -112 608
WIRE 480 640 480 608
WIRE 960 640 960 608
WIRE -112 736 -112 720
WIRE 480 736 480 720
WIRE 960 736 960 720
IOPIN 640 32 In
IOPIN 1008 464 Out
IOPIN -16 80 In
LINE Normal 800 96 800 64
LINE Normal 864 96 864 64
LINE Normal 928 96 928 64
LINE Normal 1136 96 1136 64
LINE Normal 816 64 784 64
LINE Normal 880 64 848 64
LINE Normal 928 64 912 64
LINE Normal 1216 64 1120 64
LINE Normal 1088 64 1072 64
LINE Normal 800 176 800 128
LINE Normal 929 259 800 176
LINE Normal 864 176 864 128
LINE Normal 941 245 864 176
LINE Normal 928 176 928 128
LINE Normal 928 176 928 176
LINE Normal 957 234 928 176
LINE Normal 1072 96 1072 64
LINE Normal 1072 176 1072 128
LINE Normal 1009 241 1072 176
LINE Normal 1136 176 1136 128
LINE Normal 1020 261 1136 176
LINE Normal 976 368 976 328
LINE Normal 1072 64 928 64 2
LINE Normal 1072 64 1072 64 2
LINE Normal 1072 64 1072 64 2
LINE Normal 992 352 976 368
LINE Normal 960 352 976 368
LINE Normal 576 576 -192 576
LINE Normal 576 576 576 576
LINE Normal 1344 576 576 576
LINE Normal 1344 768 1344 576
LINE Normal -192 768 1344 768
LINE Normal -192 576 -192 768
LINE Normal 0 -32 0 64 2
LINE Normal 239 -34 -1 -34 2
LINE Normal 240 96 240 -32 2
LINE Normal 16 48 0 64 2
LINE Normal -16 48 0 64 2
LINE Normal -16 48 -16 48 2
LINE Normal 256 80 240 96 2
LINE Normal 224 80 240 96 2
LINE Normal 256 -120 192 -56 2
LINE Normal 496 -120 256 -120 2
LINE Normal 640 -264 496 -120 2
LINE Normal 864 -264 640 -264 2
LINE Normal 864 -296 864 -264 2
LINE Normal 208 -56 192 -56 2
LINE Normal 192 -72 192 -56 2
RECTANGLE Normal 1344 416 736 0
RECTANGLE Normal 848 80 816 48
RECTANGLE Normal 912 80 880 48
RECTANGLE Normal 1120 80 1088 48
RECTANGLE Normal 1024 80 992 48 2
RECTANGLE Normal 512 416 -192 0
RECTANGLE Normal 1136 -64 736 -240
CIRCLE Normal 816 128 784 96
CIRCLE Normal 880 128 848 96
CIRCLE Normal 944 128 912 96
CIRCLE Normal 1152 128 1120 96
CIRCLE Normal 1024 328 928 232
CIRCLE Normal 1088 128 1056 96
SYMBOL bv 480 624 R0
WINDOW 0 14 18 Left 0
WINDOW 3 24 98 Left 0
SYMATTR InstName BTG2
SYMATTR Value V=(f1+(f2-f1)/(2*TSWEEP}*time)*2
SYMBOL voltage -96 208 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 3 39 94 Left 0
SYMATTR Value PULSE(0 1 0 1p 1p {TS/2} {TS})
SYMATTR InstName V3
SYMBOL SpecialFunctions\\sample 112 112 R0
SYMATTR InstName A1
SYMATTR Value2 Vhigh=1e6 Vlow=-1e6
SYMBOL voltage 384 128 R90
WINDOW 0 -32 56 VBottom 0
WINDOW 3 32 56 VTop 0
WINDOW 123 60 56 VTop 0
WINDOW 39 0 0 Left 0
SYMATTR InstName VAC
SYMATTR Value 0
SYMATTR Value2 AC 1
SYMBOL bv -112 624 R0
WINDOW 0 35 23 Left 0
WINDOW 3 28 97 Left 0
SYMATTR InstName BTG1
SYMATTR Value V=sin(2*pi*(f1+(f2-f1)/(2*TSWEEP}*time)*time)
SYMBOL res 1216 80 R0
SYMATTR InstName RT
SYMATTR Value {Z0}
SYMBOL bv 960 624 R0
WINDOW 0 14 18 Left 0
WINDOW 3 31 99 Left 0
SYMATTR InstName BTG3
SYMATTR Value V=delay(V(freq0),{100*TS})
SYMBOL e 432 96 R0
SYMATTR InstName E1
SYMATTR Value 1
SYMBOL res 912 352 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName Rsum
SYMATTR Value 1
FLAG -112 736 0
FLAG -64 608 sig_analog
FLAG -96 336 0
FLAG 640 32 z0
FLAG 800 368 0
FLAG 1008 464 sum
FLAG 384 208 0
FLAG 432 208 0
FLAG 480 736 0
FLAG 1008 608 freqV
FLAG 960 736 0
FLAG 528 608 freq0
FLAG 1232 192 0
FLAG 1232 64 z200
FLAG -16 80 sig_analog
FLAG 0 144 clk
FLAG 256 128 sh0
TEXT -192 -176 Left 0 ;.tran 0 {TSWEEP} 0 {Ts/20}
TEXT -192 -400 Left 0 ;Bandpass FIR-filter With 200 Taps \nHelmut Sennewald 08/19/2006\nhttp://www.dsptutor.freeuk.com/KaiserFilterDesign/KaiserFilterDesign.html
TEXT 272 -200 Left 0 !.param f1=1 f2=4000
TEXT -192 -104 Left 0 !.ac lin 4000 1 4000
TEXT -192 -144 Left 0 !.options plotwinsize=0
TEXT 792 -104 Left 0 !.include Tline200.cir
TEXT 792 -136 Left 0 !.include Gsum200.cir
TEXT 792 -168 Left 0 !.include Coeffbp300_3500.txt
TEXT -192 -288 Left 0 !.param FS=8kHz\n.param TS=1/FS
TEXT 272 -168 Left 0 !.param TSWEEP=2
TEXT 1136 240 Left 0 !.param Z0=100
TEXT 952 280 Left 0 ;SUM
TEXT 808 144 Left 0 ;a0
TEXT 872 144 Left 0 ;a1
TEXT 936 144 Left 0 ;a2
TEXT 1144 144 Left 0 ;a200
TEXT 1080 144 Left 0 ;a199
TEXT 824 32 Left 0 ;t1
TEXT 888 32 Left 0 ;t2
TEXT 1088 32 Left 0 ;t200
TEXT 1032 296 Left 0 ;Gsum.cir
TEXT 960 112 Left 0 ;Coeff.txt
TEXT 960 24 Left 0 ;Tline.cir
TEXT 264 56 Left 0 ;.AC-source
TEXT 1024 688 Left 0 ;delay = n_taps/2 * TS
TEXT -192 552 Left 0 ;Test Sweep Generator
TEXT -192 -24 Left 0 ;Sample/Hold
TEXT -48 256 Left 0 ;Clock Source
TEXT 800 -208 Left 0 ;External Files For The Filter
TEXT 272 -232 Left 0 ;Sweep Source Setting
TEXT 568 88 Left 0 ;Filter Input ->
TEXT 1096 464 Left 0 ;Filter Output
TEXT 1096 608 Left 0 ;Voltage prop. to freq.\nat sum-output
TEXT 608 608 Left 0 ;Voltage prop. to freq.\nat sig_analog
TEXT -192 -208 Left 0 ;ENABLE .TRAN or .AC SIMULATION
TEXT 664 -400 Left 0 ;Alternatively the sample/hold A1 could be \nbypassed (replaced by short). The sampled \noutput at the time stamps "n*TS" of node \nV(sum) would be exactly the same in this case.
TEXT 96 -56 Left 0 ;bypass
TEXT -200 464 Left 0 !.save V(sig_analog) V(sh0) V(z0) V(z200) V(sum) V(freqV) V(freq0) V(clk)