SlideShare a Scribd company logo
University of Quebec–Trois-Rivières
Department of Electrical and Computer Engineering
Course GEI-1064: VLSI Design
FPGA implementation of an LMS-based adaptive noise
canceller (ANC)
Prepared by: Hocine MERABTI, F. NOUGAROU and D. MASSICOTTE
Fall 2016 1
Skills learned in the course
 Introduction to the least mean squares (LMS) algorithm
 Hardware modeling of the LMS using VHDL
 Design verification using behavioral simulation
 Synthesis, place & route and resource utilization report generation
 Design verification using post-route simulation
 Bitstream generation and FPGA implementation of an adaptive noise canceller
(ANC)
2
Introduction to the adaptive noise cancellation problem
(Helicopter Cockpit)
3Figure 1: ANC application example (images from Google Images)
Main acoustic noise sources
• Blades noise
• Engine noise
Mathematical modeling of the ANC problem
4Figure 2: ANC system

Adaptive
Filter (FIR-LMS)
+
-
ANC Block
ˆ( ) ( ) ( )y n h n n 
Filter output
( )y n
Primary input
( ) ( ) ( )s n h n n 
Reference input
( )n
Error ( )e n
System output
( )e nPilot
Speech s(n)
Blades noise
η (n)
ˆ( ) ( ) ( ) ( ) ( ) ( )
ˆIf ( ) ( ), we get:
( ) ( )
e n s n h n n h n n
h n h n
e n s n
     


 2
LMS: min ( )E e n
ˆ( )h n
Acoustic path
Matlab FPGA
Introduction to the Zybo Zync-7000
Figure 3: Zybo Zync-7000 [1]
5
Introduction to the Zybo Zync-7000
Audio codec features (SSM2603)
Table 2: SSM2603-Zync interface [1]
Parameter Value
Protocols I2C,I2S
Headphone out Stereo
Line out Stereo
Line in Stereo
Mic in Mono
Sampling frequency 48 Khz
Word-length 16- 32bits
Table 1: Analog Devices SSM2603 features [2]
6
SSM2603 configuration sequence (I2C)
7
Start
Power management
<0x0C,0x72>
Left-chan. ADC volume
<0x00,0x17>
Right-chan. ADC volume
<0x01,0x17>
Analog audio path
<0x08,0x10>
Digital audio path
<0x0A,0x00>
Digital audio I/F
<0x0E,0x42>
Sampling rate
<0x10,0x00>
Active
<0x12,0x01>
Power management
<0x0C,0x60>
End
Architecture of the LMS based ANC
Figure 4: Architecture of the ANC system
8
3-Taps
FIR-LMS
Hardware
driver
(I2C, I2S)
SSM2603
Headphone
Line in
LMS_clk (1)CLK (1)
LMS_reset (1)RST (1)
L_bus (18)
R_bus (18)
Error (16)
ANC On/Off
FPGA
LMS_pure_noise (16)Yb (16)
LMS_corrupted_speech (16)Ybin (16)
Filtering system architecture
Filter integration in the project (Main.vhd)
 Add the source files of your 3-taps FIR-LMS to project « ANC-LMS » (after performing
ModelSim-Matlab design verification)
 Declare the FIR-LMS component in the source file « Main.vhd »
 Perform instantiation of the FIR-LMS component using the following mapping:
(make sure the Reset signal of your components is active high)
9
Filtering system architecture
FPGA pins assignment
The assignment of the FPGA pins to the
design elements is defined in the user
constraints file (.xdc). The placement
constraints « set_property » and
« get_ports » are used for this purpose
(figure 5).
The electrical interface of the FPGA’s I/O
with the board peripherals can be found in
the manufacturer data sheet (atlys_sch.pdf). Figure 5: Pins assignment in the constraints file
10
FPGA design implementation
 Run « Synthesize ». Make sure that all the design signals are interconnected correctly by
visualising the RTL schematic
 Run « Implement Design » and « Generate Programming File »
 Power-up and connect the Zybo board to your PC (using USB PROG interface)
 Run the Harware Manager tool
1) Open target
2) Program device
11
FPGA design implementation
 Disable ANC (audio loopback) using « SW1 » (LED1 "off")
 Play soundtrack « Audio_combined.wav » (Generated with Matlab. Right
channel: noisy speech, Left channel: pure noise)
 Enable ANC (audio goes through FIR-LMS bloc) using « SW1 » (LED1 "on")
 Play the soundtrack again« Audio_combined.wav »
 Enjoy!
