IIR Filter Design procedure using bilinear transform Step 1: Prewarp any critical frequency in the digital filter specs. π_π=2/π tanβ‘(π_π π/2) Step 2: Find a suitable normalized prototype analogue LPF, H(s) e.g., for Butterworth 1st order: π»(π )=1/(π +1) 2nd order: π»(π )=1/(π ^2+β2 π +1) Step 3: Denormalization according to filter type LPF: π =π /π_π, HPF: π =π_π/π , BPF: π =(π ^2+π_π^2 )/π π, BSF: π =π π/(π ^2+π_π^2) where π=π_2βπ_1, π_π^2=π_2 π_1 Step 4: Map from s-domain to z-domain π =2/π (π§β1)/(π§+1) ref: https://www.youtube.com/watch?v=Eg93IqRG7QI&list=PLj6E8qlqmkFuUfwSfmEXgjeJI33ZxxmSd&index=31 For each C file gcc XXXXX.c -o XXXXX In addition, I tried to write my first makefile based on the rule in this video https://www.youtube.com/watch?v=_r7i5X0rXJk compile: type "make" clean file: type "make clean" in this makefile, "main.c" is the same as "IIRfilter_way2_floatPoint.c"