What does IIR and FIR filter are used for in embedded

From your oscillscope traces, it looks like the region of interest is the about 50us wide, starting 90us after the A.out rise.

Since analogRead() takes about 100us per analogRead() - Arduino Reference so you could get a value in the window, and with the target at 1 foot out it's pretty much back to baseline by t+200us.

About the best you can do (without low-level, fast ADC trickery) is start one single analogRead() after or in sync with the pulse and use that value.