Presentation is loading. Please wait.

Presentation is loading. Please wait.

Implementation of a noise subtraction algorithm using Verilog HDL University of Massachusetts, Amherst Department of Electrical & Computer Engineering,

Similar presentations


Presentation on theme: "Implementation of a noise subtraction algorithm using Verilog HDL University of Massachusetts, Amherst Department of Electrical & Computer Engineering,"— Presentation transcript:

1 Implementation of a noise subtraction algorithm using Verilog HDL University of Massachusetts, Amherst Department of Electrical & Computer Engineering, Course 559/659 by Perry Levy, Aseem Pangotra, Stephan Stiglmayr and Thomas Kunkel Team Leader: Prof. Maciej Ciesielski

2 Noise-subtracting algorithm " Time to frequency transformation " Subtraction of magnitudes " Distortion correction " Frequency to time transformation Algorithm Modules FFT Subtraction In- / Output

3 Noise-subtracting algorithm Algorithm Modules FFT Subtraction In- / Output

4 Noise-subtracting algorithm " Serial data " Shifts of 16bits " Storing in 1032 x 32bit memory " Flushing memory to FFT after receiving of 256 pairs of data Algorithm Modules FFT Subtraction In- / Output

5 Noise-subtracting algorithm State machine storing data in memory Flushing memory Buffering data Emptying buffer Reset256 pairs Mem flushed Buffer emptied Algorithm Modules FFT Subtraction In- / Output

6 Noise-subtracting algorithm Block Diagram Data SCLK LRCLK ResetData Address WR RD Flushing EnableDone Hold Data Real part Imaginary Valid Output Serial shifter 16bit counter Address generator Buffer Finite state machine 1024 x 32bit RAM Algorithm Modules FFT Subtraction In- / Output

7 Noise-subtracting algorithm " Parallel input and output of variables " 16Bit address, 8Bit data (compatible to microcontroller) " Preset values when resetting Algorithm Modules FFT Subtraction In- / Output

8 Noise-subtracting algorithm " Implementation of Radix 2 algorithm " Window length 1024 " 16Bit fixed point arithmetics " 2 FFTs at the same time by using real and imaginary signal " Reconstruction afterwards needed Algorithm Modules FFT Subtraction In- / Output

9 + + WkWk A B C D - x Noise-subtracting algorithm " Butterfly structure as fundamental cell Algorithm Modules FFT Subtraction In- / Output

10 Noise-subtracting algorithm W0W0 W0W0 W2W2 W2W2 W3W3 W0W0 W2W2 W1W1 f(0) f(7) F(0) F(1) F(2) F(3) F(4) F(5) F(6) F(7) Signal-flow Graph for 8 point FFT Algorithm Modules FFT Subtraction In- / Output

11 Noise-subtracting algorithm " Sequential implementation " 1Bit shiftdown after each step to prevent overflow " RAM 1024 x 32Bit " Controller (Finite state machine) " Address generator " Coefficient ROM Algorithm Modules FFT Subtraction In- / Output

12 Noise-subtracting algorithm ram_addr1 Controller Address Generator RAM Butterfly Processor Coeff. ROM rom_addr ram_addr2 twiddle write_en read_en Data Bus io_mode fft_mode input_mode fft_doneio_done bus_select Data In Data Out input_readyoutput_ready 1010 10 32 FFT PROCESSOR Block Diagram Algorithm Modules FFT Subtraction In- / Output

13 Noise-subtracting algorithm Delay estimation Input: 512 FFT processing:2*512*10 output:512 Sum 11264 clock cycles Algorithm Modules FFT Subtraction In- / Output

14 Noise-subtracting algorithm Simulations Algorithm Modules FFT Subtraction In- / Output

15 Noise-subtracting algorithm Spectra reconstruction Re Im Re Im Re Im Algorithm Modules FFT Subtraction In- / Output

16 Noise-subtracting algorithm Error compared to 32bit floating point 020004000600080001000012000 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Absolute Error Algorithm Modules FFT Subtraction In- / Output

17 Noise-subtracting algorithm Error compared to 32bit floating point Algorithm Modules FFT Subtraction In- / Output

18 (absolute values plotted) Noise-subtracting algorithm Error compared to 32bit floating point Algorithm Modules FFT Subtraction In- / Output

19 Noise-subtracting algorithm 16 Alpha Beta Sub Comp a sel b 1 if x>y, else 0 x Block diagram Algorithm Modules FFT Subtraction In- / Output

20 Noise-subtracting algorithm Inputs: two, 16 unsigned bits each ( A and B) Multiplication: Alpha and Beta terms Subtraction: ((original A)-(Alpha*B)) Comparators: (A > B) out =1, else out =0 Multiplexer: (Inputs: Select, A*Beta, subtractor output) Select = 1, final_out = x Select = 0, final_out = y Algorithm Modules FFT Subtraction In- / Output


Download ppt "Implementation of a noise subtraction algorithm using Verilog HDL University of Massachusetts, Amherst Department of Electrical & Computer Engineering,"

Similar presentations


Ads by Google