Inhoudsopgave:

Gesimuleerde ECG-signaalacquisitie met LTSpice - Ajarnpa
Gesimuleerde ECG-signaalacquisitie met LTSpice - Ajarnpa

Video: Gesimuleerde ECG-signaalacquisitie met LTSpice - Ajarnpa

Video: Gesimuleerde ECG-signaalacquisitie met LTSpice - Ajarnpa
Video: Gesimuleerde Experimenten 2024, November
Anonim
Gesimuleerde ECG-signaalacquisitie met LTSpice
Gesimuleerde ECG-signaalacquisitie met LTSpice
Gesimuleerde ECG-signaalacquisitie met LTSpice
Gesimuleerde ECG-signaalacquisitie met LTSpice

Het vermogen van het hart om te pompen is een functie van elektrische signalen. Artsen kunnen deze signalen op een ECG aflezen om verschillende hartproblemen te diagnosticeren. Voordat het signaal echter door een arts goed kan worden voorbereid, moet het goed worden gefilterd en versterkt. In deze gids zal ik je laten zien hoe je een circuit ontwerpt om ECG-signalen te isoleren door dit circuit te verbreken en is opgesplitst in drie eenvoudige componenten: een instrumentatieversterker, een banddoorlaatfilter en een notch-filter, met de gewenste cut-off frequenties en winsten bepaald door gepubliceerde literatuur en huidige modellen.

Benodigdheden:

Dit is een handleiding bedoeld voor LTSpice-simulaties, dus het enige materiaal dat u nodig hebt om de circuits te modelleren, is een LTSpice-toepassing. Als je je circuit wilt testen met een ECG-wav-bestand, heb ik het mijne hier gevonden.

Stap 1: Een banddoorlaatfilter ontwerpen

Een banddoorlaatfilter ontwerpen
Een banddoorlaatfilter ontwerpen
Een banddoorlaatfilter ontwerpen
Een banddoorlaatfilter ontwerpen
Een banddoorlaatfilter ontwerpen
Een banddoorlaatfilter ontwerpen

Typische ECG-signalen hebben een frequentiebereik van 0,5-250 Hz. Als je nieuwsgierig bent naar de theorie hierachter, lees dan hier of hier meer over. Voor de doeleinden van deze gids betekent dit dat we alles willen filteren dat niet in die regio's is. We kunnen dit doen met een banddoorlaatfilter. Op basis van de geposte variabelen in het geposte schema, filteren banddoorlaatfilters tussen bereiken van 1/(2*pi*R1*C1) en 1/(2*pi*R2*C2). Ze versterken het signaal ook met (R2/R1).

De waarden zijn zo gekozen dat de frequentie-afsnijwaarden overeenkomen met de gewenste ECG-signaalgrenzen en de versterking gelijk zou zijn aan 100. Een schema waarin deze waarden zijn vervangen, is te zien in de bijgevoegde afbeeldingen.

Stap 2: Het inkepingsfilter ontwerpen

Het inkepingsfilter ontwerpen
Het inkepingsfilter ontwerpen
Het inkepingsfilter ontwerpen
Het inkepingsfilter ontwerpen
Het inkepingsfilter ontwerpen
Het inkepingsfilter ontwerpen

Nu we alles hebben weggefilterd dat niet in het signaalfrequentiebereik van het ECG ligt, is het tijd om ruisvervormingen binnen het bereik eruit te filteren. Powerline-ruis is een van de meest voorkomende ECG-vervormingen en heeft een frequentie van ~50 Hz. Aangezien dit binnen het banddoorlaatbereik ligt, kan het worden verwijderd met een notch-filter. Een notch-filter werkt door een middenfrequentie met een waarde van 1/(4*pi*R*C) te verwijderen op basis van het bijgevoegde schema.

Een weerstand en condensatorwaarde werden gekozen om 50 Hz-ruis uit te filteren, en hun waarden werden in een bijgevoegd schema gestoken. Merk op dat dit niet de enige combinatie van RC-componenten is die zal werken; het was precies wat ik koos. Voel je vrij om te berekenen en verschillende te kiezen!

Stap 3: De instrumentatieversterker ontwerpen

De instrumentatieversterker ontwerpen
De instrumentatieversterker ontwerpen
De instrumentatieversterker ontwerpen
De instrumentatieversterker ontwerpen
De instrumentatieversterker ontwerpen
De instrumentatieversterker ontwerpen

Een onbewerkt ECG-signaal moet ook worden versterkt. Hoewel we bij het bouwen van het circuit de versterker eerst zullen plaatsen, is het conceptueel gemakkelijker om na de filters over na te denken. Dit komt omdat de algehele versterking van het circuit gedeeltelijk wordt bepaald door de banddoorlaatversterking (zie stap 1 voor een opfriscursus).

