espressif / esp-adf

Espressif Audio Development Framework
Other
1.53k stars 671 forks source link

SOLVED: An ESP32-S3 1½cycle/tap fp32 FIR filter of arbitrary length and decimation (AUD-4647) #1016

Open f4lc0n-asm opened 1 year ago

f4lc0n-asm commented 1 year ago

Hello,

since ESP-DSP was not able to include this solution for 4 months, I am hereby offering it directly to you. Two versions are available: • v3.x is less stringent on allocation and size of FIR coefficients and delay line, but it is slightly slower and its code bulkier than v4.x • v4.x is just the opposite of v3.x :)

I am attaching the full ASM sources with validation routines in C (study them to see how to setup and use the FIR filters) and appropriate license. Extract them with 7-Zip (the actual format is 7-Zip with several times better compression than generic ZIP). Feel free to add them to your project!

Any question or tweaking request? Ask here! I am very busy so I did it this way…

Cheers!

f4lc0n

FIR_fp32_1.5c_per_tap_v3.5.zip Changed: A0 save/restore - the stack not used anymore.

FIR_fp32_1.5c_per_tap_v4.5.zip Changed: A0 save/restore - the stack not used anymore.

jason-mao commented 1 year ago

@f4lc0n-asm Thank you for your contribution. We will merge to esp-dsp.