/
Adaptive ECG Filtering Group 2: Adaptive ECG Filtering Group 2:

Adaptive ECG Filtering Group 2: - PowerPoint Presentation

sherrill-nordquist
sherrill-nordquist . @sherrill-nordquist
Follow
346 views
Uploaded On 2018-11-12

Adaptive ECG Filtering Group 2: - PPT Presentation

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

data filter signal analog filter data analog signal ecg noise digital edward matlab board adaptive topic speed design signals mri jezisek frequency

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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?