De meeste ECG's hebben een versterking van minimaal 100 dB. De dB-versterking van een circuit is gelijk aan 20*log|Vout / Vin|. Een Vout/Vin kan worden opgelost in termen van resistieve componenten door knoopanalyse. Voor ons circuit leidt dit tot een nieuwe versterkingsuitdrukking:

dB versterking = 20*log|(R2/R1)*(1+2*R/RG)|

R1 en R2 zijn van het banddoorlaatfilter (stap 1) en R en RG zijn componenten van deze versterker (zie bijgevoegd schema). Het oplossen van een dB-versterking van 100 levert R/RG = 500 op. Waarden van R = 50 k ohm en RG = 100 ohm werden geselecteerd.

Stap 4: De componenten testen

De componenten testen
De componenten testen

Alle componenten werden afzonderlijk getest met LTSpice's AC Sweep-octaafanalysetool. Parameters van 100 punten per octaaf, 0,01 Hz startfrequentie en 100 kHz eindfrequentie werden geselecteerd. Ik gebruikte een ingangsspanningsamplitude van 1V, maar je kunt een andere amplitude gebruiken. De belangrijke afleiding van de AC-sweep is de vorm van de uitgangen die overeenkomen met veranderingen in frequenties.

Deze tests zouden grafieken moeten opleveren die vergelijkbaar zijn met de bijgevoegde grafieken in stap 1-3. Als dit niet het geval is, probeer dan uw weerstands- of condensatorwaarden opnieuw te berekenen. Het is ook mogelijk dat uw circuit spoort omdat u niet genoeg spanning levert om de opamps van stroom te voorzien. Als je R en C wiskunde klopt, probeer dan de hoeveelheid spanning die je aan je opamp(s) geeft te verhogen.

Stap 5: Alles samenbrengen

Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten

Nu bent u klaar om alle componenten samen te voegen. Meestal wordt versterking uitgevoerd vóór filtratie, dus de instrumentatieversterker werd als eerste geplaatst. Het banddoorlaatfilter versterkt het signaal verder, dus het werd op de tweede plaats gezet, vóór het notch-filter, dat puur filtert. Het totale circuit werd ook door een AC Sweep-simulatie geleid, die de verwachte resultaten opleverde met een versterking tussen 0,5 - 250 Hz, behalve het 50 Hz-notchbereik.

Stap 6: ECG-signalen invoeren en testen

ECG-signalen invoeren en testen
ECG-signalen invoeren en testen
ECG-signalen invoeren en testen
ECG-signalen invoeren en testen
ECG-signalen invoeren en testen
ECG-signalen invoeren en testen
ECG-signalen invoeren en testen
ECG-signalen invoeren en testen

U kunt uw spanningsbron wijzigen om het circuit te voorzien van een ECG-signaal in plaats van een AC Sweep. Om dit te doen, moet u het gewenste ECG-signaal downloaden. Ik vond hier een.wav-bestand met verbeterde ruis en hier een clean.txt ECG-signaal. maar misschien vind je wel betere. De onbewerkte invoer en uitvoer voor het.wav-bestand is als bijlage te zien. Het is moeilijk te zeggen of een ECG-signaal zonder ruis al dan niet een beter uitziende output zou opleveren. Afhankelijk van het signaal, moet u mogelijk uw filtergrenzen enigszins aanpassen. De clean-pass signaaluitgang is ook te zien.

Om de ingang te wijzigen, selecteert u uw spanningsbron, kiest u de instelling voor PWL-bestand en selecteert u het gewenste bestand. Het bestand dat ik gebruikte was een.wav-bestand, dus ik moest ook de LTSpice-richtlijntekst wijzigen van "PWL File = " in "wavefile = ". Voor de invoer van het.txt-bestand moet u de PWL-tekst ongewijzigd laten.

Als we de output vergelijken met een ideaal ECG-signaal, blijkt dat er nog ruimte voor verbetering is met het tweaken van componenten. Gezien de vorm en de ruisversterkte aard van het bronbestand, is het feit dat we een P-golf, QRS en T-golf konden extraheren echter een geweldige eerste stap. Het schone ECG-tekstbestand moet perfect door het filter kunnen.

Let op: wees voorzichtig bij het interpreteren van deze ECG-ingangssignaalresultaten. Als u alleen het schone.txt-bestand gebruikt, betekent dat niet dat uw systeem werkt om een signaal goed te filteren - het betekent alleen dat de belangrijke ECG-componenten er niet uit worden gefilterd. Aan de andere kant, zonder meer te weten over het.wav-bestand, is het moeilijk te bepalen of de golfinversies en vreemde vormen al dan niet te wijten zijn aan het bronbestand of dat er een probleem is bij het uitfilteren van ongewenste signalen.

Aanbevolen: