Nhận dạng cú pháp tín hiệu dựa trên cơ sở các hệ thống toán học trong đó có hính dạng của một tập được biểu diễn bằng các phần tử của ngôn ngữ hình thức. Quy tắc điều khiển sắp xếp các nguyên hàm tạo thành dạng tín hiệu tuân theo ngữ pháp sau :
G = (VT, VN, P, S)
Trong đó :
VT – là từ vựng hoặc … biểu diễn câu của ngôn ngữ, thường được biểu diễn bằng các chữ cái thường (từ: a… z)
31
VN – là từ vựng hay chữ cái không tận cùng, thường được biểu diễn bằng chữ cái in hoa.
P - là tập hợp các quy tắc cấu tạo cho phép xây dựng đầy đủ một câu từ các chữ cái. S - là định lý của ngữ pháp hay kí hiệu cấu tạo liên quan tới VN.
Khi các nguyên hàm của một dạng cho trước được xác định, quá trình nhận dạng tín hiệu được tiến hành phân tích cú pháp của “câu” xem cú pháp này có được viết đúng theo quy tắc đã được định nghĩa bằng ngữ pháp của quá trình hay không.[10]
3.3 Áp dụng phƣơng pháp nhận dạng cú pháp vào tín hiệu điện tim :
Khi phân tích tín hiệu ECG, ta nhận thấy rằng đoạn thẳng T – P biểu diễn đường cách điện giữa hai chu kỳ nhịp và cho chúng ta những thông tin quan trọng như đoạn PQRST. Vì vậy, ta chọn của sổ phân tích tín hiệu bao trùm tất cả chu kỳ nhịp của tín hiệu ECG, nghĩa là giữa hai đỉnh R-R.
Cửa sổ quan sát của một chu kỳ điện tim được chia thành 40 đoạn, cũng có thể ít hoặc nhiều hơn. Nếu ít hơn thì khoảng cách của đoạn cong tín hiệu được lấy để lấy để tuyến tính hoá lớn lên do đó độ chính xác xẽ nhỏ đi. Còn nếu nhiều hơn thì ngược lại nhưng thời gian thực để xử lý tín hiệu dài ra có thể sẽ ảnh hưởng đến việc lấy được đầy đủ một chu kỳ của tín hiệu. Trong thực tế của sổ quan sát trên được chia thành 40 đoạn là hợp lý. Quá trình nhận dạng tín hiệu điện tim sẽ được thực hiện trên các từ chia thành 40 ký tự. ở đây, ta chọn trường hợp đơn giản nhất để làm ví dụ mô tả ý nghĩa của các chữ cái như sau:
VT = (a, b, c) Trong đó :
a – biểu diễn đoạn thẳng nằm ngang: b – biểu diễn đoạn thẳng có góc dương: c – biểu diễn đoạn thẳng có góc âm:
Từ các giá trị thu thập được ta tạo được ngôn ngữ cấu thành bao gồm các từ có dạng ví dụ như: b c a c b c b a b c a … vv…
Như vâỵ, bước đầu tiên của quá trình nhận dạng, trước khi áp dụng phương pháp nhận dạng cú pháp, ta phải nhận dạng từng đoạn tín hiệu trong cửa sổ quan sát và gán cho nó các chữ cái tương ứng như định nghĩa ở phần trên.
3.4 Phƣơng pháp xử lý thống kê
Sử dụng pháp xử lý thống kê để xác định góc của mỗi đoạn thẳng nằm trong cửa sổ quan sát.
32
Giả sử có một đoạn gồm N điểm (Xi, Yi). Đoạn thẳng bình phương nhỏ nhất phù hợp nhất với tập điểm trên được mô tả bằng phương trình :
Y = A0 + A1X Theo phương pháp bình phương nhỏ nhất, ta có :
Yi – A0 – A1Xi = i, với i = 1, 2 …n là các sai số tại Xi và : S = (yi – A0 – A1xi)2 là tổng các bình phương của các sai số. Trong đó, xi, yi đã biết còn S phụ thuộc vào A0 và A1.
Mục đích của phương pháp bình phương nhỏ nhất là xác định A0 và A1 sao cho S là bé nhất. Dùng phương pháp bình phương nhỏ nhất để xác định góc nghiêng A1 của đoạn thẳng, đem so sánh nhận được với giá trị ngưỡng cho trước. Từ đó ta có thể phân loại các giá trị góc của đoạn thẳng phân tích theo sơ đồ sau :
- < A1 < a A1 > b A1 < - c
Ta cần chú ý rằng giá trị ngưỡng chọn sao cho không quá nhạy khi có nhiễu tác động, nhưng phải đủ lớn để phát hiện những thay đổi của tín hiệu cần phân tích. Quá trình xử lý cú pháp được tiến hành sau khi chuyển các tín hiệu thành ký tự của bộ chữ cái VT.
Quá trình nhận dạng tín hiệu điện tim có thể tóm tắt như sau:
Từ hình dáng điện tim chuyển thành các đoạn thẳng. Để thực hiện, tuyến tính hoá từng đoạn thẳng bằng phương pháp bình phương tối thiểu (chia nhỏ đoạn thẳng, càng nhỏ càng giống). Được các đoạn thẳng với góc nghiêng khác nhau so với nằm ngang, dựa vào nhận dạng cú pháp ta có được dãy chữ phù hợp với sự thay đổi đó.[11]
33
CHƢƠNG 4
THIẾT KẾ VÀ CHẾ TẠO MÁY ĐO ĐIỆN TIM
Giới thiệu
Về mặt nguyên lý cơ bản, máy điện tim là thiết bị ghi nhận, xử lý và biểu diễn tín hiệu có biên độ rất nhỏ.
Tín hiệu điện tim được biểu diễn bằng đồ thị gồm 2 trục thời gian và điện thế, như vậy máy điện tim có nhiệm vụ chuyển đồ thị này lên mặt phẳng (giấy hoặc màn hình máy tính). Do đó có sự quy đổi: biên độ và thời gian được biểu diễn bằng độ dài.
Tín hiệu điện tim thường rất nhỏ và chịu ảnh hưởng của rất nhiều loại nhiễu: nhiễu điện từ do nguồn điện lưới sinh ra , nhiễu do tiếp xúc của điện cực đối với da, do sự dịch chuyển của người bệnh. Do đó, việc thu nhận chính xác tín hiệu điện tim là hết sức khó khăn, cần sử dụng các bộ lọc: lọc thông thấp, lọc thông cao, lọc triệt tần nhằm giảm bớt tác động của nhiễu lên tín hiệu điện tim thu được và cần sử dụng các bộ khuếch đại tín hiệu: khuếch đại đo, khuếch đại đệm để nâng cao biên độ tín hiệu, dễ dàng hơn cho việc thu nhận.[10]
4.1 Thiết kế sơ đồ khối
34
4.2 Thiết kế sơ đồ mạch nguyên lý 4.2.1 Khối nguồn 4.2.1 Khối nguồn
Để đảm bảo được sự hoạt động chính xác cho các IC khuếch đại thuật toán thì việc cách ly nguồn cung cấp cho nó khỏi các thiết bị khác là cực kỳ quan trọng. Vì lý do đó phải thiết kế mạch nguồn riêng cung cấp cho các IC khuếch đại thuật toán trong mạch.[10]
Hình 4.2: Khối nguồn
Nguồn được lấy từ điện áp 220VAC/50Hz. Sau khi đưa qua biến áp lấy được giá trị điện áp +12VAC/-12VAC(50Hz), giá trị này là giá trị hiệu dụng của tín hiệu. Giá trị đỉnh của nó sau chỉnh lưu đi-ốt cầu là Vp = 12 2 - 2*0.7 = 15.57V
Do mạch nguồn chỉ cung cấp cho số lượng IC khuếch đại thuật toán không nhiều nên dòng yêu cầu là không lớn. Ta thiết kế mạch nguồn ±9V với dòng
điện tối đa là 200mA.
Cấu tạo họ IC ổn áp 78xx và 79xx chỉ hoạt động khi điện áp đầu vào lớn hơn điện áp đầu ra từ 1.6V trở lên. Công thức tính giá trị tụ bù để san phẳng hình dạng điện áp sau cầu đi-ốt như sau:
35 * load ripple I t C V
Với Iload là dòng cung cấp tối đa cho phép, Vripple khoảng dao động của điện áp đầu vào trước IC ổn áp. t là khoảng thời gian giữa 2 đỉnh của điện áp. Với tần số nguồn xoay chiều 50Hz thì t = 0.01s
0.2*0.01 5
C = 400.10-6 F Trên thực tế ta lựa chọn tụ điện 470uF/50V. Khi đó điện áp
ripple
V = 4.26V. Mức điện áp IC đầu vào IC ổn áp là (11.31 ÷ 15.57V) thỏa mãn điều kiện của IC ổn áp.
Hình 4.3: Điện áp được san phẳng hơn bằng tụ lọc
4.2.2 Khối bảo vệ đầu vào và tiền khuếch đại
Trong các mạch điện tử thì không thể thiếu mạch bảo vệ đầu vào, để đảm bảo an toàn cho các linh kiện trong mạch trong trường hợp xuất hiện những tín hiệu đầu vào vượt quá dải cho phép của các linh kiện.[11]
36
Hình 4.4: Khối bảo vệ
Đối với mạch xử lí tín hiệu y sinh còn quan tọng hơn bởi việc đo đạc tín hiệu được thu nhận trực tiếp trên cơ thể người. Trong trường hợp có nhiều thiết bị được sử dụng một lúc đối với một bệnh nhân thì không tránh khỏi những tín hiệu do các thiết bị này tác động lên nhau, cũng như nếu vô tình để bệnh nhân chạm phải nguồn cung cấp. Vì vậy mạch bảo vệ đầu vào là rất cần thiết.
4.2.3 Khối chọn chuyển đạo
Hệ thống điện tim đồ đo 12 chuyển đạo nên ta cần thiết kế mạch chọn chuyển đạo.[14]
Khi muốn sử dụng nhiều đầu vào tín hiệu mà chỉ muốn có một đầu ra thi ta sử dụng bộ dồn kênh với IC CD4051. Mạch này có 3 đầu vào A, B, C để lựa chọn và quyết định 1 trong 8 đầu vào được tích cực và nối đầu vào này với đầu ra chung. Chân INH (inhibit) là chân cho phép hoạt động của IC (enable). IC sẽ hoạt động nếu chân này được đưa xuống mức 0.
Nguồn cung cấp: -0.5V ÷ 7.5V
37
Hình 4.5: Sơ đồ chân và nguyên lý hoạt động của IC CD4051
38
Mạch chọn chuyển đạo sử dụng kết hợp nguyên lý của tam giác Einthoven, điểm trung tâm Wilson với 2 IC CD4051. Bằng cách điều khiển mức 0, 1 của các chân điều khiển A, B, C của CD4051 thì ta sẽ chọn được lần lượt từng chuyển đạo để đưa vào xử lý.
Chân INH của CD4051 cũng được nối với mạch điều khiển để cho phép hoặc không cho phép các IC hoạt động
Bảng 1: Nguyên lý chọn chuyển đạo bằng IC CD4051
4.2.4 Thiết kế mạch khuếch đại vi sai
AD620 là IC khuếch đại vi sai chất lượng cao. Với khả năng dễ dàng điều chỉnh hệ số khuếch đại từ 1 cho tới 1000 bằng cách thay đổi giá trị điện trở khuếch đại đặt vào giữa của hai phần từ khuếch đại thuật toán nằm bên trong IC (được nối ngoài qua chân 1 và chân 8). Dòng bias đầu vào tối đa là 1nA, đặc tính khuếch đại ít phụ thuộc vào nhiệt độ (điện áp offset tối đa là 0.6µV/oC). Hệ số khuếch đại của AD620 được tính bằng công thức: 49.4 49.4 1 1 G G k k G R R G
39
Hình 4.7 Mạch khuếch đại vi sai[3]
4.2.5 Khối lọc thông cao 0.05Hz
Hình 4.8: Mạch lọc thông cao
Đối với tín hiệu điện tim, tần số cần quan tâm nằm trong khoảng 0.05Hz đến 100Hz. Do đó bộ lọc thông cao phải đáp ứng cho phép tín hiệu với tần số >0.05Hz đi qua. Để đáp ứng được điều này, lựa chọn tốt nhất là mạch lọc thông cao RC.
40 Chọn linh kiện: R13 = R14 = 33k C30 = C31 = 100uF Tần số cắt: 1 0.05 2 c f Hz RC Hình 4.9: Đặc tính tần số mạch lọc thông cao[13] 4.2.6 Khối lọc thông thấp 100Hz
Mạch lọc thông cao cũng sử dụng mạch lọc tích cực bậc 2. Lựa chọn linh kiện và công thức tính toán như sau:
R15 = R16 = 15k C32 = C33 = 100nF 1 100 2 c f Hz RC
41
Hình 4.10: Mạch lọc thông thấp
42
4.2.7 Khối lọc triệt tần 50Hz
Hình 4.12: Mạch lọc triệt tần 50Hz
Khối triệt tần được thiết kế dựa trên sử dụng mạch lọc cầu T có hồi tiếp với tần số cắt là:
fc=
Các giá trị linh kiện trong mạch: R22 = R23 = 33kΩ
C8 = C9 = C10 = C11=100nF Tần số cắt: fc
43
Hình 4.13: Đặc tính tần số mạch lọc triệt tần 50Hz
4.2.8 Khối khuếch đại tín hiệu ra
Hình 4.14: Mạch khuếch đại tín hiệu ra[11]
Do tín hiệu điện tim là tín hiệu xoay chiều trong khi ADC của PIC chỉ có thể lấy mẫu trong khoảng từ 0V đến Vref cho nên phải thiết kế mạch khuếch đại lặp có tác
44
dụng điều chỉnh offset cho tín hiệu điện tim sau mạch khuếch đại về dạng điện áp trong khoảng 0V-Vref.
Mạch khuếch đại lựa chọn trong trường hợp này là mạch khuếch đại vi sai đơn giản. Sử dụng khuếch đại thuật toán OP07 cho chất lượng đáp ứng rất tốt.
Với các thông số linh kiện lựa chọn trên hình vẽ thì điện áp tín hiệu đầu ra được tính theo công thức: 5 1 26 out in V VR V R
4.2.9 Vi điều khiển, truyền thông RS232 và giao diện phần mềm hiển thị
Vi điều khiển PIC 16F877A[15]
PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, 40 chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường). Cấu trúc tổng quát của PIC 16F877A như sau:
Hình 4.15: Cấu trúc chức năng của PIC 16F877A
- 8 K Flash ROM. - 368 Bytes RAM. - 256 Bytes EEPROM.
45
- 2 bộ định thời 8 bits (Timer 0 và Timer 2).
- Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết kiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài.
- 2 bô CCP( Capture / Compare/ PWM). - 1 bộ biến đổi ADC 10 bits, 8 kênh. - 2 bộ so sánh tương tự (Compartor).
- 1 bộ định thời giám sát (WatchDog Timer).
- Một cổng song song 8 bits với các tín hiệu điều khiển. - Một cổng nối tiếp.
- 15 nguồn ngắt.
- Có chế độ tiết kiệm năng lượng.
- Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit Serial Programming) - Được chế tạo bằng công nghệ CMOS
- 35 tập lệnh có độ dài 14 bits. - Tần số hoạt động tối đa 20MHz.
Hình 4.16: Sơ đồ chân PIC 16F877A
ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạng tương tự và số. PIC 16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0). Hiệu điện thế chuẩn VREF có thể được lựa chọn là VDD , VSS hay hiệu điện thế chuẩn được xác lập trên hai chân RA2 và RA3. Kết quả chuyển đổi từ tín hiệu tương tự sang tín hiệu số là 10 bit số tương ứng và được lưu trong hai thanh ghi ADRESH:ADRESL. Khi không sử dụng bộ chuyển đổi ADC, các thanh ghi này có thể được sử dụng như
46
các thanh ghi thông thường khác. Khi quá trình chuyển đổi hoàn tất, kết quả sẽ được lưu vào hai thanh ghi ADRESH:ADRESL, bit (ADCON0<2>) được xóa về 0 và cờ ngắt ADIF được set.
Quy trình chuyển đổi từ tương tự sang số bao gồm các bước sau:
- Thiết lập các thông số cho bộ chuyển đổi ADC: Chọn ngõ vào analog, chọn điện áp mẫu(dựa trên thông số của thanh ghi ADCON1); Chọn kênh chuyển đổi AD (thanh ghi ADCON0); Chọn xung clock cho kên chuyển đổi AD (thanh ghi ADCON0); Chọn phép bộ chuyển đổi AD hoạt động (thanh ghi ADCON0).
- Thiết lập các cờ ngắt cho bộ AD: Clear bit ADIF; Set bit ADIE; Set bit PEIE, set bit GIE.
- Đợi cho tới khi quá trình lấy mẫu hoàn tất. - Bắt đầu quá trình chuyển đổi (set bit ).
- Đợi cho tới khi quán trình chuyển đổi hoàn tất bằng các: kiểm tra bit . Nếu bit =0, quá trình chuyển đổi hoàn tất. ; Kiểm tra cờ ngắt.
- Đọc tiếp kết quả chuyển đổi và xóa cờ ngắt. sét bit (nếu cần tiếp tục chuyển đổi).
47
Hình 4.17 Chọn kênh ADC[15]
Cần chú ý là có hai cách lưu kết quả chuyển đổi AD, việc lựa chọn cách lưu được điều khiển bởi bit ADFM và được minh họa cụ thể trong hình sau:
48
Các thanh ghi liên quan đến bộ chuyển đổi ADC bao gồm:
INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh ): cho phép các ngắt ( các bit GIE, PEIE).
PIR1 (địa chỉ 0Ch): chứa cờ ngắt AD(bit ADIF). PIE1 (địa chỉ 8Ch): chứa bit điều khiển AD (ADIE).
ADRESH (địa chỉ 1Eh) và ADRESL (địa chỉ 9Eh): các thanh ghi chứa kết quả chuyển đổi AD.
ADCON0 (địa chỉ 1Fh) và ADCON1 (địa chỉ 9Fh): xác lập các thông số cho bộ chuyển đổi AD.
PORTA (địa chỉ 05h) và TRISA (địa chỉ 85h): liên quan đến các ngõ vào analog ở PORTA.
PORTE (địa chỉ 09h) và TRISE (địa chỉ 89h): liên quan đến các ngõ vào anolog ở PORTE.
Hình 4.19: Hình ảnh thực tế PIC 16F877A[15]
Truyền thông RS232
Ngày nay các thiết bị đo lường, điều khiển ... đều phải giao tiếp với máy tính để quan sát thông số và chế độ hoạt động của thiết bị như thế nào? Chuẩn giao tiếp được coi là đơn giản và dễ dùng đó là RS232. Hầu như các thiết bị đều được giao tiếp với