Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8FFT and Filters for AudioOverview●System which takes 8kHz samples and returns:–Filtered audio●Using an FIR Filter–Spectrum Analyzer Output●Using a FFTAC97FIRFilterAudioModuleCircular Buffer10230offsetabButterfly ModuleBuffer 1Buffer2Operand ModuleTwiddleFactorsBuffer SystemAnalyzerModuleFFTTo monitorBuffer System●Circular Buffer stores the newest input in the 1023 offset●The two buffer system allows for two reads and two writes to take place in a smaller number of cycles●All memory will hold a 32 bit complex numberimaginary real35 18 17 0Basic ButterflyabWNn = (e-j2 π / N) nFn = a + WNn * bFn + N/2= a - WNn * bComplex Multiplication in Butterflya_real = ara_imaginary = aib_real = brb_imaginary = biw_real = wrw_imaginary = wi(br + jbi)(wr + jwi)(ar + jai) + (br + jbi)(wr + jwi)(ar + jai) - (br + jbi)(wr + jwi)4 multiplications10 Levels * 512 different inputs = 5120 cycles of Butterfly Module for one full FFTButterfly ModuleBuffer 1Buffer2Operand ModuleTwiddleFactorsBuffer SystemFFTTimeline●Nov. 22 – Completed Testing for Butterfly Implementation in Python●Nov. 24 – First Implementation of Butterfly in Verilog●Dec. 1 – Completed FFT Module●Dec. 3 – Visual Output Implementation Complete●Dec. 5 – FIR Filters
View Full Document