Design validation (figure 6)
12
FPGA design implementation
Figure 6: Test and validation
Line in
Headphone
Power
Switch
USB PROG
SW7
13
References
[1] https://reference.digilentinc.com/_media/zybo:zybo_rm.pdf
[2] http://www.analog.com/media/en/technical-documentation/data-
sheets/SSM2603.pdf
14

More Related Content

What's hot

Floating point ALU using VHDL implemented on FPGA
Floating point ALU using VHDL implemented on FPGAFloating point ALU using VHDL implemented on FPGA
Floating point ALU using VHDL implemented on FPGA
Azhar Syed
 
Neural Network Modeling for Simulation of Error Optimized QCA Adder Circuit
Neural Network Modeling for Simulation of Error Optimized QCA Adder CircuitNeural Network Modeling for Simulation of Error Optimized QCA Adder Circuit
Neural Network Modeling for Simulation of Error Optimized QCA Adder Circuit
IRJET Journal
 
Fpga 13-task-and-functions
Fpga 13-task-and-functionsFpga 13-task-and-functions
Fpga 13-task-and-functions
Malik Tauqir Hasan
 
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
cscpconf
 
The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...
NECST Lab @ Politecnico di Milano
 
Implementation of PD controller in attitude of quadcopter
Implementation of PD controller in attitude of quadcopterImplementation of PD controller in attitude of quadcopter
Implementation of PD controller in attitude of quadcopter
Tack-geun You
 
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
Shinya Takamaeda-Y
 
Ramya Project
Ramya ProjectRamya Project
Ramya Project
Ramya Purohit
 
Design & implementation of high speed carry select adder
Design & implementation of high speed carry select adderDesign & implementation of high speed carry select adder
Design & implementation of high speed carry select adder
ssingh7603
 
Lec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Performance
Lec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- PerformanceLec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Performance
Lec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Performance
Hsien-Hsin Sean Lee, Ph.D.
 
RISC Implementation Of Digital IIR Filter in DSP
RISC Implementation Of Digital IIR Filter in DSPRISC Implementation Of Digital IIR Filter in DSP
RISC Implementation Of Digital IIR Filter in DSP
iosrjce
 
design of high speed performance 64bit mac unit
design of high speed performance 64bit mac unitdesign of high speed performance 64bit mac unit
design of high speed performance 64bit mac unit
Shiva Narayan Reddy
 
Lec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Intro
Lec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- IntroLec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Intro
Lec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Intro
Hsien-Hsin Sean Lee, Ph.D.
 
VLSI Final Design Project
VLSI Final Design ProjectVLSI Final Design Project
VLSI Final Design Project
Vignesh Ganesan
 
TinyML - 4 speech recognition
TinyML - 4 speech recognition TinyML - 4 speech recognition
TinyML - 4 speech recognition
艾鍗科技
 
IRJET-ASIC Implementation for SOBEL Accelerator
IRJET-ASIC Implementation for SOBEL AcceleratorIRJET-ASIC Implementation for SOBEL Accelerator
IRJET-ASIC Implementation for SOBEL Accelerator
IRJET Journal
 
Optimized Floating-point Complex number multiplier on FPGA
Optimized Floating-point Complex number multiplier on FPGAOptimized Floating-point Complex number multiplier on FPGA
Optimized Floating-point Complex number multiplier on FPGA
Dr. Pushpa Kotipalli
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
ijceronline
 
Ieee project reversible logic gates by_amit
Ieee project reversible logic gates  by_amitIeee project reversible logic gates  by_amit
Ieee project reversible logic gates by_amit
Amith Bhonsle
 
Reversible code converter
Reversible code converterReversible code converter
Reversible code converter
Rakesh kumar jha
 

What's hot (20)

Floating point ALU using VHDL implemented on FPGA
Floating point ALU using VHDL implemented on FPGAFloating point ALU using VHDL implemented on FPGA
Floating point ALU using VHDL implemented on FPGA
 
Neural Network Modeling for Simulation of Error Optimized QCA Adder Circuit
Neural Network Modeling for Simulation of Error Optimized QCA Adder CircuitNeural Network Modeling for Simulation of Error Optimized QCA Adder Circuit
Neural Network Modeling for Simulation of Error Optimized QCA Adder Circuit
 
