We were just talking about the classic lowpass filter forms (Chebyshev and such) and their history, being used to optimize the creation of log tables and such.
The classic functions map beautifully into electronics, but there's no reason that an electronic filter has to follow any of those forms; it only needs to work. Hence fiddled filters, parts values just diddled until the filter is good enough.
This filter below is to lowpass a DDS output to make a sine wave in the range 250 Hz to 5 KHz. The DDS is actually software in a small ARM that has an onboard DAC. The DDS runs off a 50 KHz interrupt. That was interesting too.
The filter was fiddled to use quad rpacks and cap values that were needed on the board anyhow.
The s/h in the sim sort of approximates the waveform from the DDS dac.
Version 4 SHEET 1 2660 884 WIRE 1024 -96 928 -96 WIRE 1168 -96 1104 -96 WIRE 928 -32 928 -96 WIRE 928 80 928 48 WIRE 288 96 224 96 WIRE 544 96 288 96 WIRE 2208 96 2176 96 WIRE 544 128 384 128 WIRE 2208 128 2208 96 WIRE 224 144 224 96 WIRE 784 144 720 144 WIRE 816 144 784 144 WIRE 1024 144 928 144 WIRE 1168 144 1168 -96 WIRE 1168 144 1104 144 WIRE 1200 144 1168 144 WIRE 1248 144 1200 144 WIRE 1392 144 1328 144 WIRE 1456 144 1392 144 WIRE 1600 144 1536 144 WIRE 1696 144 1600 144 WIRE 1840 144 1776 144 WIRE 1904 144 1840 144 WIRE 2048 144 1984 144 WIRE 2176 144 2048 144 WIRE 544 160 448 160 WIRE 2272 160 2240 160 WIRE 2336 160 2272 160 WIRE 2368 160 2336 160 WIRE 2176 176 2128 176 WIRE 928 192 928 144 WIRE 384 208 384 128 WIRE 816 208 816 144 WIRE 880 208 816 208 WIRE 1392 208 1392 144 WIRE 1600 208 1600 144 WIRE 1840 208 1840 144 WIRE 2048 208 2048 144 WIRE 2208 224 2208 192 WIRE 2208 224 2176 224 WIRE 224 256 224 224 WIRE 880 256 816 256 WIRE 448 288 448 160 WIRE 1392 304 1392 272 WIRE 1600 304 1600 272 WIRE 2048 304 2048 272 WIRE 816 336 816 256 WIRE 928 336 928 272 WIRE 1104 352 1040 352 WIRE 1136 352 1104 352 WIRE 1280 352 1232 352 WIRE 1312 352 1280 352 WIRE 1840 368 1840 272 WIRE 2128 368 2128 176 WIRE 2128 368 1840 368 WIRE 2272 368 2272 160 WIRE 2272 368 2128 368 WIRE 1040 400 1040 352 WIRE 1232 400 1232 352 WIRE 448 416 448 368 WIRE 1040 512 1040 480 WIRE 1232 512 1232 480 FLAG 1600 304 0 FLAG 1040 512 0 FLAG 1232 512 0 FLAG 1104 352 P FLAG 1280 352 N FLAG 224 256 0 FLAG 288 96 GEN FLAG 448 416 0 FLAG 384 208 0 FLAG 928 336 0 FLAG 816 336 0 FLAG 928 80 0 FLAG 2048 304 0 FLAG 2176 224 P FLAG 2176 96 N FLAG 2336 160 OUT FLAG 1392 304 0 FLAG 784 144 DDS FLAG 1200 144 IN SYMBOL res 1120 128 R90 WINDOW 0 -50 55 VBottom 2 WINDOW 3 -42 58 VTop 2 SYMATTR InstName R1 SYMATTR Value 1 SYMBOL res 1344 128 R90 WINDOW 0 -54 57 VBottom 2 WINDOW 3 -42 58 VTop 2 SYMATTR InstName R3 SYMATTR Value 1K SYMBOL res 1552 128 R90 WINDOW 0 -52 63 VBottom 2 WINDOW 3 -42 61 VTop 2 SYMATTR InstName R4 SYMATTR Value 1K SYMBOL cap 1376 208 R0 WINDOW 0 -67 31 Left 2 WINDOW 3 -72 64 Left 2 SYMATTR InstName C3 SYMATTR Value 10n SYMBOL cap 1584 208 R0 WINDOW 0 -68 26 Left 2 WINDOW 3 -70 60 Left 2 SYMATTR InstName C4 SYMATTR Value 10n SYMBOL voltage 1040 384 R0 WINDOW 0 58 46 Left 2 WINDOW 3 62 86 Left 2 SYMATTR InstName V2 SYMATTR Value 5 SYMBOL voltage 1232 384 R0 WINDOW 0 58 46 Left 2 WINDOW 3 62 86 Left 2 SYMATTR InstName V3 SYMATTR Value -5 SYMBOL voltage 224 128 R0 WINDOW 0 48 128 Left 2 WINDOW 3 -13 176 Left 2 WINDOW 123 27 173 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V4 SYMATTR Value SINE(0 1 5.15K) SYMBOL SpecialFunctions\\sample 624 128 R0 WINDOW 0 -12 -40 Left 2 SYMATTR InstName A1 SYMBOL voltage 448 272 R0 WINDOW 0 70 77 Left 2 WINDOW 3 29 121 Left 2 WINDOW 123 27 173 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V5 SYMATTR Value PULSE(0 2 0 1u 1u 5u 20u) SYMBOL e 928 176 R0 WINDOW 0 51 60 Left 2 WINDOW 3 58 96 Left 2 SYMATTR InstName E1 SYMATTR Value 1 SYMBOL voltage 928 -48 R0 WINDOW 0 -123 19 Left 2 WINDOW 3 -187 55 Left 2 WINDOW 123 -133 95 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V1 SYMATTR Value SINE(0 1 1K) SYMATTR Value2 AC 1 SYMBOL res 1120 -112 R90 WINDOW 0 75 57 VBottom 2 WINDOW 3 85 57 VTop 2 SYMATTR InstName R2 SYMATTR Value 1g SYMBOL res 1792 128 R90 WINDOW 0 -51 58 VBottom 2 WINDOW 3 -42 58 VTop 2 SYMATTR InstName R5 SYMATTR Value 10K SYMBOL res 2000 128 R90 WINDOW 0 -52 63 VBottom 2 WINDOW 3 -42 61 VTop 2 SYMATTR InstName R6 SYMATTR Value 5K SYMBOL cap 1824 208 R0 WINDOW 0 -67 31 Left 2 WINDOW 3 -72 64 Left 2 SYMATTR InstName C2 SYMATTR Value 10n SYMBOL cap 2032 208 R0 WINDOW 0 -71 32 Left 2 WINDOW 3 -67 68 Left 2 SYMATTR InstName C5 SYMATTR Value 1n SYMBOL Opamps\\UniversalOpamp2 2208 160 M180 WINDOW 0 65 95 Left 2 SYMATTR InstName U1 TEXT 1464 400 Left 2 !.tran 5m\n \n; .ac dec 20 1K 100K TEXT 1288 -72 Left 2 ;10KHz 5P DDS LPF per Rev B PCB TEXT 1392 -24 Left 2 ;JL Nov 6, 2018 TEXT 584 24 Left 2 ;DDS SIM TEXT 496 304 Left 2 ;50 KHz IRQ TEXT 2248 96 Left 2 ;OPA197