Edward Jezisek Brandon Autrey Edward Nowlin Renato Ortega Sponsored By Motivation To improve the quality of ECG signals acquired from patients in an MRI environment ECG quality in MRI machines is lacking ID: 728494
Download Presentation The PPT/PDF document "Adaptive ECG Filtering Group 2:" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Adaptive ECG Filtering
Group 2:Edward Jezisek, Brandon Autrey, Edward Nowlin Renato OrtegaSponsored By: Slide2
Motivation
To improve the quality of ECG signals acquired from patients in an MRI environmentECG quality in MRI machines is lackingCurrent filter selection is confusingCurrent filters are imperfectNew MRI scans create problemsSlide3
Objectives
To filter out 80% of magnetic interference on an ECG signal caused by an MRI machine To convert an analog ECG signal into a digital signal that can be processed on a computerTo convert a digital signal back into an analog signal that can be processed by legacy analog devicesSlide4
Goals
To further the use of adaptive algorithms in medical practiceImprove the quality of ECG SignalsSave a lifeSlide5
Specifications
Receive and filter signals up to 250 KHzPerform real time ECG filteringProvide patient and device protectionFunction in an MRI environmentSlide6
Requirements
RequirementsAnalog Front End – Patient protection and differential AmplifierData Acquisition – Analog to Digital ConverterData Processing – Filter out the noise sourcesRaw ECG Out – Provide clean ECG outputSlide7
Project Implementation
Receive ECG signals from 3 leads on the patientReceive magnetic field gradient signals from 3 leadsConvert these 6 signals from analog to digitalUse the microprocessor to subtract the gradients from the ECG signalApply adaptive LMS algorithm to smooth out the signal and filter other noisesConvert from digital to analogSlide8
Overall System DiagramSlide9
Noise Contributions
Electrical interference from power lines add 50 or 60 Hz power-line frequency.Muscle contraction and muscle activity can generate high frequency electromyography (EMG) noise. Motion artifacts such as movement of the electrode over the skin surface. Slide10
HardwareSlide11
PCB Design considerations
Routing of traces for high speed communicationsElectrical isolationBattery powered vs power outletCostUse of available componentsSlide12
Analog Front End
Consists of 3 ECG inputsConsists 3 inputs from magnetic gradientProvides patient protectionProvides front end filteringSlide13
Analog Front End
Removed because of NDASlide14
Analog Front End
Sallen
Key Filter
Used for anti aliasing
Low Pass Filter
Sampling Frequency is 500 KHz
Nyquist
Frequency is 250 KHz
Cut Off Frequency is 50 KHz
Removed because of NDASlide15
Analog to Digital Converter (TI- ADS8556EVM)
It contains six low-power, 16-, 14-, or 12-bit, successive approximation register (SAR) based analog-to-digital converters
Excellent Signal-to-Noise Performance of
91.5 dB
Supports both serial and parallel
At speeds up to
720
kSps
Supports 6 channels Slide16
Alternative Converters
LTC2376IMS analog to digital converter by Linear Technology250 KSps Throughput Rate16 bit Guaranteed 16-bit No Missing Codes
SPI-Compatible Serial I/O with Daisy-Chain ModeSlide17
Digital to Analog Converter (AD5660)
16
Bit
Single channel
3 wire serial
interface
Clock rate up to 30 MHzSlide18
Microprocessor Design Requirements
I/O speed of the CPU is determined by the output of the A/D Minimum of 0.5 MHz with a device limited maximum of 20 MHzMust support enough memory to hold the program code plus at least 10 past data points of each signalClock speed must be high enough to perform the algorithm at the I/O speed in real timeSlide19
ARM Cortex M4F
Works with Matlab Embedded Coder80 to 160 MHz clock speedRISC based microprocessorSlide20
Xilinx Spartan 3E
I/O speed of 33MHzProcessor speed is 50MHz376 Digital I/O pinsFPGA basedVery customizable especially with high speed special purpose applicationsPhilips is able to advise us with this architectureSlide21
SoftwareSlide22
Adaptive Filter Experimentation
Verifies which adaptive filtering algorithm will work bestMatlab and Simulink is faster to prototypeModel Based Design Prototyping various algorithms on microcontroller would be very time consumingSlide23
Noise Cancellation
d(k) - input signal s(k) - clean desired signaln(k) - noise contributions e(k) - converges onto the input data
signal
n
’(k)
- correlated
to the noise in the
signal
When
, then
.
As long as the input noise remains correlated to the unwanted noise, the adaptive filter adjust its coefficients to reduce the value difference between d(k) and y(k).
Slide24
Least Mean Square Filter (LMS)
Common filter for Signal ProcessingAdaptively removes noiseVery good at removing noise as shown in the results.Matlab provides this filter
The signal in
Matlab
before and after filtering, when using the Least Mean Squares Filter. Slide25
Butterworth Filter
Linear filter to remove unwanted frequenciesEasier to provide a first approachLow memory usageCan be Digital and AnalogSlide26
Matlab
BenefitsQuick to create various adaptive filters due to a lot of them already being built inRemoves a lot of debugging timeDownfallsThe Embedded Coder is expensive and doesn’t work on all embedded devicesSlide27
Matlab vs. Embedded Coding
Using Matlab to compare various filters and will possibly use the networking system through USB to offload tasks from the processor to the computer itself
Benefits of
Matlab
Benefits of Embedded Coder
Decreases risk
in the project
Less hardware
Lowers the amount of required work
Uses less energy
CheaperSlide28
Comparison Methods
The perfect result will be stored.Noise will be added to the perfect resultThe filters results will be measured by subtracting the absolute value of the output from the result and squaring itThe results will be divided by the number of input points to get a running averageSlide29
Software Development Process
Allows us to develop code while the PCB board is being designed and producedDevelopment board enables us to test code on hardware to additional debugging toolsMatlab enables fast testing of complex algorithmsSlide30
Data Processing
Networking SystemGraphical User InterfaceFile Write SystemFilter Comparison SystemSlide31
Networking System
Used to transfer data from the microcontroller to the program that modifies the data and back to the microcontroller.Asynchronous I/O utilizing Publish/Subscribe.Slide32
Publish/Subscribe System
The software will be built with a list of publishers and subscribersThe publishers will post data to a topicThe event manager will send all subscribers the data that the publisher postedPublishers do not need to know subscribersSlide33
Topic Manager
Manages the publish subscribe systemSends data received to a list of subscribersManages the memory of the publishers and subscribersCan send data to a subscriber without knowing whether the receipt was successfulSlide34
Subscriber
Receives data from the topic managerDoes not know about the PublisherWill be used for a lot of the input/output processingWill filter the signalsSome subscribers will also be publishersSlide35
Publisher
Publishes data to the Topic Manager in the form of a TopicDoes not know about the subscribersWill send data to other applications to retrieve a resultMany publishers will also be subscribersSlide36
Topic
The topic is the data being sent by the Publisher to the SubscriberThe topic will contain various types of data and an known amount of dataThe data will be sent as bytes and will be reconstructed based on the topic typeSlide37
Graphical Display
Displays the ECG signalShould be simple and easy to useShould work on a tablet computerrequires touch screen for the interfaceSlide38
Compare Various Filters
Uses a filter interfaceNeeds to be easy to compareRequires some functions to be created on each filter to show the results.Slide39
File I/O
Store filtered signals for each filterWill be used to compare various files/resultsWill allow us to test easilySlide40
Testing Methods
Perform functional test in an MRI environmentPerform test in a simulated environment. A simulated environment will consist of a rapidly rotating magnet placed over ECG cables while collecting a signal.Slide41
Budget
PartsPriceQuantity
Total
Tiva
C Series Dev. Board
$200.00
2
$400.00
Analog to Digital Converter (ADS8556EVM)
$101.00
1
$101.00
Circuit
Board
$750.00
2
$1500.00
Total Costs
$1101.00
Total
Budget
$10,000.00
Extra Budget
$8899.00Slide42
Milestones
ItemsDatesPCB design completionFebruary 3
rd
Successful interface between
processor and A/D
February 5
th
PCB board arrival
February
15
th
PCB board populated
March 1
st
Successful interface between all components
March 1
st
Operational filter
March 10
th
Final Testing
March 20
thSlide43
ProgressSlide44
Work Distribution
TasksGroup MemberFront End Design
Edward
Nowlin
PCB Design and Layout
Edward
Nowlin
and Renato Ortega
Integration of Experimental Board
Brandon
Autrey
and Edward Jezisek
Filter Comparison Programming
Edward Jezisek
Least Mean Squares
Filter
Edward Jezisek
Matlab
Display
Edward Jezisek and Brandon
Autrey
ADC
Brandon
Autrey
DAC and SPI
Edward Jezisek and Brandon
AutreySlide45
Issues
Takes time to manufacture PCBLearning to code to the microprocessorTime constraintSlide46
Questions?