Fpga 13-task-and-functions
Fpga 13-task-and-functionsFpga 13-task-and-functions
Fpga 13-task-and-functions
 
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
 
The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...The CAOS framework: democratize the acceleration of compute intensive applica...
The CAOS framework: democratize the acceleration of compute intensive applica...
 
Implementation of PD controller in attitude of quadcopter
Implementation of PD controller in attitude of quadcopterImplementation of PD controller in attitude of quadcopter
Implementation of PD controller in attitude of quadcopter
 
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
 
Ramya Project
Ramya ProjectRamya Project
Ramya Project
 
Design & implementation of high speed carry select adder
Design & implementation of high speed carry select adderDesign & implementation of high speed carry select adder
Design & implementation of high speed carry select adder
 
Lec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Performance
Lec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- PerformanceLec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Performance
Lec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Performance
 
RISC Implementation Of Digital IIR Filter in DSP
RISC Implementation Of Digital IIR Filter in DSPRISC Implementation Of Digital IIR Filter in DSP
RISC Implementation Of Digital IIR Filter in DSP
 
design of high speed performance 64bit mac unit
design of high speed performance 64bit mac unitdesign of high speed performance 64bit mac unit
design of high speed performance 64bit mac unit
 
Lec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Intro
Lec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- IntroLec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Intro
Lec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Intro
 
VLSI Final Design Project
VLSI Final Design ProjectVLSI Final Design Project
VLSI Final Design Project
 
TinyML - 4 speech recognition
TinyML - 4 speech recognition TinyML - 4 speech recognition
TinyML - 4 speech recognition
 
IRJET-ASIC Implementation for SOBEL Accelerator
IRJET-ASIC Implementation for SOBEL AcceleratorIRJET-ASIC Implementation for SOBEL Accelerator
IRJET-ASIC Implementation for SOBEL Accelerator
 
Optimized Floating-point Complex number multiplier on FPGA
Optimized Floating-point Complex number multiplier on FPGAOptimized Floating-point Complex number multiplier on FPGA
Optimized Floating-point Complex number multiplier on FPGA
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Ieee project reversible logic gates by_amit
Ieee project reversible logic gates  by_amitIeee project reversible logic gates  by_amit
Ieee project reversible logic gates by_amit
 
Reversible code converter
Reversible code converterReversible code converter
Reversible code converter
 

Similar to FPGA implementation of an Adaptive Noise Canceller (ANC)

Reliability analysis of wireless automotive applications with transceiver red...
Reliability analysis of wireless automotive applications with transceiver red...Reliability analysis of wireless automotive applications with transceiver red...
Reliability analysis of wireless automotive applications with transceiver red...
rchulyada
 
Portfolio of Projects
Portfolio of ProjectsPortfolio of Projects
Portfolio of Projects
Daniele Pinto
 
BFSK RT In FPGA Thesis Pres Jps
BFSK RT In FPGA Thesis Pres JpsBFSK RT In FPGA Thesis Pres Jps
BFSK RT In FPGA Thesis Pres Jps
jpsvenn
 
Basic signal processing system design on fpga using lms based adaptive filter
Basic signal processing system design on fpga using lms based adaptive filterBasic signal processing system design on fpga using lms based adaptive filter
Basic signal processing system design on fpga using lms based adaptive filter
eSAT Journals
 
soc ip core based for spacecraft application
soc ip core based for spacecraft applicationsoc ip core based for spacecraft application
soc ip core based for spacecraft application
navyashree pari
 
Programming pic microcontrollers
Programming pic microcontrollersProgramming pic microcontrollers
Programming pic microcontrollers
MAIYO JOSPHAT
 
