Jessica Arbona & Christopher Brady Dr. In Soo Ahn & Dr. Yufeng Lu, Advisors • • • • • • Goal Adaptive Filter ◦ Adaptive Filtering System ◦ Four Typical Applications of Adaptive Filters ◦ How does the Adaptive Filter Work? Project Description ◦ High Level Flowchart ◦ Equipment List ◦ Design Approach Procedure ◦ MATLAB Simulation (Speech Data) ◦ Hardware Design (Ultrasound Data) ◦ FIR filter structures (Ultrasound Data) ◦ DSP/FPGA Implementation (Speech Data) Demonstration Conclusion 2 The goal of the project is to design and implement an active noise cancellation system using an adaptive filter. 3 4 The adaptive filtering system contains four signals: reference signal, d(n), input signal, x(n), output signal, y(n), and the error signal, e(n). The filter, w(n), adaptively adjusts its coefficients according to an optimization algorithm driven by the error signal. ∑ 5 ∑ Adaptive System Identification ∑ Adaptive Noise Cancellation d(n) Noise Delay x(n) FIR Adaptive Filter y(n) Adaptive Filter Algorithm Adaptive Prediction ∑ e(n) Adaptive Inverse 6 Cost Function J E{e2 (n)} Wiener-Hopf equation ◦ Df opt 1 RXX rdX Least Mean Square (LMS) Recursive Least Square (RLS) 7 Widrow-Hoff LMS Algorithm ◦ f ( n 1) f ( n) ( n) 2 ◦ (n) 2 e(n) X (n) f (n 1) ◦ d f (n) e(n) X (n) 8 • • • µ is the step size µ must be determined in for the system to converge 2 f0 3 L rXX (0) 9 • RXX (n 1) • rdX (n 1) • RXX (n) X (n) X T (n) rdX (n) d (n) X (n) 1 f (n 1) RXX (n 1) rdX (n 1) 10 11 ∑ 12 Design Tools MATLAB/Simulink Xilinx System Generator Xtreme DSP development kit: Hardware FPGA device (Virtex4 xC4SX35-10FF668) Two 14- bit DAC onboard channels Ultrasound Data SignalWave DSP/FPGA board Audio CODEC (sampling frequency varies from 8kHZ to 48kHZ) Real-time workshop and Xilinx system generator in MATLAB/Simulink TI DSP (TMS320C6713) and Xilink Virtex II FPGA (XC2V300FF1152) Speech Data 13 Simulation MATLAB ◦ Least Mean Square (LMS) ◦ Recursive Least Square (RLS) Hardware Least Mean Square ◦ Design ◦ Test FIR filter structures ◦ Implement 14 15 16 Speech Data Processing MATLAB simulation with Tap (L) = 10 ◦ LMS ◦ RLS Speech Data Recorded Voice Signal Recorded Engine Noise 17 Figure 1: Desired Signal Figure 3: Reference Signal Figure 2: Noise Signal 18 LMS Figure 4: LMS Filter Coefficients RLS Figure 5: RLS Filter Coefficients 19 LMS Figure 8: Desired Signal and Recovered Signal RLS Figure 9: Desired Signal and Recovered Signal Green – Desired Signal Blue – Recovered Signal 20 21 System Components Xilinx Blocks ROM Block Multiplexer (2x) Adaptive Filter Xtreme DSP Block DAC Block (2x) 22 23 Description: •L = 6 • Adaptive FIR Filter 24 25 26 27 XtremeDSP- Virtex 4 Hardware Results Orange – Input signal Blue – Output Signal 28 29 30 31 32 33 34 35 36 37 38 System Components Xilinx Blocks ROM Block Adaptive Filter 39 40 Description: • L =10 • Adaptive FIR Filter 41 42 43 44 Figure 12: Desired Signal and Recovered Signal Figure 13: Spectrum of Desired and Recovered Signals 45 46 The adaptive filter is successfully simulated in MATLAB using various types of noise. The simulation results show a 24 dB reduction in the mean square error. These results are used in developing the Xilinx model of the system. After the system is successfully designed, alternative FIR structures are investigated in an attempt to improve efficiency. The standard FIR structure is found to be better suited for hardware implementation on a DSP/FPGA board. 47 The adaptive filter is successfully simulated in MATLAB using various types of noise. The simulation results show a 24 dB reduction in the mean square error. These results are used in developing the Xilinx model of the system. After the system is successfully designed, alternative FIR structures are investigated in an attempt to improve efficiency. The standard FIR structure is found to be better suited for hardware implementation on a DSP/FPGA board. 48