1. Các kết quả thực hiện trong luận văn
Để thực hiện đề tài này, em đã tìm hiểu những vấn đề :
- Jrun Web Server
- Mô hình Client/Sever
- Ứng dụng công nghệ Web bằng JSP
- Hệ thống chẩn đoán Điện Tâm Đồ
2. Cách trình bày ứng dụng
Sau 3 tháng thực hiện đề tài ,em đã đạt được những kết quả:
- Phân tích chi tiết về đề tài
- Thiết kế hoàn chỉnh mô hình gửi dữ liệu lên trung tâm chẩn đoán bệnh từ xa.
- Cài đặt chương trình gởi file bệnh nhân bằng công nghệ JSP.
- Ứng dụng chạy tốt trên trình duyệt Internet Explorer.
3. Các vấn đề đã được thực hiện trong đề tài
Sau 3 tháng nổ lực, tìm kiếm thông tin, nghiêng cứu sách vở ,em đã thự hiện được một số vấn đề :
- Cho phép bệnh nhân có thể gửi file lên trung tâm chẩn đoán bệnh từ xa.
- Khi có thông tin về bệnh nhân Trung Tâm Chẩn Đón bệnh xử lý file và gửi trả kết quả về cho bệnh nhân.
- Cho phép bệnh nhân truy cập lên trang web để xem kết quả chẩn đoán bệnh.
85 trang |
Chia sẻ: baoanh98 | Lượt xem: 758 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu hệ thống chẩn đoán điện tâm đồ qua mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng như các hệ thống xử lý tín hiệu số
d. Định lý Niquist về tần số lấy mẫu : Để có thể khôi phục lại tín hiệu ban đầu từ tín hiệu lấy mẫu, tần số lấy mẫu phải lớn hơn hoặc bằng 2 lần tần số của tín hiệu ban đầu
-Tín hiệu rời rạc tuần hoàn với chu kỳ là N nếu thỏa:x(n) = x(n+N). Với mọi n.
-Năng lượng của tín hiệu được định nghĩa là :
e. Các hệ thống xử lý tín hiệu rời rạc
Một hệ thống xử lý tín hiệu sẽ xác lập mối quan hệ giữa tín hiệu vào và tín hiệu ra. Ta có thể biểu diễn hệ xử lý bằng một phép biến đổi hay một toán tử T nào đó :
y(n) =T{x(n)}
Trong đó tín hiệu vào x(n) còn được gọi là tác động, còn tín hiệu ra y(n) được gọi là đáp ứng của hệ xử lý.
Ta có thể diễn tả quan hệ như sau (hình 1)
X(t) Y(t)
Hình 1: Mô hình hệ xử lý biến đổi tín hiệu vào x(n) thành tín hiệu y(n).
Hệ tuyến tính: Giả sử y1(n) và y2(n) là đáp ứng của hệ tương ứng với tác động vào là x1(n) và x2(n). Hệ là tuyến tính nếu và chỉ nếu:
T[a. y1(n) + b. y2(n)] = a.T[x1(n)]+ b.T[x2(n)]= a.y1(n)+by2(n)
Vì một tín hiệu bất kỳ có thể biểu diễn là:
với d(n-k) = 1 nếu k=n và
= 0 nếu k¹n
do vậy đối với hệ tuyến tính:
với hk(n)= T[d(n-k)]. được gọi là đáp ứng xung của hệ đối với tác động là xung d(n-k)
Hệ bất biến theo thời gian: (Time invariant system) : Nếu như đáp ứng của hệ đối với tác động x(n) là y(n) thì đáp ứng của hệ đối với tác động là x(n-k) sẽ là y(n-k). Nói cách khác nếu tín hiệu vào bị dịch đi 1 đoạn thời gian là k thì tín hiệu ra bị dịch đi 1 đoạn thời gian là k. Mọi hk(n) đơn giản trở thành h(n-k), tức là h(n) dịch đi k mẫu.
Hệ tuyến tính và bất biến (TTBB) : Được đặc trưng hoàn toàn bằng đáp ứng xung h(n): biết h(n) ta hoàn toàn tính ra đáp ứng y(n) của tín hiệu vào x(n).
Công thức này còn được gọi là tổng chập (convolution) của 2 tín hiệu và còn được ký hiệu là : y(n) = x(n)*h(n).
Bộ lọc số:
Thay cho thiết kế truyền thống là thiết kế phần cứng từng khối chức năng trong hệ thống xử lý tín hiệu, thiết kế theo phương pháp số được sử dụng ở đây chuyển toàn bộ các thiết kế phần cứng đó thành các thuật toán phần mềm để mô phỏng các chức năng tương ứng trong mỗi khối trước đây. Như thuật toán lọc có tác dụng lọc tín hiệu giống như khi sử dụng một bộ lọc tương tự truyền thống, điểm khác biệt duy nhất trong hai phương pháp đó là cách biểu diễn tín hiệu thay vì tương tự ( analog ) thì nay là rời rạc (discrete, digital). Nhưng điều đó không làm thay đổi bản chất của phép biến đổi lên tín hiệu vì ta hoàn toàn có thể nhận được tín hiệu liên tục mong muốn nhờ phép biến đổi Shannon.
Bên cạnh đó, người ta còn dựa vào độ dài của đáp ứng xung để phân ra 2 loại: Hệ đáp
ứng xung với độ dài hữu hạn: FIR system (Finite Impulse Response system), gọi tắt là
hệ co đáp ứng xung hữu hạn, và Hệ có đáp ứng xung với độ dài vô hạn: IIR ( Infinite
Impulse Response system), thường gọi là hệ có đáp ứng xung dài vô hạn
Bộ lọc FIR :
Quan hệ giữa chuỗi đầu vào số của bộ lọc FIR x(n) và chuỗi đầu ra số y(n) có thể được viết như sau :
(3.1)
Trong đó bi là các hệ số của bộ lọc và n là số các hệ số đó. Các hệ số của bộ lọc bi cung cấp đặc trưng của bộ lọc thông qua các chuỗi vào x(n) được chuyển qua để tạo chuỗi ra mong muốn y(n). Theo định nghĩa và thiết kế, chuỗi ra y(n) của bộ lọc FIR (cũng được biết như là một bộ lọc không hồi quy) là một hàm chỉ của các đầu vào hiện hành và quá khứ của nó.
Hàm truyền biến đổi z tương ứng với phương trình (3.1) có thể được biểu diễn như sau :
H(z)= =(3.2)
Trong đó h(i), đáp ứng xung của bộ lọc FIR, được tạo thành từ bi, các hệ số của bộ lọc FIR.
Để xác định đáp ứng tần số của bộ lọc FIR, biến số của phép biến đổi Z (z) được đánh giá trên đường tròn đơn vị như sau :
z = (3.3)
Trong đó f = tần số chuẩn hoá, nghĩa là tần số thực được chia cho tần số lấy mẫu.
Bằng cách thay thế phương trình (3.3) vào phương trình (3.2) đáp ứng tần số của bộ lọc FIR có thể được viết như sau :
H(ej2pf) =
Hình dạng sóng bị nhiễu khi chưa sử dụng bộ lọc BandPass:
Khi sử dụng bộ lọc hình dạng sóng bị nhễu trở lại bình thường:
3.3 NGUYÊN NHÂN VÀ CÁCH KHẮC PHỤC
Khi đo điện tâm đồ nếu thấy tất cả các sóng ở các chuyển đạo đều bị nhiễu thì lập tức kiểm tra dây đất, có thể là do đứt dây.
Nếu máy chỉ đo được tốt ở một vài chuyển đạo và bị nhiễu hay không đo được một số chuyển đạo khác thì có ít nhất một đường dây nối vào bệnh nhân bị đứt, hoặc điện cực tiếp xúc với da không tốt.
Cách suy đoán đường dây bị hư như sau:
Rung nhiều hoặc không đo được tất cả các chuyển đạo thì lập tứ kiểm tra dây đất và RF.
Đo D1 tốt nhưng D2 và D3 bị nhiễu thì kiểm tra LF ( chân trái ).
Đo D2 tốt nhưng D1 và D3 bị nhiễu thì kiểm tra LA ( tay trai ).
Đo D3 tốt nhưng D1 và D2 bị nhiễu thì kiểm tra RA ( tay phải ).
Nếu đo tốt ở D1,D2,D3,aVR,aVL,aVF nhưng có V (V1->V6) nào đó không đo được thì lập tức kiểm tra dây V đó.
Lưu ý:
Nếu đã kiểm tra kỷ càng dây đất và dây điện cực, không phát hiện có hư hõng nào mà máy vẫn bị nhiễu không đo được thì thử tìm hiểu xem ở phòng sát bên chỗ giường bệnh nhân nằm đo ECG có lắp đặt thêm thiết bị điện nào mới không, cọc sắt làm dây đất có được đóng sâu xuống đất ẩm ướt không, nơi dây đất kẹp vào có bị rỉ sét không
3.4 Lọc nhiễu thích nghi
3.4.1. Khái niệm về lọc nhiễu thích nghi :
Một mạch lọc thích nghi gồm 2 phần phân biệt : một mạch lọc số với các hệ số có thể chỉnh được, và một giải thuật thích nghi được dùng để điều chỉnh hoặc sửa đổi các hệ số của mạch lọc. Hai tính hiệu vào yk và xk , được đặt đồng thời vào mạch lọc thích nghi. Tín hiệu yk là tín hiệu bị nhiễu (gồm cả tín hiệu cần sk, và nhiễu nk , được giả sử là không liên quan với nhau) . Tín hiệu xk là một giá trị đo của tín hiệu bị nhiễu có tương quan theo một cách nào đó với nk. xk được xử lý bởi mạch lọc số để tạo ra một ước lượng nk, của nk. Một ước lượng của tín hiệu cần thiết có được bằng cách trừ tín hiệu bị nhiễu yk với tín hiệu ra của mạch lọc số nk :
sk = yk – nk = sk + nk – nk
Mục đích chính của việc triệt nhiễu là tạo ra một ước lượng tối ưu của tín hiệu nhiễu trong tín hiệu bị nhiễu và từ đó có một ước lượng tối ưu cho tín hiệu mong muốn. Điều này có được bằng cách dùng sk trong một vòng hồi tiếp (feedback arrangement) để chỉnh các hệ số của mạch lọc số, nhờ vào giải thuật lọc thích hợp, để tối thiểu hóa nhiễu trong sk. Tín hiệu ra sk , phục vụ hai mục đích : (i) như là một ước lượng của tín hiệu mong muốn và (ii ) như là một tín hiệu sai biệt (error) mà được dùng để chỉnh các hệ số của mạch lọc.
3.4.2. Lọc nhiễu nguồn AC 50Hz/60Hz
Nhiễu do dây nguồn xoay chiều gây ra ảnh hưởng nhiều đến việc suy diễn điện tâm đồ, nhất là trong phân tích ECG tự động. Đặc biệt nghiêm trọng ở chỗ tần số 50Hz của nguồn xoay chiều gần trùng với tần số của sóng phức hợp QRS có giá trị chuẩn đoán cao. Ngay cả khi sử dụng kỹ thuật đặc biệt để giảm thiểu nhiễu, nhiễu AC vẫn tồn tại do không thể điều chỉnh cân bằng tổng trở một cách tuyệt đối. Để giảm nhiễu AC người ta phải dùng đến các mạch lọc analog hoặc digital
Có thể chia các mạch lọc nhiễu AC thành 4 loại :
Các mạch lọc thông thấp : Các mạch lọc thông thấp analog hoặc digital loại bỏ thành phần nhiễu AC chứa hài bậc cao nhưng như vậy cũng loại bỏ các thành phần quan trọng trong tín hiệu ECG.
Các mạch lọc Notch : Các mạch lọc Notch là các mạch loại bỏ nhiễu AC bằng cách suy giảm mạnh biên độ cuả các tín hiệu nằm trong một phạm vi tần số rất hẹp nào đó. Các mạch lọc số đệ qui (IIR) và không đệ qui (FIR) có thể cài đặt làm mạch lọc Notch. Các mạch lọc IIR và các mạch lọc analog có tính chất không đáp ứng pha tuyến tính, do đó làm biến dạng tín hiệu. Để làm suy giảm mạnh biên độ nhiễu AC phải nới rộng bandwidth nhưng như vậy làm mất cả các tín hiệu mong muốn trên ECG.
Các mạch lọc thích nghi : Các mạch lọc thích nghi sử dụng một ngõ vào tham chiếu chính là nhiễu AC và lấy tín hiệu có nhiễu AC trừ đi tín hiệu ngõ ra của ngõ vào tham chiếu với một ước tính thích hợp về biên độ và pha (IE : Incremental Estimation là một phương pháp lọc loại này và sử dụng 3 giá trị tín hiệu vào liên tiếp). Các mạch lọc này không làm biến dạng tín hiệu ECG. Các mạch lọc thích nghi đáp ứng được cả khi tần số nguồn xoay chiều thay đổi hoặc biên độ nhiễu thay đổi.
Các mạch lọc toàn cục : Trong loại mạch lọc này, người ta đưa ra bộ giá trị tham số nhiễu gồm tần số , biên độ và pha của nhiễu áp dụng trên toàn bộ đoạn tín hiệu ECG thu được. Bộ tham số này có thể được tính nhờ phân tích Biến đổi Fourier nhanh (FFT) . Có thể cho bộ giá trị ban đầu mặc định nào đó và điều chỉnh bộ tham số này sao cho sai số trung bình bình phương bé nhất (LMS). Các bộ lọc này cho kết quả không mong muốn nếu một trong 3 giá trị : tần số, biên độ hoặc pha bị biến đổi. Bộ lọc này không đáp ứng được yêu cầu thời gian thực.
Các yêu cầu quan trọng của bộ lọc nhiễu AC dùng trong phân tích ECG
Tính chọn lọc : Việc loại bỏ nhiễu nguồn không ảnh hưởng đến thành phần tín hiệu ECG có cùng tần số và tần số lân cận
Nhạy trên toàn bộ vùng tần số có thể có của AC gây nhiễu
Áp dụng cho tần số lấy mẫu tùy ý.
Không làm hỏng tín hiệu có biên độ cao
Nhạy và tự điều chỉnh khi biên độ nguồn AC thay đổi nhanh hoặc chậm
Có thể cài đặt xử lý thời gian thực
Khả năng đáp ứng các yêu cầu trên của các mạch lọc.
Theo tổng kết trên, không có giải thuật lọc nào đáp ứng tất cả các yêu cầu. Việc chọn tùy thuộc vào thứ tự ưu tiên của các yêu cầu trong quá trình xử lý tín hiệu
Lọc số nhiễu nguồn thích nghi :
Nếu nhiễu có dạng sóng sin : biên độ en của nhiễu có thể dựa trên biên độ en-1 và en-2 của nhiễu ở 2 thời điểm trước :
en = 2 en-1. cos (2p fi/fs ) - en-2
Trong đó fi là tần số nhiễu AC và fs là tần số lấy mẫu .
CHƯƠNG IV
RÚT TRÍCH CÁC THÔNG SỐ ĐẶC TRƯNG
VÀ HỆ SUY DIỄN DỰA TRÊN TẬP LUẬT MỜ
4.1. CÁC THÔNG SỐ CÓ GIÁ TRỊ TRONG CHẨN ĐOÁN ECG
Các thông số có giá trị trong chẩn đoán ECG thường được sử dụng là :
4.1.1 Tần số của tim : Số nhịp tim trong một phút
Rate = (Thời điểm phát hiện R cuối – Thời điểm phát hiện R đầu tiên)/(số sóngR phát hiện được –1)
4.1.2 Các thời khoảng :
RR : thời khoảng trung bình giữa các sóng R liên tiếp
PQ : đoạn PQ, tức là thời gian từ đầu sóng P đến đầu phức hợp QRS
QRS : thời gian của phức hợp QRS, thường gọi là bề rộng của phức hợp QRS
QT : Thời gian từ điểm khởi đầu phức hợp QRS (khởi đầu sự khử cực thất) đến điểm kết thúc cùa sóng T( kết thúc pha tái cực )
QTC : Thời khoảng QTC chuẩn hoá. Vì thời khoảng QT phụ thuộc rất nhiều vào tần số của tim, người ta biến đổi QT thành QTC chuẩn hoá theo công thức xấp xỉ
QTC = QT*sqrt(1000/RR)
Thời khoảng QTC bình thường trung bình 390 ± 40 ms
4.1.3 Trục điện :
Các trục điện dược xác định riêng theo từng sóng P,T và QRS. Trục điện cho biết hướng lan truyền chính của vector điện trong mặt phẳng trán. Có thể tính dựa vào tín hiệu ECG ở chuyển đạo I và chuyển đạo aVF theo công thức
Trục a = arctan ( max(aVF)/max(I) )
4.1.4 Các biên độ
P : biên độ sóng P
Q : biên độ sóng Q
Qd : thời gian sóng Q
R : biên độ sóng R
Rd : thời gian sóng R
S : biên độ sóng S
Sd : thời gian sóng S
R' : biên độ sóng R' (nếu có)
R'd : biên độ sóng R'
S' : biên độ sóng S'
S'd : thời gian sóng S'
J : biên độ điểm J
ST : chênh lên/chênh xuống (mV)
T : biên độ sóng T
T' : biên độ sóng T' ( nếu sóng T có hai pha)
Quan hệ giữa các chuyển đạo chi :
Khi sử dụng điện tâm đồ 12 chuyển đạo chuẩn, trong các chuyển đạo chi , nếu biết 2 chuyển chi có thể tính 4 chuyển đạo chi còn lại. Có 30 tổ hợp 2 chuyển đạo chi có thể. Việc tính toán này dựa trên định luật Einthoven's và quan hệ giữa các chuyển đạo "a" (aVR, aVL, aVF) . Như vậy, nếu kết quả ghi ở chuyển đạo chi nào đó có tỉ số nhiễu/tín hiệu lớn, ta có thể tính lại tín hiệu ở chuyển đạo này thay vì sử dụng kết qủa ghi trực tiếp. Hoặc trong trường hợp thay vì phải đo đồng thời 6 chuyển đạo chi, ta có thể chỉ đo 2 chuyển đạo (và do đó có thể đo với tần số lấy mẫu lớn hơn ) và suy ra các chuyển đạo còn lại
I + III= II
aVR + aVL + aVF = 0
aVR = -1/2*( I + II )
aVL = I - (1/2 *II)
aVF = (1/2*I)
Nếu biết chuyển đạo I và II :
III = II-I
aVR = -1/2 *(I + II)
aVL = I - (1/2 * II )
aVF = II - (1/2 * I )
Nếu biết chuyển đạo I và III :
II = I+ III
aVR = -1/2 * ( 2*I + III)
aVL =1/2*( I-III)
aVF = III + (1/2* I )
Nếu biết chuyển đạo II và III
I = II - III
aVR = 1/2* ( III - 2*II )
aVL = 1/2 * (II - 2*III )
aVF =1/2* ( II + III)
Nếu biết chuyển đạo aVF và aVL :
I = 2/3*( 2*aVL + aVF)
II = 2/3*(aVL + 2*aVF)
III = 2/3*(aVF - aVL)
aVR = -aVF -aVL
Nếu biết chuyển đạo aVF và aVR :
I = -2/3*( 2*aVR + aVF)
II = 2/3*(aVF-aVR)
III = 2/3*(2*aVF + aVR)
aVL = -aVR -aVF
Nếu biết chuyển đạo aVL và aVR
I = -2/3*(aVR -aVL)
II = -2/3*(2*aVR + aVL)
III = -2/3*(aVR + 2*aVL )
aVF = -aVL –aVR
4.1.5 Xác định trục điện tim
Trục điện của phức hợp QRS theo mặt phẳng trán có thể được xác định nhờ vào các chuyển đạo chi (I,II,III,aVF,aVL và aVR). Sự thay đổi trục điện trong mặt phẳng trán gọi là sự lệch trục, là một trong các thông số quan trọng của việc chẩn đoán
Bảng tham khảo góc trục giúp xác định trục điện của phức hợp QRS một cách nhanh chóng
I
II
III
AVL
AVF
AVR
Góc trục (độ)
-
-
+
-
0
+
-180o
-
-
+
-
-
+
-151 đến -179
-
-
0
-
-
+
-150
-
-
-
-
-
+
-121 đến -149
-
-
-
0
-
+
-120
-
-
-
+
-
+
-91 đến -119
0
-
-
+
-
+
-90
+
-
-
+
-
+
-61 đến -89
+
-
-
+
-
0
-60
+
-
-
+
-
0
-31 đến -59
+
0
-
+
-
-
-30
+
+
-
+
-
-
-1 đến -29
+
+
-
+
0
-
0
+
+
-
+
+
-
1 đến 29
+
+
0
+
+
-
+30
+
+
+
+
+
-
+31 đến +59
+
+
+
0
+
-
+60
+
+
+
-
+
-
+61 đến +89
0
+
+
-
+
-
+90
-
+
+
-
+
-
+91 đến +119
-
+
+
-
+
-
+120
-
+
+
-
+
+
+121 đến +149
-
0
+
-
+
+
+150
-
-
+
-
+
+
+151 đến +179
-
-
+
-
0
+
+180
Trong đó :
- : Phức hợp chủ yếu âm
0 : Đẳng điện =âm và dương cân bằng = trục cần xác định vuông góc với chuyển đạo này
+ : Phức hợp chủ yếu dương
Đánh giá góc trục điện :
Trục ( độ)
Đánh giá
-30 đến +90
Bình thường
+90 đến +180
Lệch phải
-30 đến -90
Lệch trái
-90 đến -180
Trục dị thường
Giải thuật :
Bước 1 : Sử dụng chuyển đạo I và aVF để xác định phần tư góc (0 đến +90o,90 đến +180, 0 đến -90, -90 đến -180)
Bước 2 :
Nếu thuộc phần tư dưới, trái (0 đến +90) : dò theo III và aVL
Nếu thuộc phần tư dưới, phải (+90 đến +180) : dò theo II và aVR
Nếu thuộc phần tư trên, trái (0 đến -90) : dò theo II và aVR
Nếu thuộc phần tư trên, phải (-90 đến -180 hay +180 đến +270) : dò theo III và aVL
Trục điện QRS theo mặt phẳng ngang
Trục điện của phức hợp QRS theo mặt phẳng ngang được xác định bằng các chuyển đạo trước tim (V1 đến V6).Sự thay đổi trục điện theo mặt phẳng ngang gọi là quay trục
Bình thường V3 và V4 là đẳng điện, với V1 và V2 âm, V5 và V6 dương.
Nếu quay về phía trái trong mặt phẳng ngang, điểm đẳng điện có thể nhìn thấy trong V5 hay V6, với V3 và V4 chủ yếu âm
Nếu quay về phía phải trong mặt phẳng ngang, điểm đẳng điện có thể nhìn thấy trong V1 hay V2, với V3 và V4 chủ yếu dương
4.1.6 Phát hiện QRS
Việc phát hiện sóng R trên điện tâm đồ có giá trị lớn trong phân tích tự động ECG. Khoảng cách giữa 2 sóng R liên tiếp gọi là khoảng R-R dùng để xác định nhịp thất cũng là nhịp bóp của tim. Khoảng R-R trung bình dùng để xác định nhịp là nhịp nhanh (tachycardia) hay nhịp chậm (bradycardia) hay rung thất (ventricular filbrillation). Sự biến đổi các khoảng R-R cho biết tình trạng rối loạn nhịp. Sau khi phát hiện sóng R, ta có thể tiến hành xác định phức hợp QRS. Bề rộng của phức hợp QRS cũng là một thông số quan trọng để phân loại rối loạn nhịp và các bệnh lý khác ở tim. May mắn đối việc phân tích tự động là sóng R dễ phát hiện nhất trong các thành phần sóng của điện tâm đồ, trừ những trường hợp đặc biệt sóng R có biến độ quá thấp và hình dáng rất bất thường thì rất khó phát hiện.
Các cách tiếp cận để phát hiện sóng R :
Phương pháp không-cú- pháp : chỉ dựa vào các tính chất đặc trưng của phức hợp QRS để phát hiện. Phương pháp này đơn giản. Tiêu biểu là giải thuật W.Thompkins và J.Pan.
Phương pháp dựa vào cú pháp : dựa vào suy diễn trên văn phạm. Khá phức tạp.
Mô hình Markov ẩn : dựa trên mô hình xác suất sự kiện sóng R. Phức tạp
1. Phát hiện sóng R không dựa vào cú pháp. Tiêu biểu cho phương pháp này là giải thuật của J.Pan và W.Tompkins được trình bày trong bài báo "A Real Time QRS Detection algorithm" đăng trong IEEE Transactions on BioMed. Eng Vol.32 1985. Điểm then chốt của giải thuật là dùng các phương pháp lọc để làm nổi bật sóng R và nhận chìm các thành phần sóng khác của sóng điện tim đồ. Đó là vì sóng R có tần số cao hơn các sóng khác : Peak của sóng R có tần số từ 10Hz đến 15Hz, trong khi đó sóng T có tần số từ 4Hz đến 6Hz. Do đó tín hiệu ECG được qua một mạch lọc BandPass cho phép các tần số từ 7.5Hz đến 40Hz đi qua. Như vậy mạch lọc cũng có tác dụng lọc nhiễu có tần số rất thấp như nhiễu gây dịch chuyển đường nền do cử động của cơ thể, nhiễu có tần số cao như rung cơ và nhiễu nguồn 50Hz. Bước tiếp theo tín hiệu ECG được lấy vi phân và bình phương. Sau đó sử dụng mạch lọc trung bình di chuyển MA (Moving Average Filter) để hạn chế nhiễu trong miền tần số còn lại. Sau các bước trên các sóng được phát hiện bên trong khoảng ngưỡng T1 và T2 được giả thiết là các sóng R phát hiện được. Các ngưỡng T1 và T2 cũng cần được điều chỉnh sau mỗi lần phát hiện sóng R theo xung hướng tăng/giảm giá trị của sóng R. Sau một thời khoảng tương đối dài định trước, nếu không phát hiện sóng R cần hạ thấp các giá trị ngưỡng và bắt dầu lại tiến trình phát hiện sóng R từ thời điểm sau lần phát hiện sóng R cuối cùng.
Nếu tần số lấy mẫu là 250Hz :
Bước 1 : có thể sử dụng mạch lọc BandPass gồm 2 mạch lọc liên tiếp : mạch lọc thông thấp và mạch lọc thông cao.
Mạch lọc thông thấp loại IIR : H(z)=(1-z-6)2/(1-z-1)2
Þ y[n] = 2y[n-1] - y[n-2] + x[n] - 2x[n-6] + x[n-12]
Mạch lọc thông cao IIR: H(z)=(-1+32z-16+z-32)2/(1-z-1)
Þ y[n] = -y[n-1] - x[n] + 32x[n-16]+x[n-32]
Bước 2 : Vi phân và bình phương
y[n]=(x[n]-x[n-1])2
Bước 3 : Mạch lọc trung bình di chuyển
y[n] = (1/Nw)(x[n-(Nw-1)]+x[n-(Nw-2)]++x[n]) trong đó Nw là chiều dài của mạch lọc
Giải thuật cũng có thể áp dụng một cách tương tự để phát hiện các sóng T và sóng P với các ngưỡng T1 và T2 thấp hơn vào dựa vào thời điểm phát hiện sóng R đã có.
Đánh giá kết quả : Mức độ thành công của giải thuật được đánh giá qua 2 thông số :
Dương giả : Sóng R được ghi nhận trong khi thật sự không hiện diện sóng R
Âm giả : Sóng R không được ghi nhận khi sóng R thật sự hiện diện
Phân loại ECG :
Phát hiện QRS : theo văn phạm G, có 13 luật mô tả phức hợp QRS. Theo đó phức hợp QRS có thể có từ 1 đến 7 peak. Tuy nhiên để xác định một chuỗi peak có thực sự là phức hợp QRS hay không hay chỉ gồm các peak nhiễu , cần sử dụng đến các qui tắc ngưỡng về giá trị :
- Góc giữa cánh phải của peak i và cánh trái của peak i+1 phải nhỏ hơn e2
Góc của mỗi peak phải nhỏ hơn e5
- Năng lượng của một peak ít nhất phải lớn hơn e1
Phát hiện P và T : các phức hợp P và T chỉ được phát hiện giữa 2 phức hợp QRS liên tiếp. Các phức hợp P và T bao gồm 1 hay 2 peak liên tiếp và được phân biệt với các peak khác nhờ thủ tục ngữ nghĩa dùng năng lượng peak. Các peak được sử dạng là phức hợp P hay T khi chiều cao và thời khoảng giữa các cánh trong mỗi peak lớn hơn e3 và e4
Phân loại QRS : chúng ta cần thiết lập khoảng cách giữa một phức hợp QRS với một lớp phức hợp QRS hay khoảng cách giữa hai phức hợp QRS. Trong trường hợp thứ nhất, ta tính khoảng cách cho phức hợp QRS và cho từng phức hợp trong lớp. Trong trường hợp thứ hai, chúng ta sử dụng “city block metric” để thiết lập khoảng cách giữa 2 phức hợp. Các thời khoảng và chiều cao của từng sóng thành phần của phức hợp được chuẩn hoá khi tính khoảng cách.
Cài đặt : Việc cài đặt theo văn phạm trên khá phức tạp nếu dùng ngôn ngữ thủ tục (như ngôn ngữ C hoặc Pascal) thay vì dùng ngôn ngữ logic (như prolog). Nên dùng công cụ Lex_Yac để sản sinh các thủ tục cho văn phạm.
4.1.7 Phân loại phức hợp QRS
Bằng cách sử dụng các giải thuật phát hiện sóng R, người ta ghi nhận được chuỗi thời điểm R-R. Chuỗi thời điểm R-R cho biết nhịp nhanh, chậm hay trung bình và đều hay không đều. Tuy nhiên căn cứ vào hình dáng của phức hợp QRS người ta có thể xác định được thương tổn ở tim. Chẳng hạn một phức hợp QRS có sóng Q sâu hơn 1/3 sóng R cho biết một nhồi máu cơ tim, hoặc một phức hợp QRS rộng cho biết dầy thất,. Do đó cần phân loại phức hợp QRS theo hình dạng của nó : bình thường, bất thường, kỳ lạ,. Có nhiều phương pháp để phân loại. Sau đây là phương pháp phân loại bằng hàm xấp xỉ Chebychev.
Sử dụng các giá trị tín hiệu trước đỉnh R 60milisec và sau đỉnh R 180 milisec vào xấp xỉ Chebysev bậc 5, thu được các hệ số c1, c2, c3, c4, c5. Phân bố các hệ số c2 theo c1 và phân bố c5 theo c1 của các trường hợp phức hợp QRS bình thường và QRS thất được cho thấy rất dễ dàng phân biệt. Trong đó, các kí hiệu tròn là điểm tương ứng với phức hợp QRS bình thường và các kí hiệu * là điểm tương ứng với phức hợp thất (hình vẽ)
Sau đó khoảng cách Euclide được tính.
So sánh dnormal và dventricular để xác định loại của phức hợp QRS
So sánh với các phương pháp khác :
-Một số phương pháp khác đo bề rộng của QRS để phân loại. Trong trường hợp này cần định vị chính xác điểm khởi đầu của phức hợp (tức là khởi đầu của sóng Q) và kết thúc của phức hợp (tức là kết thúc của sóng S hay điểm J). Trong nhiều trường hợp rất khó xác định các điểm này.
-Sử dụng vài đặc trưng trong phức hợp QRS như diện tích, giá trị min, max, hệ số tương quan với phức hợp QRS bình thường. Phương pháp này cũng gặp khó khăn giống như phương pháp đo bề rộng của QRS.
-Dùng mạng neuron với input là giá trị trung bình với trong các khoảng thời gian đều đặn.
4.2 LOGIC MỜ – SUY DIỄN DỰA TRÊN TẬP LUẬT MỜ
4.2.1 Tại sao sử dụng các giá trị mờ thích hợp hơn các giá trị rõ trong chuẩn đoán Y khoa ?
Ngôn ngữ tự nhiên thường sử dụng các khái niệm không chính xác, có tính chất phỏng chừng :”Ba thì cao” hay “Hôm nay trời nóng”. Các phát biểu như vậy rất khó chuyển thành sang ngôn ngữ chính xác mà vẫn giữ được giá trị ngữ nghĩa. Ví dụ phát biểu “Ba cao 1 mét 72” không nói thẳng ra ý anh ta cao, và phát biểu “Ba có chiều cao bằng 1.2 độ lệch chuẩn chiều cao trung bình của nam thanh niên trong độ tuổi đó, cùng dân tộc” quá phức tạp và một nam thanh niên có chiều cao 1.19999999 độ lệch chuẩn có thể gọi là cao không ?
Trong chuẩn đoán rối loạn nhịp, nếu sử dụng “điều kiện bề rộng QRS 120ms” thì bác sĩ sẽ không được phép chẩn đoán là block nhánh hay hội chứng WPS nếu bề rộng QRS là 119ms (!). Khi đo các thời khoảng của các sóng, thực tế rất khó khăn ngay đối với các bác sĩ vì rất khó xác định các điểm khởi đầu và kết thúc các sóng. Bởi vì các giao điểm của các đoạn dốc lên hay dốc xuống với đường nền (baseline) phụ thuộc vào hiện tượng dịch đường nền và độ dốc của sóng P hay T nhiều khi rất thấp. Các phát biểu “nhịp đều “ hay “nhịp không đều” cũng thường mang tính chất trực giác. Điều này dễ dàng và hợp lý hơn việc qui định giới hạn rõ độ lệch chuẩn 0.05 là đều.
Qua các ví dụ trên, ta có thể biết được trở ngại của một người thiết kế hệ chuyên gia y khoa, tức là hệ bắt chước khả năng chẩn đoán-ra quyết định của bác sĩ. Nhiệm vụ đầu tiên của nhà thiết kế là phải mã hoá quá trình ra quyết định của bác sĩ. Trong khi đó nhà thiết kế nhận ra “thế giới quan chẩn đoán” của bác sĩ : mặc dù dựa vào các thí nghiệm, các phép đo ‘chính xác”, nhưng đưa ra các kết luận, các quyết định dựa vào sự kết hợp các yếu tố , tương quan các yếu tố một cách không tuyệt đối. Do đó việc sử dụng các giá trị điều kiện rõ, luận lý rõ 2 giá trị 0 và 1 không thể thích hợp với hoạt động chẩn đoán-ra quyết định.
4.2.2 Khái niệm về Tập mờ
Khái niệm tập mờ được hình thành trên nền tảng logic và được định nghĩa như là sự sắp xếp chung lại các sự vật ,các đối tượng có cùng tính chất ,được gọi là phần tử của tập hợp đó.
Ý nghĩa logic của khái niệm tập hợp xác định ở chỗ một vật hoặc một đối tượng bất kì có thể có hai kả năng hoặc là phần tử của tập hợp đang xét hoặc không,mà không dự phòng cho trường hợp của các phần tử có một phần tính chất của tập hợp đang xét.
Theo logic cổ điển, hàm thành viên (membership function) của tập A cho biết
giá trị x có thuộc về tập A hay không, có 2 giá trị là 0 và 1. Như vậy, mọi giá trị x trong miền giá trị X chỉ có 2 biểu diễn : (x,0) nghĩa là x không thuộc về tập A và biểu diễn (x,1) nghĩa là x thuộc về tập A. Kí hiệu hàm thành viên của A là mA, ta có :
mA(x) = 1 nếu x Ỵ A
0 nếu x Ï A
Trong khái niệm mới : tập mờ A, hàm thành viên của tập mờ A cho biết mức độ x thuộc về tập A mA(x) có giá trị liên tục trong đoạn [0,1] thay vì chỉ có giá trị 0 hoặc 1. Ví dụ tập A bây giờ là tập CAO, x là chiều cao thì mA(1.2) = 0.1 hay xem bảng sau :
Người
Chiều cao x
Mức độ thuộc về CAO
Thành
0.97
0.00
Bằng
1.62
0.21
Nhân
1.72
0.38
Minh
1.82
0.54
Đạt
2.15
1.00
Hàm thành viên của tập CAO có thể biểu diễn qua hình ảnh sau :
mCAO
1
0.75
0.5
0.25
0
0 0.5 1.0 1.5 2.0 2.5 chiều cao(mét)
Hình 5.3. Hàm thành viên chiều cao
4.2.3 Các dạng hàm thành viên
Các hàm thành viên có thể có dạng hình thang ( hoặc tam giác ) , dạng hàm Gauss, dạng hàm chuông :
Dạng hình thang (hoặc tam giác) : hàm thành viên có 4 tham số :
Hình 5. 4 : Hàm thành viên có dạng hình thang (hoặc tam giác)
Dạng hàm chuông : có 3 tham số
Trong đó 2a là bề rộng ở giá trị 0.5 của hàm thanh viên, b liên quan đến độ dốc : hệ số góc của tiếp tuyến tại giá trị 0.5 của hàm thành viên là –b/(2a), và c là tâm của hàm thành viên
Hình 5.5 : Hàm thành viên có dạng hình chuông
Biến ngôn ngữ : Các tập CAO, THẤP và TRUNGBÌNH là biến ngôn ngữ. Tương tự để chỉ tốc độ xe, ta có các biến ngôn ngữ như CHẬM, RẤTCHẬM, TRUNGBÌNH, HƠINHANH, RẤTNHANH. Tương tự với các giá trị x là tuổi ta có các hàm thành viên TRẺ, TRNIÊN và GIÀ như sau :
Hình 5.6 : Các hàm thành viên dạng hình chuông với các biến ngôn ngữ TRẺ, TRNIÊN và GIÀ
Các phép toán trong logic mờ :
Tương tự các phép toán logic 2 giá trị, ứng với các phép toán AND, OR và COMPLEMENT, logic mờ có các phép toán conjunction T, disjunction S và complement N.
Đặt a=mA(x) và b=mB(x),
thì mAÇB(x) = T(a,b)
và mẰB(x)= S(a,b)
T và S phải được định nghĩa sao cho thoả các điều kiện T-norm và T-cnorm (chuẩn tam giác) như sau :
T(a,b) = T(b,a) (Tính chất giao hoán)
T(a,T(b,c)) = T( T(a,b), c) (Tính chất kết hợp)
T(0,0) = 0
T(a,1) = a
T(a,b) £ T(c,d) nếu a £ c và b £ d
S(a,b) = S(b,a) (Tính chất giao hoán)
T(a,T(b,c)) = T( T(a,b), c) (Tính chất kết hợp)
S(1,1) = 1
S(a,0) = a
S(a,b) £ S(c,d) nếu a £ c và b £ d
Hàm thành viên của ~A (phủ định của A) là m~A
m~A(x) = 1-mA(x)
Định lý DeMorgan áp dụng trong logic mờ :
S(a,b) = N(T(N(a),N(b)))
T(a,b) = N(S(N(a),N(b)))
Trong dạng có thêm tham số p vào T-norm, thì T-norm và T-conorm được viết là :
Tsc(ab,p) = [MAX{0, a-p + b-p –1 }]-1/p
Ssc(a,b,p) =1-[MAX{0, (1-a)-p + (1-b)-p – 1 }]-1/p
Nếu chọn tham số p à 0 hay pॠ, ta có 2 định nghĩa T thông dụng nhất :
limpà0Tsc(a,b,p) = ab
limpà¥Tsc(a,b,p) = min{a,b}
Tương tự với các phép toán trong logic 2 giá trị, ứng với các phép toán GIAO, HỘI, CHỨATRONG ta cũng có các phép toán trong logic mờ được định nghĩa như sau:
S là một tập các đối tượng, với các phần tử được kí hiệu là x : S ={x}
Tập mờ A được đặc trưng bằng hàm thành viên mA
A gọi là tập EMPTY nếu và chỉ nếu "x, mA(x)=0.0
A = B nếu và chỉ nếu "x, mA(x) = mB(x) (hay mA = mB)
A là CONTAINED B ( A chứa trong B ) nếu và chỉ nếu mA £ mB
B = NOT A khi mB = 1 – mA
C = A OR B khi mC(x) = MAX(mA(x),mB(x))
C = A AND B khi mC(x) = MIN(mA(x),mB(x))
Như vậy hàm thành viên của các biến ngôn ngữ có hai miền giá trị khác nhau:
Miền giá trị ngôn ngữ:
N=(rất chậm,trung bình,nhanh ,rất nhanh).
Miền thời gian:
V=(xR/x> 0)
Và mỗi giá trị ngôn ngữ lại được mô tả bằng một tập mờ có cơ sở là miền các giá trị.
Logic mờ:
Thuật ngữ logic mờ được dùng với một số ngữ nghĩa khác nhau .Trong phạm vi điều khiển,nó liên quan đến việc xử lí các giá trị sự thật mờ (như gần đúng) được định nghĩa như các luật mờ ,trên khoảng sự thật[0,1].Phần này sẽ tập trung vào việc dẫn dắt để tìm ra kết luận từ các tính chất được định nghĩa như tập mờ.
Thông thường các hiểu biết liên quan đến sự lí luận mờ được mô tả như các luật có dạng “nếu x là A thì y là B”.Trong đó x ,y là các biến mờ.A và B là các giá trị mờ,các phát biểu của các mệnh đề đầu của các luật có thể liên kết với nhau bằng các từ nối vật lí như “Và” và “Hoặc”.
Dạng mô tả luật vừa nêu trên cũng tương ứng với cách mà con người diễn đạt các luật trong thực tế.
Suy diễn mờ:
Thông thường một luật mờ thường được diễn đạt ở dạng “Nếu ,Thì” là mối quan hệ mờ chủ yếu.Một mối liên hệ mờ R cũng đạt được gọi là một quan hệ mờ. Các mối liên hệ mờ trong cơ sở tri thức mờ có thể được định nghĩa như là tập hợp của các quan hệ mờ.
Trong lí luận mờ,các luật suy diễn mờ có hai dạng chính có tên gọi là cách lí luận trực tiếp và cách lí luận gián tiếp.
Cách suy luận trực tiếp:
Mệnh đề 1:nếu x là A thì y là B
Mệnh đề 2:x là A’
Kết luận :y là B’
Trong đó B’ được xác định như sau:
B’=A’o B
Trong biểu thức trên R là mối liên hệ liên hệ mờ có đượ nhờ liên hệ “Nếu A thì B’”,0 là toán tử hợp thành,A’ là tập mờ ở trong các dạng:A,rất A,hơn A,kém A,không A..
Cách suy diễn gián tiếp:
Mệnh đề 1:nếu x là A thì y là B
Mệnh đề 2: y là B’
Kết luận:
Trong hai cách suy diễn trên,cách suy diễn trực tiếp được dùng rộng rãi hơn.
Luật IF_THEN mờ :
Luật if_then mờ hay phát biểu điều kiện mờ là biểu thức dạng IF A THEN B , trong đó A và B là tên gọi của các tập mờ. Do khả năng biểu diễn ý nghĩa súc tích của mình, các luật if_then mờ thường được sử dụng trong mô hình suy luận để ra quyết định, bắt chước cách suy luận ra quyết định của con người.
Dạng của những luật này mà những luật mờ if –then thường được dùng để mô tả sự không chính xác của suy luận mà là một phần quan trọng của khả năng con người tạo ra sự quyết định trong môi trường không chính xác và không ổn định. Ví dụ: If áp suất cao thì chỉnh volume nhỏ.
‘áp suất’ và ‘volume’ là những biến ngữ nghĩa, còn ‘cao’ và ‘nhỏ’ là những giá trị ngữ nghĩa sẽ được xác định nhờ hàm thành viên.
Một dạng khác của luật mờ if-then được đưa ra bởi Takagi và Sugeno dạng này chỉ có những tập mờ ở giả thiết. Ví dụ:
If vận tốc cao then lực = k* (velocity)2, trong đó: velocity-Vận tốc
‘cao’ là biến ngữ nghĩa ở phần giả thiết được xác định nhờ hàm thành viên. Phần kết luận được mô tả bởi một phương trình không mờ của giá trị input là velocity.
Cả hai loại dạng luật mờ if-then trên đều được sử dụng rộng rãi trong mô hình hóa và điều khiển. Nhờ cách sử dụng những các biến ngôn ngữ và hàm thành viên mà một luật mờ có thể dễ dàng mô tả được sự suy luận chủ yếu của con người. Từ góc độ khác, do những định lượng ở phần giả thiết, mỗi luật mờ có thể được xem như là một sự mô tả cục bộ trong phạm vi giả định. Các luật mờ tạo nên phần cốt lõi của hệ thống suy luận mờ.
4.2.4 Hệ suy diễn mờ
Những hệ suy diễn mờ còn được gọi là những hệ thống dựa trên luật mờ, những mô hình mờ, hay những điều khiển mờ. Cơ bản một hệ suy luận mờ bao gồm năm phần cơ bản:
HÌNH 5.7 -HỆ SUY DIỄN MỜ
Cơ sở luật: gồm những luật mờ if-then
Cơ sở dữ liệu: xác định các hàm thành viên cho các tập mờ được sử dụng trong những luật mờ.
Bộ tạo quyết định: thực hiện những tác vụ suy luận trên những luật mờ.
Bộ mờ hóa: chuyển những giá trị đầu vào rõ sang mức độ mờ của những biến ngữ nghĩa.
Bộ giải mờ: chuyển những kết quả mờ của sự suy luận sang những kết quả rõ.
Thông thường cơ sở luật và cơ sở dữ liệu được liên kết với nhau tạo nên cơ sở tri thức. Các bước của lập luận mờ (những tác vụ suy luận dựa trên các luật mờ) được thực hiện bởi hệ thống suy luận mờ gồm:
So sánh giá trị đầu vào với hàm thành viên của phần giả thiết để có được giá trị thành viên (hay những độ đo tương tự) của những tập ngữ nghĩa (bước này được gọi là bước mờ hóa)
Kết nối (qua toán tử chuẩn T-norm, thường là nhân hay lấy tối tiểu) giá trị tạo thành viên của phần giả thiết để có được trọng số vào của luật.
Tạo kết luận đang tính toán (có thể là mờ hay rõ) cho mỗi luật dựa vào trọng số của luật.
Tổng hợp các giá trị kết luận này để tạo kết quả rõ (bước này được gọi là giải mờ).
Có một số suy diễn mờ được sử dụng trong lĩnh vực này, dựa vào loại của lập luận mờ mà có trọng lượng của mỗi giá trị rõ của luật, mà mỗi giá trị này được đưa ra trọng số đầu vào và đầu ra của hàm thành viên. Các hàm thành viên ở đầu ra của loại này phải đơn điệu không giảm.
Loại 2: giá trị ra được sinh ra bằng cách sử dụng toán tử max của những giá trị output mờ (mà mỗi giá trị này là min của trọng số vào và giá trị ra của hàm thành viên của mỗi luật). Có nhiều dạng khác được sử dụng để chọn giá trị ra rõ dựa trên giá trị ra toàn bộ ví dụ: trọng tâm của diện tích, giá trị trung bình của những giá trị cực đại, điều kiện cực đại,
Loại 3: sử dụng luật mờ if-then của Takagi và Sugeno. Giá trị ra của mỗi luật là tổ hợp tuyến tính của những biến đầu vào và một hằng số. Giá trị ra cuối cùng là trung bình các trọng số mỗi giá trị ra của mỗi luật
CHƯƠNG V
THỰC THI CHƯƠNG TRÌNH ỨNG DỤNG
5.1 ỨNG DỤNG PHẦN MỀM XỬ LÝ FILE BASIC 6.0
Đề tài chủ yếu sử dụng ngôn ngữ lập trình Visual Basic và được chạy trong môi trường Windows.
Ta có thể xem Visual Basic như là một công cụ phát triển phần mềm như các trình biên dịch C/C++.Nhưng lợi điểm khi dùng Visual Basic chính ở chỗ tiét kiệm thời gian và công sức so với các ngôn ngữ lập trình khác khi xây dựng một chương trình ứng dụng.
Visual Basic gắn liền với khái niệm lập trình trực quan,nghĩa là khi thiết kế chương trình ta nhìn thấy ngay kết quả qua từng thao tác và giao diện khi chương trình thực hiện .Đây là thuận lợi lớn so với các ngôn ngữ lập trình khác,Visual Basic cho phép bạn chỉnh sửa đơn giản,nhanh chóng màu sắc,kích thước,hình dángcủa các đối tượng có mặt trong ứng dụng.
Một khả năng của Visual Basic chính là khả năng kết hợp với các thư viện liên kết động.Ví dụ khi xây dựng một ứng dụng nào đó có một số yêu cầu mà Visual Basic chưa đáp ứng đủ,ta cần viết thêm các DLL phụ trợ.
5.2 THUỘC TÍNH,PHƯƠNG THỨC VA SỰ KIỆN
Đối tượng :
Visual Basic 6.0 hỗ trợ một cách lập trình hướng đối tượng mới ,lập trình đối tượng. Trong lập trình cổ điển ta có lập trình theo cấu trúc. Nếu như ứng dụng được thiết kế đ63 giải quyết vấn đề lớn,lập trình viên có thể chia thành nhiều vấn đề nhỏ đ63 giải quyết riêng từng cái.
Với lập trình hướng đối tượng ,lập trình iên sẽ chia nhỏ vấn đề cần giải quyết thành các đối tượng. Từng đối tượng có đời sóng riêng của nó. Nó có những đặc điểm ,mà người ta gọi là thuộc tính(properties) và những chức năng riêng biệ mà gọi là phương thức(method).Lập trình viên phải đưa ra các thuộc tính và phương thức mà đối tượng cần thể hiện.
Thuộc tính:
Nói một cách đơn giản ,thuộc tính(properties) mô tả đối tượng. Mỗi đối tượng đều có một bộ thuộc tính mô tả đối tượng.Biểu mẫu và điều khiển đều có thuộc tính.Thậm chí màn hình và máy in,là những đối tượng chỉ cho phép can thịêp lúc thi hành,cũng có các thuộc tính .
Mặc dù những đối tượng có những bộ thuộc tính khác nhau,nhưng trong đó vẫn có một số thuộc tính thông dụng cho hầu hết các điều khiển.Có thể xem toàn bộ thuộc tính của một thuộc tính bằng cách chọn vào điều khiển và mở cửa sổ properties trong Visual Basic.
Thuộc tính
Giải thích
Left
Vị trí cạnh trái của điều khiển so với vật chứa nó
Top
Vị trí cạnh trên của điều khiển so với vật chứa nó
Height
Chiều coa của điều khiển
Width
Chiều rộng của điều khiển
Name
Một giá trị chuỗi được dùng để nói đến điều khiển.
Enable
Giá trị logic quyết định người sử dụng có được làm việc với điều khiển hay không.
Visible
Giá trị logic quyết định người sử dụng có thấy điều khiển hay không
Phương thức ( Method):
Là những đoạn chương trình chứa trong điều khiển,cho điều khiển biết cách thức để thực hiện một công việc nào đó,chẳng hạn dời điều khiển đến một vị trí mới trên biểu mẫu.Tương tự thuộc tính,mỗi điều khiển có những phương thức khác nhau nhưng vẫn có một số phương thức rất thông dụng cho hầu hết các điều khiển.
Các phương thức thông dụng:
Phương thức
Giải thích
Move
Thay đổi vị trí đối tượng
Drag
Thi hành hoạt động kéo và thả của người sử dụng
SetFocus
Cung cấp tầm ngắm cho đối tượng được chỉ ra trong lệnh gọi phương thức
Zorder
Quy định thứ tự xuất hiện của các điều khiển trên màn hình
Sự kiện:
Nếu như thuộc tính mô tả đối tượng,phương thức chỉ ra cách thức đối tượng hành động thì sự kiện là những phần cứng của đối tượng .Ví dụ khi người sử dụng nhấn vào nút lệnh ,nhiều sự kiện xảy ra :Nút chuột được nhấn ,commandButton trong ứng dụng được nhấn ,sau đó nút chuột được thả. Ba hoạt động này tương đương với 3 sự kiện:Mouse,Click và MouseUp.Đồng thời 2 sự kiện GotFocus của commandButton cũng xảy ra.
Tương tự thuộc tính và phương thức,mỗi điều khiển có những bộ sự kiện khác nhau,nhưng một số sự kiện rất thông dụng với hầu hết các điều khiển.Các sự kiện này xảy ra thường là kết quả của một hành động nào đó,như là di chuyển chuột,nhấn nút phím ,hoặc gõ vào hộp văn bản.Kiểu sự kiện này được gọi là sự kiện khởi tạo bởi người sử dụng,và ta sẽ phải lập trình cho chúng.
Các sự kiện thông dụng
Sự kiện
Xảy ra khi
Change
Người sử dụng sửa đổi chuổi ký tự trong hộp kết hợp hoặc hộp văn bản
Click
Người sử dụng sử dụng nút chuột để nhấn lên đối tượng
DblClick
Người sử dụng sử dụng nút chuột để nhấp đúp lên đối tượng
DragDrop
Người sử dụng kéo rê một đối tượng qua nơi khác
DragOver
Người sử dụng kéo rê một đối tượng ngang qua một điều khiển khác
GotFocus
Đưa một đối tượng vào tầm ngắm của người sử dụng
KeyDown
Người sử dụng nhấn một nút trong tầm ngắm
KeyPress
Người sử dụng nhấn và thả một nút trên bàn phím
KeyUp
Người sử dụng thả một nút bên bàn phím
LostFocus
Đưa một đối tượng ra khỏi tầm ngắm
MouseDown
Người sử dụng nhấn một nút chuột bất kỳ trong khi con trỏ chuột đang nằm trên một đối tượng
MouseMove
Người sử dụng di chuyển con trỏ chuột ngang qua một dối tượng
MouseUp
Người sử dụng thả nút chuột trong khi con trỏ chuột đang nằm trên một đố tượng
5.3 THIẾT KẾ MÀN HÌNH NHẬP LIỆU VÀ GỞI FILE CHẨN ĐOÁN BỆNH NHÂN
Khi một bệnh nhân muốn biết kết quả về bệnh tim của mình trong khi có dữ liệu về các file bệnh lý thì có thể đăng nhập lên trang web này bằng cách nhập họ tên, địa chỉ và số điện thoại để làm thông tin nhận biết khi có kết quả gởi về và đồng thời phải gơi đầy đủ 12 file lên Trung Tâm Chẩn Đoán Từ Xa. Nơi này sẽ lưu giữ và xử lý gởi trả kết quả về cho bệnh nhân.
Để đăng ký hợp lệ bệnh nhân phải làm theo các bước sau:
1.Phải nhập đầy đủ họ tên, địa chỉ, số điện thoại để làm cơ sở nhận biết khi xem kết quả chẩn đoán của mình.
2. Nhấp vào nút Browse để chọn đường dẫn và gởi đầy đủ 12 file ứng với 12 chuyển đạo thông dụng.
3. Sau khi chọn file xong ta nhấp vào nút gởi file. Riêng nút xoá file có thể giúp ta xoá đi một file khi chọn nhằm.
Sau cùng ta nhấp vào nút đăng ký để biết rằng mình đã đăng ký hoàn tất. Lúc này trên server đã nhận được và tiến hành xử lý.
5.4 THIẾT KẾ MÀN HÌNH XỬ LÝ FILE TẠI TRUNG TÂM CHẨN ĐOÁN BỆNH
Màn Hình Thiết Kế Form Chủ
Để tiếp tục chạy chương trình ta nhấp vào dấu mũi tên.Khi đó màn hình giới thiệu về mục tiêu của việc xử lý file xuất hiện:
Tiếp theo ta nhấp vào dấu mũi tên để xem tiếp những mục tiêu còn lại của đề tài:
Khi ta hiểu được mục tiêu của đề tài và đồng ý chạy chương trình ta nhấp vào biểu tượng đồng ý. Khi đó màn hình lực chọn tín hiệu trên ECG hiển thị:
Ta phải thực thi từng bước theo trình tự của đề tài,nếu không chương trình báo lỗi vì không có tín hiệu để thực thi.
->Chọn số 1 để đọc tín hiệu vào từ File BenhNhan.Khi đó màn hình lựa chọn tín hiệu xuất hiện:
Tiếp theo ta nhấp vào nút OK,nếu không có tín hiệu hoặc chọn sai đường dẫn thì chương trình báo lỗi:
Khi chọn đúng đường dẫn và ta nhấp vào nút OK,thì màn hình hiển thị các làn sóng trên 12 chuyển đạo xuất hiện:
Bước tiếp theo ,sau khi đã có đầy đủ những tín hiệu sóng trên 12 chuyển đạo trên ECG ta tiến hành đo các thông số này để có được các giá trị cụ thể như mục tiêu đã nói:
Màn hình này cho biết các thông số đã được đo trên ECG.Sau khi đo ta cho hiển thị kết quả phân tích:
Đứng từ kết quả này và dựa vào những giá trị bình thường,tối thiểu,tối đa của từng sóng mà ta rút ra được những tổn thương ở tim :
Như vậy ứng với từng bệnh nhân ta có từng thông số cụ thể khác nhau,có người tim bình thường,có người bị tổn thương
Khi có được kết quả ta lưu kết quả này dưới dạng file để nhằm mục đích gửi trả về cho bệnh nhân.
Khi bệnh nhân muốn xem kết quả chỉ cần nhấp vào Kết Quả Chẩn Đoán thì màn hình xuất hiện danh sách các bệnh nhân :
Để xem kết quả ta nhấp nút kết quả, còn để lưu kết quả ta nhấp vào nút
Save Kết Quả.
PHẦN IV - KẾT LUẬN
1. Các kết quả thực hiện trong luận văn
Để thực hiện đề tài này, em đã tìm hiểu những vấn đề :
Jrun Web Server
Mô hình Client/Sever
Ứng dụng công nghệ Web bằng JSP
Hệ thống chẩn đoán Điện Tâm Đồ
2. Cách trình bày ứng dụng
Sau 3 tháng thực hiện đề tài ,em đã đạt được những kết quả:
Phân tích chi tiết về đề tài
Thiết kế hoàn chỉnh mô hình gửi dữ liệu lên trung tâm chẩn đoán bệnh từ xa.
Cài đặt chương trình gởi file bệnh nhân bằng công nghệ JSP.
Ứng dụng chạy tốt trên trình duyệt Internet Explorer.
3. Các vấn đề đã được thực hiện trong đề tài
Sau 3 tháng nổ lực, tìm kiếm thông tin, nghiêng cứu sách vở ,em đã thự hiện được một số vấn đề :
Cho phép bệnh nhân có thể gửi file lên trung tâm chẩn đoán bệnh từ xa.
Khi có thông tin về bệnh nhân Trung Tâm Chẩn Đón bệnh xử lý file và gửi trả kết quả về cho bệnh nhân.
Cho phép bệnh nhân truy cập lên trang web để xem kết quả chẩn đoán bệnh.
4. Một số vấn đề còn hạn chế
Mặc dù đã cố gắng rất nhiều nhưng do thời gian có hạn, kiến thức của em còn hạn chế và các điều kiện khách quan khác nên đề tài vẫn chưa đáp ứng đươc toàn bộ các chức năng mà yêu cầu thực tế đưa ra. Vì thế đề tài em thực hiện còn một số hạn chế :
-Do đo Điện Tâm Đồ trên 12 chuyển đạo thông dụng, mà mõi chuyển đạo là một file riêng biệt nên việc gửi file bệnh nhân phải gửi 12 lần,hơi chiếm thời gian trong khi thực thi chương trình.
-Chương trình chưa được tự động hoá trong vấn đề xử lý file và gửi trả về kết quả cho bệnh nhân .
5.Hướng phát triển và mở rộng của đề tài
- Cải tiến một số chức năng chưa hoàn chỉnh trong đề tài.
- Kết nối xử lý chương trình gửi trả về kết quả tự động hoá.
6.Kết luận
Tóm lại với tốc độ phát triển ngày càng tăng của mạng máy tính, thì việc thiết kế và cài đặt các ứng dụng cho người dùng là rất cần thiết. Vì vậy ý tưởng chẩn đoán bệnh từ xa cũng đã góp phần nào cho bệnh nhân thuận tiện trong việc xem xét sức khoẻ của mình.
Chính từ lẽ đó đề tài Tìm Hiểu Hệ Thống Chẩn Đoán Bệnh Từ Xa cũng góp phần nói lên được điều này.
Với kiến thức nền tảng đã học ở trường và bằng sự nổ lực của mình ,em cũng đã cố gắng đầu tư rất nhiều nhưng do thời gian có hạn và thết bị không có đầy đủ nên đề tài còn rất nhiều hạn chế và chương trình có thể chưa được tối ưu ,thêm vào đó với kinh nghiệm lập trình còn hạn chế có nhiều điểm chưa phù hợp về màu sắc, hình ảnh
Cuối cùng được sự em xin được sự đóng góp quí báo của quý thầy cô và các bạn để chương trình ngày càng hoàn thiện hơn.
TÀI LIỆU THAM KHẢO
+ Java Lập trình mạng của Hoàng Đức Hải và Nguyễn Phương Lan
+ Xây dựng ứng dụng Web với JSP, Servlet, JavaBean;Hoàng Đức Hải và Phạm Hữu Khang
+ GS. Trần Đỗ Trinh, BS. Trần văn Đồng,”Hứớng dẫn ĐỌC ĐIỆN TIM” , Nhà xuất bản Y Học, 1983
Các file đính kèm theo tài liệu này:
- BAOCAO.doc
- Song.rar