MIMO Testbed presentation (DSPeR'2005)
MIMO Testbed presentation (DSPeR'2005)MIMO Testbed presentation (DSPeR'2005)
MIMO Testbed presentation (DSPeR'2005)
TSC University of Mondragon
 
Technology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected CarTechnology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected Car
mentoresd
 
Nt1310 Unit 5 Algorithm
Nt1310 Unit 5 AlgorithmNt1310 Unit 5 Algorithm
Nt1310 Unit 5 Algorithm
Angie Lee
 
presentation
presentationpresentation
presentation
Luca Terrazzan
 
Resume mixed signal
Resume mixed signalResume mixed signal
Resume mixed signal
tarora1
 
Resume mixed signal
Resume mixed signalResume mixed signal
Resume mixed signal
tarora1
 
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
International Journal of Engineering Inventions www.ijeijournal.com
 
Real Time Results of a Fuzzy Neural Network Active Noise Controller
Real Time Results of a Fuzzy Neural Network Active Noise ControllerReal Time Results of a Fuzzy Neural Network Active Noise Controller
Real Time Results of a Fuzzy Neural Network Active Noise Controller
IRJET Journal
 
AAME ARM Techcon2013 004v02 Debug and Optimization
AAME ARM Techcon2013 004v02 Debug and OptimizationAAME ARM Techcon2013 004v02 Debug and Optimization
AAME ARM Techcon2013 004v02 Debug and Optimization
Anh Dung NGUYEN
 
Altera FPGA Marketing Report
Altera FPGA Marketing ReportAltera FPGA Marketing Report
Altera FPGA Marketing Report
mopplayer6
 
Thesis
ThesisThesis
Thesis
ThesisThesis
4g lte matlab
4g lte matlab4g lte matlab
4g lte matlab
Hakim Zentani
 
C211824
C211824C211824
C211824
irjes
 

Similar to FPGA implementation of an Adaptive Noise Canceller (ANC) (20)

Reliability analysis of wireless automotive applications with transceiver red...
Reliability analysis of wireless automotive applications with transceiver red...Reliability analysis of wireless automotive applications with transceiver red...
Reliability analysis of wireless automotive applications with transceiver red...
 
Portfolio of Projects
Portfolio of ProjectsPortfolio of Projects
Portfolio of Projects
 
BFSK RT In FPGA Thesis Pres Jps
BFSK RT In FPGA Thesis Pres JpsBFSK RT In FPGA Thesis Pres Jps
BFSK RT In FPGA Thesis Pres Jps
 
Basic signal processing system design on fpga using lms based adaptive filter
Basic signal processing system design on fpga using lms based adaptive filterBasic signal processing system design on fpga using lms based adaptive filter
Basic signal processing system design on fpga using lms based adaptive filter
 
soc ip core based for spacecraft application
soc ip core based for spacecraft applicationsoc ip core based for spacecraft application
soc ip core based for spacecraft application
 
Programming pic microcontrollers
Programming pic microcontrollersProgramming pic microcontrollers
Programming pic microcontrollers
 
MIMO Testbed presentation (DSPeR'2005)
MIMO Testbed presentation (DSPeR'2005)MIMO Testbed presentation (DSPeR'2005)
MIMO Testbed presentation (DSPeR'2005)
 
Technology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected CarTechnology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected Car
 
Nt1310 Unit 5 Algorithm
Nt1310 Unit 5 AlgorithmNt1310 Unit 5 Algorithm
Nt1310 Unit 5 Algorithm
 
presentation
presentationpresentation
presentation
 
Resume mixed signal
Resume mixed signalResume mixed signal
Resume mixed signal
 
Resume mixed signal
Resume mixed signalResume mixed signal
Resume mixed signal
 
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
 
Real Time Results of a Fuzzy Neural Network Active Noise Controller
Real Time Results of a Fuzzy Neural Network Active Noise ControllerReal Time Results of a Fuzzy Neural Network Active Noise Controller
Real Time Results of a Fuzzy Neural Network Active Noise Controller
 
AAME ARM Techcon2013 004v02 Debug and Optimization
AAME ARM Techcon2013 004v02 Debug and OptimizationAAME ARM Techcon2013 004v02 Debug and Optimization
AAME ARM Techcon2013 004v02 Debug and Optimization
 
Altera FPGA Marketing Report
Altera FPGA Marketing ReportAltera FPGA Marketing Report
Altera FPGA Marketing Report
 
Thesis
ThesisThesis
Thesis
 
Thesis
ThesisThesis
Thesis
 
4g lte matlab
4g lte matlab4g lte matlab
4g lte matlab
 
C211824
C211824C211824
C211824
 

Recently uploaded

一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
Madan Karki
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
gowrishankartb2005
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
Mahmoud Morsy
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
Madan Karki
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
shahdabdulbaset
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
LAXMAREDDY22
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 

Recently uploaded (20)

一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 

FPGA implementation of an Adaptive Noise Canceller (ANC)

  • 1. University of Quebec–Trois-Rivières Department of Electrical and Computer Engineering Course GEI-1064: VLSI Design FPGA implementation of an LMS-based adaptive noise canceller (ANC) Prepared by: Hocine MERABTI, F. NOUGAROU and D. MASSICOTTE Fall 2016 1
  • 2. Skills learned in the course  Introduction to the least mean squares (LMS) algorithm  Hardware modeling of the LMS using VHDL  Design verification using behavioral simulation  Synthesis, place & route and resource utilization report generation  Design verification using post-route simulation  Bitstream generation and FPGA implementation of an adaptive noise canceller (ANC) 2
  • 3. Introduction to the adaptive noise cancellation problem (Helicopter Cockpit) 3Figure 1: ANC application example (images from Google Images) Main acoustic noise sources • Blades noise • Engine noise
  • 4. Mathematical modeling of the ANC problem 4Figure 2: ANC system  Adaptive Filter (FIR-LMS) + - ANC Block ˆ( ) ( ) ( )y n h n n  Filter output ( )y n Primary input ( ) ( ) ( )s n h n n  Reference input ( )n Error ( )e n System output ( )e nPilot Speech s(n) Blades noise η (n) ˆ( ) ( ) ( ) ( ) ( ) ( ) ˆIf ( ) ( ), we get: ( ) ( ) e n s n h n n h n n h n h n e n s n          2 LMS: min ( )E e n ˆ( )h n Acoustic path Matlab FPGA
  • 5. Introduction to the Zybo Zync-7000 Figure 3: Zybo Zync-7000 [1] 5
  • 6. Introduction to the Zybo Zync-7000 Audio codec features (SSM2603) Table 2: SSM2603-Zync interface [1] Parameter Value Protocols I2C,I2S Headphone out Stereo Line out Stereo Line in Stereo Mic in Mono Sampling frequency 48 Khz Word-length 16- 32bits Table 1: Analog Devices SSM2603 features [2] 6
  • 7. SSM2603 configuration sequence (I2C) 7 Start Power management <0x0C,0x72> Left-chan. ADC volume <0x00,0x17> Right-chan. ADC volume <0x01,0x17> Analog audio path <0x08,0x10> Digital audio path <0x0A,0x00> Digital audio I/F <0x0E,0x42> Sampling rate <0x10,0x00> Active <0x12,0x01> Power management <0x0C,0x60> End
  • 8. Architecture of the LMS based ANC Figure 4: Architecture of the ANC system 8 3-Taps FIR-LMS Hardware driver (I2C, I2S) SSM2603 Headphone Line in LMS_clk (1)CLK (1) LMS_reset (1)RST (1) L_bus (18) R_bus (18) Error (16) ANC On/Off FPGA LMS_pure_noise (16)Yb (16) LMS_corrupted_speech (16)Ybin (16)
  • 9. Filtering system architecture Filter integration in the project (Main.vhd)  Add the source files of your 3-taps FIR-LMS to project « ANC-LMS » (after performing ModelSim-Matlab design verification)  Declare the FIR-LMS component in the source file « Main.vhd »  Perform instantiation of the FIR-LMS component using the following mapping: (make sure the Reset signal of your components is active high) 9
  • 10. Filtering system architecture FPGA pins assignment The assignment of the FPGA pins to the design elements is defined in the user constraints file (.xdc). The placement constraints « set_property » and « get_ports » are used for this purpose (figure 5). The electrical interface of the FPGA’s I/O with the board peripherals can be found in the manufacturer data sheet (atlys_sch.pdf). Figure 5: Pins assignment in the constraints file 10
  • 11. FPGA design implementation  Run « Synthesize ». Make sure that all the design signals are interconnected correctly by visualising the RTL schematic  Run « Implement Design » and « Generate Programming File »  Power-up and connect the Zybo board to your PC (using USB PROG interface)  Run the Harware Manager tool 1) Open target 2) Program device 11
  • 12. FPGA design implementation  Disable ANC (audio loopback) using « SW1 » (LED1 "off")  Play soundtrack « Audio_combined.wav » (Generated with Matlab. Right channel: noisy speech, Left channel: pure noise)  Enable ANC (audio goes through FIR-LMS bloc) using « SW1 » (LED1 "on")  Play the soundtrack again« Audio_combined.wav »  Enjoy! Design validation (figure 6) 12
  • 13. FPGA design implementation Figure 6: Test and validation Line in Headphone Power Switch USB PROG SW7 13