B GIÁO D C & ĐÀO T O
TR NG Đ I H C S PH M K THU T TP. H CHÍ MINH
KHOA ĐI N – ĐI N T
B MÔN ĐI N T CÔNG NGHI P – Y SINH
---------------------------------
Đ ÁN T T NGHI P
NGÀNH CÔNG NGH K THU T ĐI N T TRUY N THÔNG
Đ TÀI:
THI T K , MÔ PH NG B L C
NHI U TÍN HI U ĐI N TIM DÙNG
MATLAB VÀ CHUY N MÃ VHDL
GVHD: ThS. Nguy n Thanh Nghƿa
SVTH: Tr n Phan Ái M
MSSV: 14141200
Tp. H Chí Minh – 01/2019
TR NG ĐH SPKT TP. H CHÍ MINH C NG HÒA XÃ H I CH N
126 trang |
Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 457 | Lượt tải: 0
Tóm tắt tài liệu Đồ án Thiết kế, mô phỏng bộ lọc nhiễu tín hiệu điện tim dùng matlab và chuyển mã VHDL, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
NGHƾA VI T NAM
KHOA ĐI N-ĐI N T Đ C L P - T DO - H NH PHÚC
B MÔN ĐI N T CÔNG NGHI P – Y SINH ----o0o----
Tp. HCM, ngày 03 tháng 10 năm 2018
NHI M V Đ ÁN T T NGHI P
H tên sinh viên: Tr n Thanh Lâm MSSV: 14141160
Tr n Phan Ái Mỹ MSSV: 14141200
Chuyên ngành: Đi n t công nghi p Mã ngành: 14941
H đào t o: Đ i h c chính quy Mã h : K14941
Khóa: 2014 L p: 14941DT
I. TÊN Đ TÀI: THI T K , MÔ PH NG B L C NHI U TÍN HI U
ĐI N TIM DÙNG MATLAB VÀ CHUY N MÃ VHDL
II. NHI M V
1. Các s li u ban đ u:
- Tín hi u đi n tim ECG đ c thu th p trên Matlab
- S dụng bộ x lý chính là kit FPGA Altera – DE2-115.
2. Nội dung th c hi n:
- Tìm hiểu về các bộ l c thông th p, l c thông cao, l c thông d i.
- L a ch n ph n cứng, nghiên cứu, phân tích nguyên tắc ho t động của từng kh i
để xây d ng mô hình hoàn chỉnh cho h th ng.
- Thi t k và mô ph ng bộ l c tín hi u đi n tim trên Matlab và chuyển mã VHDL.
III. NGÀY GIAO NHI M V : 03/10/2018
IV. NGÀY HOÀN THÀNH NHI M V : 10/01/2019
V. H VÀ TÊN CÁN B H NG D N: ThS. Nguy n Thanh Nghĩa
CÁN B H NG D N BM. ĐI N T CÔNG NGHI P – Y SINH
Trang i
TR NG ĐH SPKT TP. H CHÍ MINH C NG HÒA XÃ H I CH NGHƾA VI T NAM
KHOA ĐI N - ĐI N T Đ C L P - T DO - H NH PHÚC
B MÔN ĐI N T CÔNG NGHI P – Y SINH ----o0o----
Tp. HCM, ngày 05 tháng 10 năm 2018
L CH TRÌNH TH C HI N Đ ÁN T T NGHI P
H tên sinh viên 1: Tr n Thanh Lâm
L p: 14941DT MSSV: 14141160
H tên sinh viên 2: Tr n Phan Ái Mỹ
L p: 14941DT MSSV: 14141200
Tên đề tài: THI T K , MÔ PH NG B L C NHI U TÍN HI U
ĐI N TIM DÙNG MATLAB VÀ CHUY N MÃ VHDL
Tuần/ngày Nội dung Xác nhận GVHD
T m t i, xây d
Tu n 1 ì ý t ởng cho đề à ng đề
c ng, sắp x p lịch trình th c hi n đồ
03/10/2018 08/10/2018
– án.
Tu n 2, 3, 4 Phân tích yêu c u h th ng, tìm hiểu
09/10/2018– 29/10/2018 c sở lý thuy t về tín hi u đi n tim, lý
thuy t về các bộ l c
Tu n 5, 6, 7
T m hi u l thuy t v kit FPGA
ì ể ý ề
30/10/2018 – 19/11/2018 De2_115
Tu n 8 hân t kh i
Xây d ng và p ích s đồ của
20/11/2018– 26/11/2018 h th ng.
Tu n 9, 10
Ti n hành l p trình, thi t k các bộ l c
27/11/2018 – 10/12/2018 trên FDATool của Matlab
Tu n 11, 12
Ti n hành mô ph ng, ch y th ho t
11/12/2018 24/12/2018
– động của bộ l c và chỉnh s a các l i.
Tu n 14, 15
25/12/2018 – 10/01/2018 Vi t và hoàn thi n báo cáo
GV H NG D N
(Ký và ghi rõ h và tên)
Trang ii
L I CAM ĐOAN
Đề tài này do nhóm chúng em th c hi n d a vào một s tài li u và công trình
nghiên cứu tr c đó và không sao chép từ tài li u hay công trình đã có tr c đó.
Ng i th c hi n đề tài
Tr n Thanh Lâm Tr n Phan Ái M
Trang iii
L I C M N
L i đ u tiên, nhóm em xin g i l i c m n chân thành và sâu sắc nh t đ n Th y
Nguy n Thanh Nghĩa. Th y đã t n tình h ng d n, góp ý định h ng, t o m i điều ki n
cho nhóm em trong su t quá trình th c hi n đề tài t t nghi p.
Nhóm em xin chân thành c m n đ n t t c các th y cô Khoa Đi n – Đi n t ,
Tr ng Đ i H c S Ph m Kỹ Thu t Tp HCM, nh ng ki n thức và kinh nghi m quý báu
mà chúng em nh n đ c từ th y cô trong su t quá trình theo h c s là hành trang t t
nh t giúp chúng em v ng b c trong s nghi p của mình.
Nhóm em xin chân thành c m n Ban Giám Hi u Tr ng Đ i H c S Ph m Kỹ
Thu t Tp HCM đã t o điều ki n cho chúng em làm đồ án này.
Cu i cùng, chúng em xin g i nh ng l i tri ân đ n gia đình, b n bè, nh ng ng i
thân yêu nh t luôn quan tâm và t o điều ki n t t nh t cho chúng em trong su t quá trình
h c t p.
Trang iv
M C L C
NHI M V Đ ÁN T T NGHI P ........................................................................... i
LỊCH TRÌNH TH C HI N Đ ÁN T T NGHI P ................................................. ii
L I CAM ĐOAN ...................................................................................................... iii
L I C M N ............................................................................................................ iv
M C L C .................................................................................................................. v
LI T KÊ HÌNH ......................................................................................................... ix
LI T KÊ B NG ........................................................................................................ xi
DANH M C CÁC TỪ VI T T T .......................................................................... xii
CH NG 1: T NG QUAN ...................................................................................... 1
1.1 Đ T V N Đ .................................................................................................. 1
1.2 M C TIÊU ....................................................................................................... 2
1.3 N I DUNG NGHIÊN CỨU ............................................................................. 2
1.4 GI I H N ........................................................................................................ 2
1.5 B C C ............................................................................................................ 2
CH NG 2: C S LÝ THUY T ........................................................................... 4
2.1 T NG QUAN V TÍN HI U ĐI N TIM ECG .............................................. 4
2.1.1 Khái ni m về tín hi u đi n tim ECG .......................................................... 4
2.1.2 C u trúc gi i ph u và chức năng của tim ................................................... 4
2.1.3 Nhịp tim ..................................................................................................... 6
2.1.4 Các quá trình đi n h c của tim................................................................... 6
2.1.5 Quá trình hình thành tín hi u đi n tim ....................................................... 6
2.1.5.1 Nhĩ đồ ................................................................................................. 6
2.1.5.2 Th t đồ ................................................................................................ 7
2.1.6 S hình thành các d ng sóng của tim ......................................................... 9
2.1.6.1 Tính d n truyền ................................................................................... 9
2.1.6.2 Tính tr và các th i kì tr ................................................................... 9
2.1.6.3 Đi n tr ng của tim .......................................................................... 10
2.1.7 Các thành ph n của tín hi u đi n tim ECG .............................................. 10
2.1.8 Các d i t n trong tín hi u đi n tim ECG .................................................. 13
Trang v
2.1.9 Các ph ng pháp đo tín hi u ECG .......................................................... 14
2.1.9.1 Ph ng pháp Oscillometric .............................................................. 14
2.1.9.2 Ph ng pháp đi n tim đồ .................................................................. 14
2.1.9.3 Ph ng pháp h p thụ quang h c ...................................................... 15
2.1.10 Các lo i nhi u tác động đ n tín hi u đi n tim ........................................ 15
2.2 LÝ THUY T V TÍN HI U S VÀ B L C S ....................................... 17
2.2.1 T ng quan về tín hi u s .......................................................................... 17
2.2.2 H x lý s ............................................................................................... 19
2.2.2.1 Mô t h x lý s .............................................................................. 19
2.2.2.2 H x lý s đ quy và không đ quy ................................................ 22
2.2.3 T ng quan về bộ l c s ............................................................................ 22
2.3.3.1 Bộ l c thông th p LPF ...................................................................... 23
2.3.3.2 Bộ l c thông cao HPF....................................................................... 25
2.3.3.3 Bộ l c thông d i BPF ....................................................................... 25
2.3 T NG QUAN V CÔNG C MATLAB ...................................................... 25
2.3.1 Gi i thi u chung ....................................................................................... 25
2.3.2 L p trình trong matlab .............................................................................. 26
2.3.2.1 M-File ............................................................................................... 26
2.3.2.2 Một s câu l nh c b n ..................................................................... 30
2.3.3 Trình mô ph ng Simulink ........................................................................ 34
2.3.4 Công cụ thi t k bộ l c s FDATool của Matlab .................................... 38
2.3.4.1 Gi i thi u ph ng pháp thi t k theo mô hình ................................. 38
2.3.4.2 T ng quan về hộp công cụ thi t k bộ l c s (FDATool) ................ 39
2.3.4.3 Thi t k bộ l c s dụng giao di n FDATool .................................... 41
2.4 T NG QUAN V FPGA (ALTERA) VÀ PH N M M QUARTUS II ....... 45
2.4.1 Lịch s ra đ i và phát triển của FPGA .................................................... 45
2.4.2 Khái ni m FPGA ...................................................................................... 46
2.4.3 Ứng dụng FPGA ...................................................................................... 48
2.4.4 Ý nghĩa FPGA .......................................................................................... 48
2.4.5 Ph n mềm h tr thi t k Quatus II ......................................................... 49
2.5 T NG QUAN V KIT DE2 -115 ALTERA ................................................. 51
Trang vi
2.5.1 Gi i thi u.................................................................................................. 51
2.5.2 Kit DE2 Cyclone IV EP4CE115F29C7N ................................................ 52
2.5.3 C p nguồn cho kit DE2 ............................................................................ 55
2.6 GI I THI U NGÔN NG VHDL ................................................................ 55
2.6.1 Gi i thi u.................................................................................................. 55
2.6.2 C u trúc một mô hình h th ng mô t bằng VHDL ................................. 57
2.6.3 Cú pháp và ng nghĩa .............................................................................. 59
2.6.3.1 Đ i t ng trong VHDL .................................................................... 59
2.6.3.2 Kiểu d li u trong VHDL ................................................................. 61
CH NG 3: THI T K VÀ THI CÔNG ............................................................... 62
3.1 GI I THI U ................................................................................................... 62
3.2 TÍNH TOÁN VÀ THI T K H TH NG .................................................... 62
3.2.1 Thi t k s đồ kh i h th ng .................................................................... 62
3.2.2 Tính toán và thi t k bộ l c d ng FIR ...................................................... 62
3.2.2.1 K t c u cho các kiểu l c t n s d ng FIR: ....................................... 62
3.2.2.2 C u hình t ng quát của bộ l c FIR ................................................... 68
3.2.3 Thi t k bộ l c s d ng FIR theo ph ng pháp MBD ............................. 69
3.2.3.1 Xây d ng s đồ kh i ........................................................................ 69
3.2.3.2 Thi t k , mô ph ng và chuyển mã VHDL ....................................... 70
3.3 THI CÔNG H TH NG ................................................................................ 80
3.3.1 Biên dịch ch ng trình trên Quartus II .................................................... 80
3.3.2 S đồ kh i trên Quartus ........................................................................... 83
3.3.3 Mô ph ng bộ l c dùng ModelSim ........................................................... 84
3.3.3.1 T ng quát về ph n mềm mô ph ng ModelSim ................................ 84
3.3.3.2 Mô ph ng m ch l c trên ModelSim ................................................. 85
3.3.4 Th nghi m và kiểm tra ........................................................................... 86
CH NG 4: K T QU - NH N XÉT - ĐÁNH GIÁ ........................................... 87
4.1 K T QU ....................................................................................................... 87
4.1.1 K t qu mô ph ng bộ l c trên Matlab ..................................................... 87
4.1.2 K t qu d ng sóng mô ph ng trên ModelSim ......................................... 99
4.2 NH N XÉT – ĐÁNH GIÁ ............................................................................ 99
Trang vii
CH NG 5: K T LU N VÀ H NG PHÁT TRIỂN ....................................... 101
5.1 K T LU N ................................................................................................... 101
5.2 H NG PHÁT TRIỂN ................................................................................ 101
TÀI LI U THAM KH O ...................................................................................... 102
PH L C ............................................................................................................... 103
Trang viii
LI T KÊ HÌNH
Hình 2.1 C u t o tim ng i ............................................................................................. 4
Hình 2.2 H th ng d n truyền tim ................................................................................... 5
Hình 2.3 Kh c c tâm nhĩ và s hình thành sóng P ........................................................ 7
Hình 2.4 Kh c c vách liên th t và s hình thành sóng Q .............................................. 7
Hình 2.5 D ng sóng tín hi u đi n tim............................................................................ 10
Hình 2.6 Máy đó huy t áp kỹ thu t s s dụng Oscillometric ...................................... 14
Hình 2.7 Thu th p tín hi u ECG từ các đi n c c .......................................................... 14
Hình 2.8 D ng sóng của b nh thi u máu cục bộ c tim................................................ 17
Hình 2.9 S đồ kh i của h x lý s ............................................................................. 20
Hình 2.10 S đồ kh i của h x lý s phức t p............................................................. 20
Hình 2.11 Ký hi u ph n t cộng ................................................................................... 21
Hình 2.12 Ký hi u ph n t nhân ................................................................................... 21
Hình 2.13 Ký hi u ph n t nhân v i hằng s ................................................................ 21
Hình 2.14 Ký hi u ph n t tr đ n vị ............................................................................ 22
Hình 2.15 S đồ kh i bộ l c thông th p d ng chính tắc ............................................... 24
Hình 2.16 S đồ kh i bộ l c thông th p d ng chuyển vị .............................................. 24
Hình 2.17 Giao di n trình mô ph ng Simulink ............................................................. 35
Hình 2.18 Kh i Sine Wave và thông s cài đ t ............................................................. 36
Hình 2.19 Kh i Scope và màn hình hiển thị ................................................................. 36
Hình 2.20 Kh i Random Source và thông s cài đ t .................................................... 37
Hình 2.21 Kh i Sum và thông s cài đ t ....................................................................... 37
Hình 2.22 Kh i Gain và thông s cài đ t ...................................................................... 38
Hình 2.23 Giao di n thi t k của FDATool .................................................................. 41
Hình 2.24 Thông s kỹ thu t bộ l c thông th p ............................................................ 43
Hình 2.25 Đáp tuy n biên độ_ t n s pha của bộ l c thông th p .................................. 44
Hình 2.26 Chuyển thi t k trên FDATool sang mã VHDL ........................................... 45
Hình 2.27 Ki n trúc t ng quan của FPGA .................................................................... 46
Hình 2.28 C u trúc SRAM FPGA (SRAM Logic Cell) ................................................ 47
Hình 2.29 C u trúc của OTP FPGA (OTP Logic Cell) ................................................. 47
Hình 2.30 Giao di n ph n mềm Quatus II ..................................................................... 50
Hình 2.31 Kit DE2-115 Altera ...................................................................................... 52
Hình 2.32 Adapter 9V- 1.3A ......................................................................................... 55
Hình 3.1 S đồ kh i của h th ng ................................................................................. 62
Hình 3.2 Đ c tính biên độ t n s của bộ l c thông th p lý t ởng ................................. 63
Hình 3.3 Đ c tính biên độ t n s của bộ l c thông cao lý t ởng .................................. 65
Hình 3.4 Đ c tính biên độ t n s của bộ l c thông d i lý t ởng ................................... 67
Hình 3.5 C u hình t ng quát của bộ l c FIR đáp ứng xung h u h n............................ 68
Trang ix
Hình 3.6 S đồ kh i chức năng của h th ng ................................................................ 69
Hình 3.7 Thông s của bộ l c thông th p d ng FIR ...................................................... 70
Hình 3.8 Thông s của bộ l c thông cao d ng FIR ....................................................... 71
Hình 3.9 Thông s của bộ l c thông d i d ng FIR ........................................................ 71
Hình 3.10 Ch n ch độ l c thông th p cho kh i mô ph ng .......................................... 72
Hình 3.11 Kh i l c thông th p trong Simulink ............................................................. 72
Hình 3.12 Thi t l p mô ph ng l c nhi u thông th p ECG ............................................ 73
Hình 3.13 Ch n ch độ thông cao cho kh i mô ph ng ................................................. 74
Hình 3.14 Kh i l c thông cao trong Simulink .............................................................. 74
Hình 3.15 Thi t l p mô ph ng l c nhi u thông cao ECG ............................................. 75
Hình 3.16 Ch n ch độ thông d i cho kh i mô ph ng .................................................. 76
Hình 3.17 Kh i l c thông cao trong Simulink .............................................................. 76
Hình 3.18 Thi t l p mô ph ng l c nhi u thông d i ECG .............................................. 77
Hình 3.19 Thi t l p mô ph ng l c nhi u ng u nhiên thông th p ECG ......................... 78
Hình 3.20 Chuyển mã VHDL theo s đồ kh i .............................................................. 79
Hình 3.21 Cài đ t chuyển mã VHDL từ FDATool ....................................................... 80
Hình 3.22 Thao tác add file trong quartus ..................................................................... 81
Hình 3.23 Ch y kiểm tra l i Analysis & Synthesis ....................................................... 82
Hình 3.24 Biên dịch l i ch ng trình ............................................................................ 83
Hình 3.25 Giao di n v s đồ kh i ................................................................................ 83
Hình 3.26 V s đồ kh i trong Block Diagram ............................................................. 84
Hình 3.27 Giao di n ph n mềm ModelSim version 6.5 ................................................ 85
Hình 3.28 Hộp tho i đ t tên project ModelSim ............................................................ 85
Hình 3.29 Hộp tho i add file cho project trong ModelSim ........................................... 85
Hình 3.30 Biên dịch file mô ph ng thành công ............................................................ 86
Hình 3.31 Quá trình t i c u hình xu ng FPGA ............................................................. 86
Hình 4.1 Các d ng sóng của h th ng bộ l c thông th p tr ng h p 1 ........................ 87
Hình 4.2 Các d ng sóng của h th ng bộ l c thông th p tr ng h p 2 ........................ 88
Hình 4.3 Các d ng sóng của h th ng bộ l c thông th p tr ng h p 3 ........................ 89
Hình 4.4 Các d ng sóng của h th ng bộ l c thông th p tr ng h p 4 ........................ 89
Hình 4.5 Các d ng sóng của h th ng bộ l c thông cao tr ng h p 1.......................... 90
Hình 4.6 Các d ng sóng của h th ng bộ l c thông cao tr ng h p 3.......................... 91
Hình 4.7 Các d ng sóng của h th ng bộ l c thông cao tr ng h p 2.......................... 91
Hình 4.8 Các d ng sóng của h th ng bộ l c thông cao tr ng h p 4.......................... 92
Hình 4.9 Các d ng sóng của h th ng dùng bộ l c thông d i ....................................... 93
Hình 4.10 D ng sóng của h l c nhi u ng u nhiên dùng l c thông th p l n 1 ............. 94
Hình 4.11 Thi t l p mô ph ng l c nhi u ng u nhiên thông th p ECG có khu ch đ i .. 94
Hình 4.12 D ng sóng của h l c nhi u ng u nhiên dùng l c thông th p l n 2 ............. 95
Hình 4.13 D ng sóng của h l c nhi u ng u nhiên dùng l c thông th p l n 3 ............. 95
Trang x
Hình 4.14 Thi t l p mô ph ng l c nhi u ng u nhiên thông cao ECG có khu ch đ i ... 96
Hình 4.15 D ng sóng của h l c nhi u ng u nhiên dùng l c thông th p l n 1 ............. 96
Hình 4.16 D ng sóng của h l c nhi u ng u nhiên dùng l c thông th p l n 2 ............. 97
Hình 4.17 Thi t l p mô ph ng l c nhi u ng u nhiên thông d i ECG có khu ch đ i .... 97
Hình 4.18 D ng sóng của h l c nhi u ng u nhiên dùng l c thông d i l n 1 ............... 98
Hình 4.19 D ng sóng của h l c nhi u ng u nhiên dùng l c thông d i l n 2 ............... 98
Hình 4.20 D ng sóng mô ph ng trên ModelSim ........................................................... 99
LI T KÊ B NG
Bảng 2.1 Cấu trúc của bộ lọc có đáp tuyến xung hữu hạn ........................................... 40
Trang xi
DANH M C CÁC T VI T T T
FPGA : Field – Program Gate Array
LPF : Low Pass Filter
HPF : High Pass Filter
BPF : Band Pass Filter
PLD : Programmable Logic Device
ASIC : Application-specific Integrated Circuit
GPIO : General Purpose Input Output
SPI : Serial Peripheral Interface
PWM : Pulse-width modulation
IFT : Interfacial Tension
DSP : Digital signal processing
Trang xii
CH NG 1. T NG QUAN
CH NG 1: T NG QUAN
1.1 ĐẶT V N Đ
X lý tín hi u s (Digital Dignal Processing – DSP), hay t ng quát h n là x lý tín
hi u r i r c theo th i gian (Discrete-Time Signal Processing), là vi c x lý một tín hi u
vào b t kỳ để thu đ c tín hi u ra mong mu n, nhằm đ t mục đích nh t định. X lý tín
hi u ngày càng đóng vai trò quan tr ng trong nhiều ngành khoa h c và kỹ thu t, là động
l c thúc đ y s ti n bộ của nhiều ngành kỹ thu t cao nh : vi n thông, đa ph ng ti n,
cũng nh góp ph n quan tr ng trong các lĩnh v c khác nh quân s , y h c, Cùng v i
s bùng n của ngành công nghi p đi n t hi n nay, công ngh x lý tín hi u s DSP
cũng bùng n nhanh chóng và r t phát triển. Có thể nói, x lý tín hi u s là nền t ng cho
m i lĩnh v c và ch a có s biểu hi n bão hòa trong s phát triển của nó, v y nên, ngày
nay, có nhiều ph n mềm (Matlab, Scilab, ) cũng nh ph n cứng (PC, Vi điều khiển,
Arduino, FPGA, ) đ c dùng để x lý tín hi u s [1].
Công ngh FPGA (Field – Program Gate Array) là vi m ch dùng c u trúc m ng
ph n t logic mà ng i dùng có thể l p trình đ c. FPGA chứa các logic cells th c hi n
các m ch logic đ c k t n i v i nhau bởi ma tr n k t n i và chuyển m ch l p trình đ c.
Thi t k hay l p trình cho FPGA đ c th c hi n chủ y u bằng các ngôn ng mô t ph n
cứng HDL, VHDL, VERILOG, FPGA đ c xem nh một lo i vi m ch bán d n có
nhiều u điểm h n hẳn các lo i bán d n xu t hi n tr c đó nh có tính linh động đ i
v i ng i dùng, giúp phát triển các gi i pháp t t h n mà không phụ thuộc vào ph n cứng
của nhà s n xu t,ngoài ra, FPGA còn có thể tái c u trúc l i khi đang s dụng: ngoài kh
năng tái c u trúc vi m ch toàn cục, một s FPGA hi n đ i còn h tr tái c u trúc cục bộ,
tức kh năng tái c u trúc một bộ ph n riêng lẻ trong khi v n đ m b o ho t động bình
th ng cho các bộ ph n khác, công đo n thi t k đ n gi n, do v y chi phí gi m, rút ngắn
th i gian [1-2].
Tr c đó, đã có một s đề tài nghiên cứu về X lý tín hi u s dùng FPGA nh :
“Thi t k bộ l c tín hi u s trên công ngh FPGA v i công cụ Matlab và EDA của
XILINX” [3], “Thi t k trên FPGA để lo i ồn cho tín hi u ECG nh bi n đ i sóng con”
[4], “Thi t k bộ l c s trên dsPIC ứng dụng trong vi c x lý đi n tâm đồ” [5]. Cụ thể,
đề tài [3] dùng Matlab để thi t k bộ l c tín hi u s d ng FIR, dùng kit FPGA của hãng
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 1
CH NG 1. T NG QUAN
Xilinx và ngôn ng VHDL để x lý tín hi u s . Công trình [4] dùng phép bi n đ i
wavelet r i r c (Discrete Wavelet Transform – DWT) để x lý tín hi u ECG, theo th i
gian th c, trên nền FPGA hãng Xilinx. Bên c nh đó, vi c s dụng Vix lý
dsPIC30F3012 để thi t k bộ l c thông th p và l c thông ch n nhằm l c nhi u cho tín
hi u ECG cũng đã đ c nghiên cứu trong đề tài [5].
Từ nh ng c sở lý thuy t đã tìm hiểu và nh ng công trình nghiên cứu tr c đó, thêm
vào đó là nhu c u về l c nhi u tín hi u ECG, nhóm quy t định ch n đề tài: “THI T K ,
MÔ PH NG B L C NHI U TÍN HI U ĐI N TIM DÙNG MATLAB VÀ CHUYỂN
MÃ VHDL”.
1.2 M C TIÊU
Xây d ng một bộ l c s trên nền t ng FPGA để l c nhi u tín hi u đi n tim ECG
nhằm đem l i tín hi u xác th c nhằm h tr t t h n cho vi c khám ch a b nh. Trong
đó, FPGA đ c xem nh là ph n cứng v i chức năng th c thi bộ l c nhi u cho tín hi u
đi n tim, còn Matlab đ c s dụng nh một công cụ để thi t k và mô ph ng bộ l c
nhằm đánh giá kh năng th c hi n trong th c t .
1.3 N I DUNG NGHIÊN C U
• N I DUNG 1: Nghiên cứu t ng quan về FPGA, ngôn ng VHDL, tín hi u ECG,
các bộ l c thông cao, thông th p, thông d i.
• N I DUNG 2: Nghiên cứu về kit FPGA Altera – DE2-115.
• N I DUNG 3: Thi t k bộ l c và mô ph ng trên Matlab.
• N I DUNG 4: Mô ph ng và th c thi bộ l c trên kit FPGA Altera – DE2-115.
• N I DUNG 5: Ch y th nghi m h th ng.
• N I DUNG 6: Chỉnh s a các l i l p trình và l i của các thi t bị.
• N I DUNG 7: Vi t lu n văn.
• N I DUNG 8: Báo cáo đề tài t t nghi p.
1.4 GI I H N
• Thi t k bộ l c thông th p, thông cao và thông d i cho tín hi u ECG.
• Kho ng t n s bộ l c dao động từ 50–120Hz.
• Nền t ng ph n cứng th c thi bộ l c dùng kit FPGA Altera – DE2-115.
1.5 B C C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 2
CH NG 1. T NG QUAN
• Ch ng 1: T ng Quan
Ch ng này trình bày đ t v n đề d n nh p lý do ch n đề tài, mục tiêu, nội dung
nghiên cứu, các gi i h n thông s và b cục đồ án.
• Ch ng 2: C Sở Lý Thuy t
Ch ng này gi i thi u các lý thuy t liên quan, các linh ki n, thi t bị, ph n cứng
s dụng thi t k .
• Ch ng 3: Thi t k và thi công h th ng
Ch ng này tính toán thi t k h th ng, thi t k s đồ kh i, chức năng từng kh i
và th c thi ch ng trình trên FPGA.
• Ch ng 4: K t Qu , Nh n Xét, Đánh Giá
Ch ng này nêu k t qu đã đ t đ c, nh n xét đánh giá h th ng.
• Ch ng 5: K t Lu n và H ng Phát Triển
Ch ng này trình bày nh ng gì đã đ t đ c và ch a đ t đ c so v i mục tiêu
ban đ u, nêu h ng phát triển.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 3
CH NG 2. C S LÝ THUY T
CH NG 2: C S LÝ THUY T
2.1 T NG QUAN V TÍN HI U ĐI N TIM ECG
2.1.1 Khái ni m v tín hi u đi n tim ECG
Một trong các tín hi u đi n sinh h c quan tr ng và kinh điển nh t ứng dụng trong
vi c ch n đoán và điều trị b nh là tín hi u đi n tim đồ (hay còn g i là đi n tâm đồ, ti ng
Anh: Electrocardiogram hay th ng g i tắt là ECG hay EKG).
ECG là tín hi u đi n thu đ c từ các đi n c c gắn lên c thể ng i để đo các ho t
động của tim ng i. Khi tim đ p tác dụng lên các đi n c c t o ra các xung đi n. Thông
th ng các xung đi n này r t nh do đó c n ph i khu ch đ i lên rồi m i đ c x lí. Tín
hi u đi n tim đ c đ c tr ng bởi các d ng sóng đ c ký hi u P, Q, R, S, T và U [2, 3].
Do trái tim trong h tu n hoàn là bộ ph n có c u t o hoàn toàn bằng c . M i khi
co l i trong quá trình b m máu, nó s t o ra một đi n tr ng sinh h c và truyền qua kh i
d n liên h p từ ng c, bụng t i bề m t da. Vì th , chúng ta có thể đo đ c s chênh l ch
đi n th sinh h c này từ b t kỳ 2 điểm nào trên bề m t da. Tín hi u thu đ c t i m i c p
2 điểm này đ c g i là một đ o trình của tín h...thể đ c mô t bằng s đồ kh i chi ti t h n ho c s
đồ c u trúc.
Về ph ng di n ph n cứng thì s đồ kh i cho bi t c u trúc t ng thể của h x lý
s , còn s đồ c u trúc cho phép thi t k và th c hi n một h x lý s cụ thể. Về ph ng
di n ph n mềm thì s đồ kh i chính là thu t toán t ng quát của một ch ng trình x lý
s li u mà m i kh i có thể xem nh một ch ng trình con, còn s đồ c u trúc là thu t
toán chi ti t mà từ đó có thể vi t đ c các dòng l nh của một ch ng trình ho c ch ng
trình con. Các ph n t c u trúc đ c xây d ng trên c sở các phép toán đ i v i các dãy
s là cộng, nhân, nhân v i hằng s , dịch tr .
Phần tử cộng: Ph n t cộng dùng để cộng hai hay nhiều tín hi u s , nó là ph n t
không nh và đ c ký hi u nh hình d i.
Hai hình d i trình bày m ch ph n cứng có bộ cộng hai tín hi u s . Chúng là vi
m ch cộng hai dãy s mã nhị phân 4 bit ho c 8 bit.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 20
CH NG 2. C S LÝ THUY T
x1(n)
x1(n) + y(n) x2(n) + y(n)
xi(n)
x2(n)
xM(n)
a. y(n) = x1(n) + x2(n)
b. =
Hình 2.11 Ký hiệu phần tử cộng =
Phần tử nhân: Ph n t nhân dùng để nhân hai hay nhiều tín hi u s , nó là ph n t
không nh và đ c ký hi u nh hình:
x1(n)
x1(n) X y(n) x2(n) X y(n)
xi(n)
x2(n)
xM(n)
a. y(n) = x1(n). x2(n)
b. = ෑ
=
Hình 2.12 Ký hiệu phần tử nhân
M ch ph n cứng có bộ nhân hai tín hi u s nh hìnhở 2.16 là vi m ch nhân hai s
mã nhị phân 4 bit ho c 8 bit.
Phần tử nhân với hằng số:Ph n t nhân v i hằng s dùng để nhân một tín hi u s
v i một hằng s , nó là ph n t không nh và đ c ký hi u nh hình:
x(n) y(n) = a.x(n)
a
Hình 2.13 Ký hiệu phần tử nhân với hằng số
Để nhân tín hi u s x(n) v i hằng s a, s dụng bộ nhân hai s v i một đ u vào và
tín hi u s x(n), còn đ u vào kia là giá trị mã của a.
Phần tử trễ đơn vị:Ph n t tr đ n vị dùng để gi tr tín hi u s x(n) một m u, nó
là ph n t có nh và đ c ký hi u nh ở hình:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 21
CH NG 2. C S LÝ THUY T
Đ i v i m ch ph n cứng, để th c hi n gi tr tín hi u s x(n), ng i ta s dụng bộ
ghi dịch, thanh ghi ch t ho c bộ nh , chúng th ng đ c s n xu t d i d ng vi m ch
s 4 bit ho c 8 bit.
x(n) D y(n) = x(n –1)
Hình 2.14 Ký hiệu phần tử trễ đơn vị
2.2.2.2 H x lý s đ quy và không đ quy
H x lý s không đ quy: là h có ph n ứng y(n) chỉ phụ thuộc vào tác động
x(n). H ∗ x lý s nhân qu không đ quy có quan h vào ra (y(n) = F[ b0 x(n), ..., bk x(n
- k) , ... , ar y(n - r), ... v i k 1, r 1) không có các thành ph n của ph n ứng ở quá
khứ ar y(n - r):
y(n) = F[b0 x(n), b1x(n - 1), ..., bk x(n - k) , ...] (2.3)
Quan h vào ra nh hàm trên đ c g i là quan h vào ra không đ quy.
⇒ H x lý s đ quy: là h có ph n ứng y(n) phụ thuộc vào c tác động bk x(n –
k) l n∗ ph n ứng ở quá khứ ar y(n – r).
H x lý s nhân qu đ quy có quan h vào ra v i r ≥ 1:
Y(n) = F[b0 x(n) ,, bk x(n – k) , , ar y(n – r), ] (2.4)
Quan h vào ra nh hàm trên đ c g i là quan h vào ra đ quy.
2.⇒2.3 T ng quan v b l c s
Trong x lý tín hi u, bộ l c s là một h th ng th c hi n các phép bi n đ i toán
h c trên tín hi u đã đ c l y m u (tín hi u r i r c theo th i gian) để thay đ i hình d ng
của tín hi u.
Bộ l c s là một h th ng làm bi n d ng s phân b t n s các thành ph n của tín
hi u theo chỉ tiêu cho tr c.
Một tín hi u có đ u vào là x(n) đi qua h th ng có đáp ứng xung h(n) thì đ u vào
và đ u ra có quan h h sau:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 22
CH NG 2. C S LÝ THUY T
∞ (2.5)
= ℎ ∗ = ℎ −
Quan h này nói rằng chiều dài của h(n) = r t quan tr ng, các h s h(n) là đ c tr ng
cho c h th ng. Chính vì th ng i ta phân lo i các h th ng thành hai lo i tùy theo
chiều dài của đáp ứng xung h(n):
- FIR (Finite-Duration Impulse Response): h th ng đ c tr ng bởi đáp ứng xung có
chiều dài h u h n, tức là h(n) khác 0 trong một kho ng có chiều dài h u h n N (từ 0
đ n N-1):
− (2.6)
= ℎ ∗ = ℎ −
- IIR (Infinite-Duration Impulse Response): H = th ng đ c tr ng bởi đáp ứng xung có
chiều dài vô h n, tức là h(n) khác 0 trong một kho ng th i gian vô h n từ 0 đ n ∞:
∞ (2.7)
= ℎ ∗ = ℎ −
Bộ l c IIR mang tính t ng quát h n bộ l c = FIR vì IIR là bộ l c đ quy còn bộ l c FIR
⇒là bộ l c không đ quy.
D a vào đáp ứng t n s mà chia các bộ l c thành các lo i khác nhau: L c thông
th p, l c thông cao, l c thông d i.
2.3.3.1 B l c thông th p LPF
L c thông th p là bộ l c chỉ cho phép các t n s th p h n t n s cắt đi qua, còn
thành ph n t n s cao thì bị lo i b . Thi t k bộ l c có hai ph ng pháp: d a vào t n s
l y m u ho c d a vào bi n đ i Fourier.
Đáp ứng xung của bộ lọc FIR được cho theo công thức:
− (2.8)
= −
Hàm truyền của bộ lọc FIR: =
-k+1
H(z) = b0 + b1 b2 + + bk-1 z (2.9)
− −
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 23
CH NG 2. C S LÝ THUY T
Trong đó: bi h s của bộ l c
k là chiều dài của bộ l c
Phương trình sai phân:
y[n] = b0x[n] + b1x[n-1] + b2x[n-2] + bk-1x[n – k +1] (2.10)
Sơ đồ khối của bộ lọc LPF:
+
x(n) b0 y(n)
−
+
b1
−
+
b2
−
bk-1
Hình 2.16 Sơ đồ khối bộ lọc thông thấp dạng chuyển vị
+
y(n)
x(n) b0
−
x(n-1)
b1
−
x(n-k+1)
bk-1
−
Hình 2.15 Sơ đồ khối bộ lọc thông thấp dạng chính tắc
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 24
CH NG 2. C S LÝ THUY T
Chú thích các kh i trong s đồ:
+
−ퟏ
Kh i cộng Kh i풛 Delay Kh i nhân
Đáp ứng tần số đáp ứng xung của bộ lọc thông thấp:
(2.11)
Ω , < Ω ≤ Ω
Đáp ứng xung của bộ| ( lọc thông)| thấp: = {
, Ω ≤ Ω ≤ 휋
(2.12)
. Ω
2.3.3.2 B l c thông cao HPF[ ] = 훿[ ] −
L c thông cao là bộ l c chỉ cho chép các t n s 휋 l n h n t n s cắt đi qua, còn thành
ph n t n s th p h n thì bị lo i b .
Đáp ứng tần số của bộ lọc thông cao lý tưởng
(2.13)
Ω , < Ω ≤ Ω
Đáp ứng xung của bộ lọc| thông | cao = lý { tưởng:
, Ω ≤ Ω ≤ 휋
(2.14)
. Ω
2.3.3.3 B l c thông d i BPF[ ] = 훿[ ] −
Bộ l c thông d i là bộ l c chỉ cho các thành휋 ph n t n s trong một d i điqua, các
thành ph n t n s l n h n và bé h n thì lo i b .
Đáp ứng tần số bộ lọc thông dải:
(2.15)
Ω , < Ω ≤ Ω ,Ω ≤ Ω ≤ 휋
Đáp ứng xung| ( của bộ lọc)| thông = { dải:
, Ω ≤ Ω ≤ Ω
(2.16)
Ω − Ω
[ ] = 훿[ ] −
2.3 T NG QUAN V CÔNG C MATLAB 휋
2.3.1 Gi i thi u chung
Matlab là vi t tắt của Matrix Laboratory, là một bộ ph n mềm toán h c của hãng
Mathworks đ c dùng để l p trình, tính toán s và có tính tr c quan r t cao.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 25
CH NG 2. C S LÝ THUY T
Matlab làm vi c chủ y u v i ma tr n. Ma tr n cỡ mxn là b ng ch nh t gồm mxn
s đ c sắp x p thành m hàng và n cột. Matlab có thể làm vi c v i nhiều kiểu d li u
khác nhau. V i chu i kí t Matlab cũng xem là một dãy các kí t hay là dãy mã s của
các ký t .
Matlab dùng để gi i quy t các bài toán về gi i tích s , x lý tín hi u s , x lý đồ
h a, mà không ph i l p trình c điển.
Hi n nay, Matlab có đ n hàng ngàn l nh và hàm ti n ích. Ngoài các hàm cài s n
trong chính ngôn ng , Matlab còn có các l nh và hàm ứng dụng chuyên bi t trong các
Toolbox, để mở rộng môi tr ng Matlab nhằm gi i quy t các bài toán thuộc các ph m
trù riêng. Các Toolbox khá quan tr ng và ti n ích cho ng i dùng nh toán s c p, x
lý tín hi u s , x lý nh, x lý âm thanh, ma tr n th a, logic m ,
V i Matlab, bài toán tính toán, phân tích, thi t k và mô ph ng trở nên d dàng
h n trong nhiều lĩnh v c chuyên ngành nh : Đi n, Đi n t , C khí, C đi n t ,
Các ưu điểm của Matlab:
- Matlab là công cụ tính toán r t m nh, tr c quan, d dùng, mở rộng và phát triển.
- Matlab có kh năng liên k t đa môi tr ng, liên k t d dàng v i ngôn ng l p trình
C++, Visual C, FORTRAN, JAVA,
- Matlab có kh năng x lý đồ h a m nh trong không gian hai chiều và ba chiều.
- Các TOOLBOX trong Matlab r t phong phú, đa năng là công cụ nghiên cứu, thi t k
c c kỳ hi u qu trong các lĩnh v c chuyên ngành.
- Công cụ mô ph ng tr c quan SIMULINK ch y trong môi tr ng Matlab giúp cho
bài toán phân tích thi t k d dàng, sinh động h n.
- Matlab có ki n trúc mở, d dàng trong vi c xây d ng thêm các module tính toán kỹ
thu t theo tiêu chu n công nghi p và truyền th ng.
2.3.2 L p trình trong matlab
2.3.2.1 M-File
Trong Matlab, M-file là các file ch ng trình đ c so n th o và l u ở d ng văn
b n. Có hai lo i M-file là Script file (file l nh) và Function file (file hàm). C hai đều
có phền tên mở rộng là “.m”. Matlab có r t nhiều M-file chu n đ c xây d ng s n.
Ng i dùng cũng có thể t o các M-file m i tùy theo nhu c u s dụng. D i đây là ph n
gi i thi u s l c về hai lo i M-file.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 26
CH NG 2. C S LÝ THUY T
* Script file:
Thay vì nh p và th c thi từng câu l nh t i c a s Command Window, ta có thể
so n th o (trong ph n Editor) và l u t t c các câu l nh c n thi t để gi i bài toán vào
một file g i là Script file. Sau đó, khi c n ch y các câu l nh đã l u, ta chỉ c n gõ tên file
vào Command Window để th c thi toàn bộ ch ng trình.
Các b c t o và th c thi một Script file:
- Bước 1: T o và so n th o các câu l nh.
Script file đ c so n th o trong c a s Editor. Có 3 cách mở c a s Editor (hay
t o Script file):
• Cách 1: vào menu Home → New → Script
• Cách 2: Nh n t h p phím Ctrl + N
• Cách 3: Trong Command Window gõ l nh edit
• Cách 4: Nháy chuột vào icon New Script
- Bước 2: L u Script file đã so n th o xong.
T p tin Script file có ph n mở rộng là “.m”, và đ c l u vào th mục hi n hành.
N u không có s l a ch n khác thì th mục hi n hành đ c m c định là th mục work
của Matlab. Ngoài ra, ng i dùng cũng có thể l a vào b t cứ n i nào trong máy tính,
nh ng tránh để g p nh ng tr ng h p h i khi ch y (run) ch ng trình thì khuy n cáo
l u vào th mục m c định. Tên t p tin ph i bắt đ u bằng ký t ch cái, không có kho ng
tr ng gi a các ký t (gi ng quy định về tên bi n trong Matlab).
- Bước 3: Ch y t p tin Script file.
Có hai cách g i th c hi n Script file:
• Cách 1: Trong c a s so n th o Editor click nút Run trên thanh Toolbar.
• Cách 2: Trong c a s Command Window gõ tên file (không bao gồm ph n mở
rộng “.m”), sau đó nh n Enter để th c thi.
L u ý: dù g i th c hi n Script file theo cách nào thì Matlab cũng đều xu t k t qu
tính toán t i c a s Command Window.
Mở một M-file đã lưu:
Trong quá trình thục thi ch ng trình, khi ng i dùng có nhu c u mở l i một M-
file đã có để xem ho c chỉnh s a s có các cách nh sau:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 27
CH NG 2. C S LÝ THUY T
• Cách 1: Trong c a s Editor ho c Home, vào menu Open và mở file c n dùng.
• Cách 2: T i Command Window, gõ l nh edit (‘đ ng d n\tên file’), n u l u
trong đĩa C (th mục m c định của Matlab), ta không c n ph i gõ đ ng d n
vào. Ví dụ: mở một file ml.m đã l u trong đĩa E, ta gõ l nh >>edit E:\ml.m ho c
>>edit E:\ml. N u l u trong th mục m c định ( C) ta chỉ c n gõ >>edit ml.m
ho c >>edit ml.
• Cách 3: Dùng t h p phím Ctrl + O để mở.
Ví dụ một đo n Script file đ c mở trong Matlab:
* Function file:
T ng t nh trong toán h c, các hàm (function) trong Matlab s nh n vào giá trị
của các đ i s và tr về giá trị t ng ứng của hàm. Trình t t o và th c thi một file hàm
bao gồm các b c nh sau:
- Bước 1: T o hàm.
Function file đ c so n th o trong c a s Editor. Mở c a s Editor, sau đó t o
Function file bằng cách: vào menu Home → New → Function (t o t động) ho c gõ
hàm theo c u trúc chu n:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 28
CH NG 2. C S LÝ THUY T
function [danh sách tham s ra] = tên hàm (danh sách tham s vào)
- Bước 2: L u function file đã so n th o xong.
Nh cách l u của Script file, khi l u hàm, Matlab s l y tên hàm làm tên file v i
đuôi “.m”, ng i l p trình không nên s a l i tên này để tránh l n lộn khi g i th c hi n
hàm.
- Bước 3: G i th c hi n Function file. Th c hi n t ng t nh g i th c hi n Script file
vì đ c l u d i d ng đuôi “.m”.
Mở function file đã l u cũng đ c th c hi n nh khi mở Script file. Ví dụ một
đo n Function file đ c mở và th c thi trong Matlab:
Các đặc điểm của hàm:
- Các hàm chỉ thông tin v i Matlab thông qua các bi n truyền vào cho nó và các bi n
ra mà nó t o thành, các bi n trung gian ở bên trong hàm thì không t ng tác v i môi
tr ng Matlab.
- Khi Matlab th c hi n l n đ u các function file, nó s mở file và dịch các dòng l nh
của file đó ra một d ng mã l u trong bộ nh nhằm mục đích tăng t c độ th c hi n
các l i g i hàm ti p theo. N u sau đó không có s thay đ i gì trong M-file, quá trình
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 29
CH NG 2. C S LÝ THUY T
dịch s không x y ra l n thứ hai. N u trong hàm có chứa l i g i hàm M-file khác thì
các hàm đó cũng đ c dịch vào trong bộ nh . Bằng l nh clear function ta có thể xóa
c ỡng bức các hàm đã dịch, nh ng v n gi nguyên các M-file.
- M i hàm có không gian làm vi c riêng của nó (local workspace) tách bi t v i môi
tr ng Matlab (s dụng base workspace), m i quan h duy nh t gi a các bi n trong
hàm v i môi tr ng bên ngoài là các bi n vào và ra của hàm đó. N u b n thân các
bi n của hàm bị thay đ i thì s thay đ i này chỉ tác động bên trong của hàm đó mà
không làm nh h ởng đ n các bi n của môi tr ng Matlab. Các bi n của hàm s đ c
gi i phóng ngay sau khi hàm th c thi xong nhi m vụ, vì v y không thể s dụng thông
tin của l n g i tr c cho l n g i sau.
- Các hàm có thể s dụng chung các bi n v i hàm khác hay v i môi tr ng Matlab n u
các bi n đ c khai báo là bi n toàn cục. Để có thể truy c p đ c các bi n bên trong
một hàm thì các bi n đó ph i đ c khai báo là bi n toàn cục trong m i hàm s dụng
nó.
- Một -M file có thể chứa nhiều hàm. Hàm chính (main function) trong M-file này ph i
đ c đ t tên trùng v i tên của M-file. Các hàm khác đ c khai báo thông qua câu
l nh function đ c vi t sau hàm đ u tiên. Các hàm con (local function) chỉ đ c s
dụng bởi hàm chính, tức là ngoài hàm chính ra thì không có hàm nào khác có thể g i
đ c chúng. Tính năng này cung c p một gi i pháp h u hi u để gi i quy t từng ph n
của hàm chính một cách riêng r , t o thu n l i cho vi c l p một file hàm duy nh t để
gi i bài toán phức t p.
2.3.2.2 M t s câu l nh c b n
* L nh for:
- Công dụng: Dùng để th c hi n 1 công vi c c n l p đi l p l i theo một quy lu t, v i s
b c l p xác định tr c.
- Cú pháp:
for bi n điều khiển = giá trị đ u : giá trị cu i,
th c hi n công vi c;
end
- Giải thích: Công vi c chính là các l nh c n thi hành, có thể có nhiều l nh, k t thúc l nh
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 30
CH NG 2. C S LÝ THUY T
ph i có d u ;
- Ví dụ: In ra màn hình 2 dòng ‘Nhóm Lam – My chao cac ban’.
for i = 1:2,
disp(‘Nhóm Lam – My chao cac ban’);
end
% ph n k t qu :
Nhóm Lam – My chao cac ban
Nhóm Lam – My chao cac ban
* L nh function:
- Công dụng: T o thêm hàm m i.
- Cú pháp: function s = n(x)
Trong đó:
+ s: tên bi n chứa giá trị tr về sau khi thi hành hàm.
+ n: tên g i nh .
* L nh input:
- Công dụng: Dùng để nh p vào 1 giá trị.
- Cú pháp:
tên bi n = input(‘promt’)
tên bi n = input(‘promt’, ‘s’)
Trong đó:
+ tên bi n là n i l u giá trị ng p vào.
+ ‘promt’: chu i ký t mu n nh p vào.
+ ‘s’: cho bi t giá trị nh p vào là nhiều ký t .
- Ví dụ 1: x = input(‘nh p giá trị của bi n x: ’)
% ph n k t qu :
nh p giá trị của bi n x: 5
x = 5
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 31
CH NG 2. C S LÝ THUY T
- Ví dụ 2:
tr _l i = input(‘b n có mu n ti p tục không? ’,’s’)
% ph n k t qu :
b n có mu n ti p tục không? không
tr _l i = không
* L nh if elseif else:
- Công dụng: Th c hi n l nh khi th a điều ki n.
- Cú pháp:
if biểu thức lu n lý 1
th c hi n công vi c 1;
elseif biểu thức lu n lý 2
th c hi n công vi c 2;
else
th c hi n công vi c 3;
end
- Giải thích:
+ Khi biểu thức lu n lý 1 đúng thì th c hi n công vi c 1 t ng t cho biểu thức
lu n lý 2. N u c hai biểu thức sai thì th c hi n công vi c sau l nh else.
+ Biểu thức lu n lý là các phép so sánh ==, , =
+ Công vi c chính là các l nh c n thi hành, có thể có nhiều l nh, k t thúc l nh ph i
có d u ;
- Ví dụ:
Vi t ch ng trình nh p vào 2 s và so sánh hai s đó.
a = input(‘Nh p a: ’);
b = input(‘Nh p b: ’);
if a > b
disp(‘a l n h n b’);
elseif a ==b
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 32
CH NG 2. C S LÝ THUY T
disp(‘a bằng b’);
else
disp(‘a nh h n b’);
end
% ph n k t qu :
Nh p a: 4
Nh p b: 5
a nh h n b
* L nh while:
- Công dụng: Dùng để th c hi n 1 công vi c c n l p đi l p l i theo một quy lu t, v i s
b c l p không xác định, phụ thuộc vào biểu thức lu n lý.
- Cú pháp:
while biểu thức lu n lý
th c hi n công vi c;
end
- Giải thích:
+ Biểu thức lu n lý là các phép so sánh = =, , =
+ Công vi c chính là các l nh c n thi hành, có thể có nhiều l nh, k t thúc l nh ph i
có d u ;
+ Khi th c hi n xong công vi c thì quay lên kiểm tra l i biểu thức lu n lý, n u v n
còn đúng thì ti p tục th c hi n, n u sai thì k t thúc.
- Ví dụ:
tính t ng A = 1+1/2+1/3++1/n
n = input(‘nh p vào s n: ’);
a = 0; i = 1
while i <= n
a = a + 1/i
i = i + 1;
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 33
CH NG 2. C S LÝ THUY T
end
disp(‘ket qua:’);
disp(a);
% ph n k t qu :
nhap vao so n: 3
ket qua:
1.8333
2.3.3 Trình mô ph ng Simulink
Simulink là một công cụ trong Matlab dùng để mô hình, mô ph ng và phân tích
các h th ng động v i môi tr ng giao di n s dụng bằng đồ h a. Vi c xây d ng mô
hình đ c đ n gi n hóa bằng các ho t động nh p chuột và kéo th . Simulink bao gồm
một bộ th vi n kh i v i các hộp công cụ toàn di n cho c vi c phân tích tuy n tính và
phi tuy n. Simulink là một ph n quan tr ng của Matlab và có thể d dàng chuyển đ i
qua l i trong quá trình phân tích, và vì v y ng i dùng có thể t n dụng đ c u th của
c hai môi tr ng.
Simulink là thu t ng mô ph ng d nh đ c ghép bở hai từ Simulation và Link.
Simulink cho phép mô t h th ng tuy n tính, h phi tuy n, các mô hình trong miền th i
gian liên tục hay gián đoán, ho c gồm c liên tục và gián đo n.
Để mô hình hóa, Simulink cung c p cho b n một giao di n đồ h a để s dụng và
xây d ng mô hình s dụng thao tác “nh n và kéo” chuột. V i giao di n đồ h a ta có thể
xây d ng mô hình và kh o sát mô hình một cách tr c quan h n. Đây là s khác xa các
ph n mềm tr c đó mà ng i s dụng ph i đ a vào các ph ng trình vi phân và ph ng
trình sai phân bằng một ngôn ng l p trình
Có thể mở Simulink bằng 2 cách:
- Cách 1: Click vào biểu t ng Simulink ở mục Home trên thanh công cụ:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 34
CH NG 2. C S LÝ THUY T
- Cách 2: Từ c a s l nh (Command Window), gõ l nh Simulink và nh n enter:
Sau khi khởi động Simulink ta đ c màn hình c a s Simulink. C a s này ho t
động liên k t v i c a s Matlab.
Hình 2.17 Giao diện trình mô phỏng Simulink
* Các kh i ch c năng trong th vi n Simulink:
Trình mô ph ng Simulink có các kh i chức năng Block Library: phiên b n
Matlab R2018a, khi t o một trình mô ph ng Simulink m i, chúng ta ph i click vào biểu
t ng Library Browser để mở th vi n các kh i chức năng.
Từ c a s l nh ta th y đ c các kh i th vi n: Kh i nguồn (Sources), kh i đ u do
(Sinks), Kh i phi tuy n (Nonlinear), kh i tuy n tính (Linear), kh i đ u n i
(Connections),
T i th vi n hi n có r t nhiều kh i s đồ để ta l a ch n, tuy nhiên trong gi i h n
đề tài chỉ xin gi i thi u một s kh i liên quan:
+ Sin Wave: Kh i phát ra sóng có d ng sin đ c l y từ th vi nDSP System Toolbox
ho c DSP System Toolbox HDL Support vì đây là sóng sin d ng s .
Các thông s : Giá trị biên độ (Amplitude), t n s (Frequency – đ n vị Hz), pha (Phase
offet), th i gian l y m u (chỉ áp dụng cho h gián đo n).
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 35
CH NG 2. C S LÝ THUY T
Hình 2.18 Khối Sine Wave và thông số cài đặt
+ Scope: Kh i scope có thể đ c l y từ th vi n HDL Coder ho c Simulink/Sinks.
Kh i này hiển thị d ng tín hi u trong su t th i gian mô ph ng (gi ng nh
Oscilloscope)
+ Random Source: Kh i này đ c l y từ DSP System Toolbox, là một bộ phát sóng
Hình 2.19 Khối Scope và màn hình hiển thị
ng u nhiên, có thể biểu tr ng cho nhi u Các thông s : lo i nguồn (Source type), t n s
l y m u (Sample Time),
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 36
CH NG 2. C S LÝ THUY T
Hình 2.20 Khối Random Source và thông số cài đặt
+ Sum: Ngõ ra t ng các ngõ vào, có chức năng cộng hai hay nhiều tín hi u l i v i
nhau. Kh i này đ c l y từ Simulink/Math Operations.
Các thông s : hình dáng (Icon shape), s ngõ vào (List of signs).
Hình 2.21 Khối Sum và thông số cài đặt
+ Gain: Tín hi u vào nhân v i một hằng s . Kh i này đ c l y từ Simulink/Math
Operations.
Các thông s : h s (Gain), phép nhân (Multiplication).
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 37
CH NG 2. C S LÝ THUY T
Hình 2.22 Khối Gain và thông số cài đặt
+ ECG Signal Selector:
Nguồn tín hi u ECG này đ c Matlab xây d ng nên có s n trong Matlab. Các tín
hi u ECG đ c s dụng trong vi c phát triển và th nghi m các thu t toán x lý tín hi u
y sinh chủ y u từ ba nguồn: 1) C sở d li u y sinh (ví dụ: C sở d li u lo n nhịp MIT-
BIH) ho c d li u ECG đ c ghi l i tr c đó; 2) gi l p ECG; 3) Thu th p d li u ECG
th i gian th c.
Trong Matlab, các tín hi u ECG đ c ghi l i và mô ph ng tr c đ c s dụng. Các
tín hi u đều có t n s l y m u là 360 Hz.
• Một bộ d li u ECG th c đ c ghi l i đ c l y m u từ một tình nguy n viên kh e
m nh v i nhịp tim trung bình là 82 nhịp m i phút (bpm). D li u ECG này đã đ c
l c tr c và khu ch đ i bởi m t tr c t ng t tr c khi đ a nó vào ADC 12 bit.
• B n bộ tín hi u ECG t ng h p v i nhịp tim trung bình khác nhau, từ 45 bpm đ n
220 bpm. ECGSYN đ c s dụng để t o tín hi u ECG t ng h p trong MATLAB.
D i đây là các cài đ t để t o d li u ECG đ c t ng h p:
• T n s l y m u: 360 Hz.
• Phụ gia đo ti ng ồn phân b đồng đều: 0,005 mV;
• Độ l ch chu n của nhịp tim: 1 bpm.
Th vi n của Simulink bao gồm các kh i chu n trên, ng i s dụng có thể thay
đ i hay t o ra các kh i cho riêng mình.
2.3.4 Công c thi t k b l c s FDATool c a Matlab
2.3.4.1 Gi i thi u ph ng pháp thi t k theo mô hình
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 38
CH NG 2. C S LÝ THUY T
Thi t k theo mô hình MBD (Model_Based Design) là ph ng pháp d a vào mô
hình để xây d ng một h th ng nào đó. V i ph ng pháp này, b n thi t k cho một thi t
bị đi n t s mang tính t ng quát cao, nó đ c xây d ng trên một h th ng các kh i và
s t ng tác gi a các kh i đó. Nói theo một góc độ khác thì: từ một ý t ởng thi t k nó
s đ c cụ thể hoá bằng các mục tiêu kỹ thu t cho thi t bị, từ mục tiêu kỹ thu t đós
đ c triển khai thành h th ng các kh i chức năng mà chức năng của từng kh i s
đ c chỉ rõ trong b ng giao nhi m vụ và chỉ tiêu kỹ thu t cho kh i. Sau đó, ng i ta
thi t l p m i liên h gi a các kh i và t o ra đ c s đồ kh i chi ti t cho thi t bị.
Khi thi t bị đã đ c kiểm tra trên các ph n mềm mô ph ng và cho k t qu là
kh thi thì vi c hi n th c hoá thi t k s có nhiều su h ng khác nhau: Theo quan điểm
của MBD thì b n thi t k đó s đ c chuyển sang ngôn ng c u trúc của “h th ng th c
thi ph n cứng” sau đó chuyển t p tin này cho “h th ng th c thi ph n cứng” th c hi n
(công đo n này ng i ta g i công đo n nhúng cho thi t bị).
2.3.4.2 T ng quan v h p công c thi t k b l c s (FDATool)
Công cụ thi t k bộ l c s (Filrter Design & Analysis Tool – FDATool) cung c p
cho ta nh ng kỹ thu t tiên ti n để thi t k , phân tích, mô ph ng các bộ l c s . V i nh ng
kỹ thu t tiên ti n trong ki n trúc và thi t k bộ l c. Nó cho phép nâng cao kh năng x
lý h th ng s trong th i gian th c nh v i bộ l c thích nghi, bộ l c đa nhi m và s
chuyển đ i gi a chúng.
Khi s dụng hộp công cụ điểm tĩnh (Fixed-Point Toolbox – FPTool) nó cho phép
đ n gi n hoá vi c thi t k cũng nh phân tích nh ng hi u ứng l ng t của bộ l c s .
Khi s dụng mã HDL (Filter Design HDL Coder) nó cho phép chuyển đ i từ kiểu
thi t k bộ l c theo ph ng pháp ch n điểm sang ngôn ng VHDL và Verilog.
* Những nét đặc trưng của công cụ thiết kế bộ lọc số (FDATool):
+ Ph ng pháp tiên ti n thi t k bộ l c s d ng FIR bao gồm: gi m thiểu về thứ t , về
pha, về g n sóng, về n a băng t n, về tiêu chu n Nyquist và về pha phi tuy n.
+ Thi t k bộ l c FIR v i hai kênh d n (hight pass_low pass) cho k t qu r t kh quan.
+ Ph ng pháp tiên ti n thi t k bộ l c IIR r t m nh trong lĩnh v c phân t n (equalizers),
bán kính c c, t o s n d c của đáp tuy n biên độ t n s , và các bộ l c răng l c.
+ Phân tích và hi n th c hoá một cách chính xác d u ch m ph y động (trong vi t ch ng
trình) cho bộ l c s .
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 39
CH NG 2. C S LÝ THUY T
+ H tr và hi n th c hoá ở các b c ti p theo cho thi t k : sắp đ t và s a l i các thông
s đ i v i bộ l c IIR (hi u chỉnh thi t k ).
+ Th c hi n một cách chính xác d u ch m ph y động để lo i b nhi u do hồi ti p gây
nên (v i bộ l c IIR).
+ Chuyển đ i một cách d dàng gi a bộ l c IIR và bộ l c FIR cũng nh chuyển đ i gi a
các bộ thông t n nh : thông cao, thông th p, thông d i.
+ Phân tích và hi n th c hoá một cách hi n đ i các thi t k bộ l c s trên c sở LMS,
RLS, miền t n s , chuyển đ i nhanh và tham chi u t ng quan.
+ T o ra ngôn ng VHDL và Verilog từ các bộ l c đ c thi t k theo kiểu ch n điểm
tĩnh.
* Những hàm chức năng để thiết kế bộ lọc trong FDATool của Matlab:
Khi tín hi u là dãy vô t n, chúng ta ph i ch n thi t k bộ l c theo ph ng pháp
ch n điểm động và ph i chỉ rõ nh ng mục tiêu, yêu c u kỹ thu t, đáp tuy n biên độ
t n s và ph ng pháp hi n th c hoá nó.
Còn khi thi t k bộ l c theo ph ng pháp ch n điểm tĩnh, chúng ta ph i ch n
nh ng c u trúc, nh ng hi u ứng phù h p vì điều đó nh h ởng l n đ n ch t lu ng của
bộ l c. FDATool đ a ra nhiều công cụ và mô hình để ta có thể l a ch n cho phù h p
v i mục đích s dụng của mình.
* Những cấu trúc cho bộ lọc rời rạc:
D i đây s trình bày nh ng c u trúc để thi t k bộ l c FIR. Danh sách c u trúc,
mô hình đ c thi t k s n (h mở) trong hộp công cụ của Matlab, ng i dùng có thể
tham kh o ở mục Functions Categorical (hàm chức năng tuy t đ i trong b ng ch giúp).
Bảng 2.1 Cấu trúc của bộ lọc có đáp tuyến xung hữu hạn
C u trúc b l c FIR Ý nghƿa
dfilt.dfasymfir Bộ l c FIR không đ i xứng
dfilt.dffir Bộ l c FIR tuy n tính
dfilt.dffirt Bi n đ i của Bộ l c FIR tuy n tính
dfilt.dfsymfir Bộ l c FIR đ i xứng
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 40
CH NG 2. C S LÝ THUY T
2.3.4.3 Thi t k b l c s d ng giao di n FDATool
FDATool cho ta một giao di n thi t k bộ l c s r t m nh và thu n ti ncho
ng i s dụng, một cái r t hay của nó là ta có thể chuyển đ i từ thi t k bộ l c trên giao
di n thành ngôn ng l p trình để từ đó ta có thể đóng gói và s dụng nó trong nh ng
thi t k phát triển cao h n. Có thể nói rằng: Thi t k bộ l c trên giao di n củaFDATool
về m t chức năng thì g n nh gi ng v i thi t k bộ l c bằng ngôn ng l p trình trừ một
s hàm chức năng đ c bi t mà FDATool không thể có đ c, bù vào đó là s r t tr c
quan và d hiểu. Để khởi động FDATool: chúng ta gõfdatool vào Command Window
và nh n Enter. Một giao di n đ c hi n ra nh sau:
Hình 2.23 Giao diện thiết kế của FDATool
Trên thanh tiêu đề ta có:
+ File: công cụ cho t p tin.
+ Edit: công cụ so n th o.
+ Analysis: công cụ phân tích.
+ View: công cụ hiển thị.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 41
CH NG 2. C S LÝ THUY T
+ Window: T ng thích v i h điều hành Windows.
+ Help: công cụ tr giúp
Trong khung Current Filter Information (thông tin về bộ l c), ta có:
+ Store Filter: l u bộ l c vào kho.
+ Filter manager: Qu n lý các bộ l c đã đ c l u gi .
Trong khung Filter Specifications (thông s kỹ thu t bộ l c) là hình nh thể hi n các
thông s kỹ thu t của bộ l c các tr c quan, giúp ng i dùng d s dụng.
Trong khung Response Type (kiểu đáp ứng) bao gồm các đáp ứng:
+ Lowpass (bộ l c thông th p).
+ Highpass (bộ l c thông cao).
+ Bandpass (bộ l c thông d i).
+ Bandstop (bộ l c ch n d i).
+ Differentiator (bộ vi phân).
Trong khung Design Method (ph ng pháp thi t k ): cho ta l a ch n 2 kiểu bộ
l c đó là bộ l c ...u v i nhi u, k t qu sau bộ cộng là tín hi u ECG bị
nhi u tác động (đúng v i yêu c u kỹ thu t ban đ u đề ra).
- Bộ l c FIR có nhi m vụ ch n l c t n s không thuộc yêu c u (nhi u) và g t b .
- Kh i hiển thị cho phép hiển thị t i đak t qu d ng sóng của các điểm kiểm tra.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 69
CH NG 3. TÍNH TOÁN VÀ THI T K
3.2.3.2 Thi t k , mô ph ng và chuy n mã VHDL
* Thi t k các b l c FIR:
- Bộ lọc thông thấp:
Ta gõ câu l nh fdatool vào c a s Command Window để mở FDATool. Ti p theo
đó, ta thi t l p các thông s . Sau đó, click Design Filter nh hình d i. Khi hoàn thành,
ta có thể l u file v i tên lowpassecg.fda để s dụng cho nh ng l n ti p theo.
Hình 3.7 Thông số của bộ lọc thông thấp dạng FIR
- Bộ lọc thông cao:
T ng t nh bộ l c thông th p, sau khi mở FDATool, ta điền các thông s , click
ch n Design Filter sau đó l u l i v i tên highpassecg.fda để ti p tục s dụng cho nh ng
l n ti p theo.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 70
CH NG 3. TÍNH TOÁN VÀ THI T K
Hình 3.8 Thông số của bộ lọc thông cao dạng FIR
- Bộ lọc thông dải:
T ng t nh hai bộ l c trên, bộ l c thông d i đ c l u v i tên bandpassecg.fda.
Hình 3.9 Thông số của bộ lọc thông dải dạng FIR
* Mô ph ng thi t k :
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 71
CH NG 3. TÍNH TOÁN VÀ THI T K
Để mô ph ng đ c thi t k này chúng ta chuyển thi t k này thành kh i chức năng
s dụng trong Simulink (xem mục 2.4.5 để bi t thêm về Simulink), thao tác nh sau:
- Bộ lọc thông thấp:
Đ u tiên, chúng ta mở file lowpassecg.fda đã l u tr c đó ta đ c giao di n v i
các thông s đã đ c cài đ t nh hình 3.7. Sau đó, ta chuyển toàn bộ thi t k sang d ng
kh i chức năng để mô ph ng trong simulink nh sau:
Từ giao di n FDATool của file lowpassecg.fda, ta ch n công cụ Realize Model
(thanh d c bên trái giao di n). đây ta đ t tên kh i chức năng (block name) là: lowpass
và chúng ta c n ch n các yêu c u bằng cách click vào các ô yêu c u v i kh i chức năng
nh hình v thể hi n. Sau đó ta click ch n Realize Model.
Hình 3.10 Chọn chế độ lọc thông thấp cho khối mô phỏng
Khi đó Matlab s ch y kh i mô ph ng Simulink có s n kh i chức năng của bộ l c
lowpass.
Hình 3.11 Khối lọc thông thấp trong Simulink
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 72
CH NG 3. TÍNH TOÁN VÀ THI T K
Từ kh i l c thông th p trên, ta xây d ng h th ng mô ph ng l c nhi u thông th p
tín hi u đi n tim ECG. Nh đã trình bày ở đề tài này, nhóm chỉ t p trung l c nhi u tín
hi u đi n nh hình:
Hình 3.12 Thiết lập mô phỏng lọc nhiễu thông thấp ECG
Ch n các thông s kỹ thu t của kh i t o nhi u (kh i Sine) và ECG bằng cách click
đúp vào các kh i, b ng các thông s cài đ t s đ c hiển thị nh hình:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 73
CH NG 3. TÍNH TOÁN VÀ THI T K
- Bộ lọc thông cao:
mục này, chúng ta th c hi n các b c t ng t nh ở bộ l c thông th p. Tr c
h t, chúng ta mở file highpassecg.fda đã l u tr c đó s xu t hi n giao di n v i các
thông s đã đ c cài đ t nh hình 3.8. Sau đó, ta chuyển toàn bộ thi t k sang d ng kh i
chức năng để mô ph ng trong simulink. Tuy nhiên, ta đ t tên kh i chức năng (block
name) là: highpass.
Hình 3.13 Chọn chế độ thông cao cho khối mô phỏng
Khi đó Matlab s ch y kh i mô ph ng Simulink có s n kh i chức năng của bộ l c
highpass.
Hình 3.14 Khối lọc thông cao trong Simulink
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 74
CH NG 3. TÍNH TOÁN VÀ THI T K
Từ kh i l c thông cao trên, ta xây d ng h th ng mô ph ng l c nhi u thông cao
tín hi u đi n tim ECG.
Hình 3.15 Thiết lập mô phỏng lọc nhiễu thông cao ECG
Ch n các thông s kỹ thu t của kh i t o nhi u (kh i Sine) và ECG bằng cách click
đúp vào các kh i, b ng các thông s cài đ t s đ c hiển thị nh hình:
- Bộ lọc thông dải:
mục này, chúng ta th c hi n các b c t ng t nh ở các bộ l c trên. Tr c h t,
chúng ta mở file bandpassecg.fda đã l u tr c đó s xu t hi n giao di n v i các thông
s đã đ c cài đ t nh hình 3.9. Sau đó, ta chuyển toàn bộ thi t k sang d ng kh i chức
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 75
CH NG 3. TÍNH TOÁN VÀ THI T K
năng để mô ph ng trong simulink. Tuy nhiên, ta đ t tên kh i chức năng (block name)
là: bandpass.
Hình 3.16 Chọn chế độ thông dải cho khối mô phỏng
Khi đó Matlab s ch y kh i mô ph ng Simulink có s n kh i chức năng của bộ l c
bandpass.
Hình 3.17 Khối lọc thông cao trong Simulink
Từ kh i l c thông d i trên, ta xây d ng h th ng mô ph ng l c nhi u thông d i tín
hi u đi n tim ECG.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 76
CH NG 3. TÍNH TOÁN VÀ THI T K
Hình 3.18 Thiết lập mô phỏng lọc nhiễu thông dải ECG
Nhóm ch n các thông s kỹ thu t của kh i t o nhi u (kh i Sine) và ECG đ c
hiển thị theo b ng ch n, hình bên trái là t n s cao và hình bên ph i là t n s th p:
* Mô ph ng tín hi u ECG + nhi u ng u nhiên:
trên đã ti n hành mô ph ng h th ng l c nhi u tín hi u đi n tim bị nhi u bởi tín
hi u đi n công nghi p. Tuy nhiên, trong th c t chúng ta s còn g p nhiều nguồn nhi u
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 77
CH NG 3. TÍNH TOÁN VÀ THI T K
khác nhau v i nhiều d i t n s . Vì v y, nhóm cũng ti n hành mô ph ng h th ng l c
nhi u tín hi u đi n tim v i nguồn nhi u ng u nhiên. Tuy nhiên, k t qu đ t đ c không
nh mong mu n bởi nhóm g p r t nhiều khó khăn trong vi c thi t l p bộ l c thích h p.
mức độ đề tài này, chỉ xin gi i thi u qua.
Các b c ti n hành t ng t nh các bộ l c trên, chỉ có điều thay tín hi u sine
l ng t bằng nguồn nhi u ng u nhiên (Random Source), ta có đ c thi t k và mô
ph ng nh hình (bộ l c thông th p).
Hình 3.19 Thiết lập mô phỏng lọc nhiễu ngẫu nhiên thông thấp ECG
* Chuy n thi t k sang mã VHDL:
Để hi n th c hoá trên FPGA, Matlab có ph n mềm h tr t ng tácv i
Altera, nó cho phép t o ra ngôn ng VHDL từ công cụ FDATool, h s (Coefficient)
dùng trong ph n mềm Quartus.
Vì các bộ l c thông cao và thông d i đ c xây d ng trên bộ l c thông th p. Nói
cách khác bộ l c thông th p đ c xem nh bộ l c c b n, từ đó có thể xây d ng các bộ
l c còn l i. Vì v y, nhóm chúng tôi chỉ xin gi i thi u cách chuyển mã VHDL từ công
cụ FDATool của bộ l c thông th p. Có 2 cách chuyển mã VHDL từ công cụ FDATool
của Matlab:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 78
CH NG 3. TÍNH TOÁN VÀ THI T K
❖ Cách 1: Từ bộ l c thông th p t o ra từ trình mô ph ng simulink của Matlab, ta
ch n Code → HDL Code → Generate HDL. Sau đó file lowpass.vhd đ c t o
theo tên của kh i ở E:\hdl_prj\hdlsrc\mp. V i đĩa E là đĩa l u simulink của bộ
l c thông th p và mp là tên file simulink l u bộ l c thông th p. Tuy nhiên, ch ng
trình VHDL s đ c vi t theo d ng s đồ kh i của bộ l c và chỉ có 1 file vhdl
(không có file testbench).
Hình 3.20 Chuyển mã VHDL theo sơ đồ khối
❖ Cách 2: Từ giao di n FDATool ch n Targets → Generate HDL
Khi đó giao di n hi n ra và ta thi t l p các thông s nh sau:
+ Mục Language: VHDL
+ Name: lowpass (tùy từng bộ l c)
+ Folder: Để m c định ho c ch n Browse, rồi ch n địa chỉ l u mà ta c n.
+ Bên d i có các thi t l p khác:
• Ki n trúc bộ l c (Filter Architecture)
• Cài đ t toàn bộ (Global Settings)
• Mô ph ng (Test Bench): ch n HDL Test Bench, gõ lowpass_tb trong file name
• Công cụ EDA (Electronic Design Automation - T động thi t k đi n t )
Trong đó, chúng ta chủ y u quan tâm thi t l p thông s cho các ph n trong mục
Global Settings, các ph n còn l i th ng để m c định. Trong Global Settings, ta cài
đ t nh sau: General: ta gõ _entity thay cho _block (m c định) trong mục Entity
conflict postfix, các ph n còn l i để m c định.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 79
CH NG 3. TÍNH TOÁN VÀ THI T K
Hình 3.21 Cài đặt chuyển mã VHDL từ FDATool
Sau khi cài đ t xong các thông s , ta click đúp vào Generate, khi đó Matlab s
phát hai file là: lowpass.vhd và lowpass_tb.vhd, chúng đã s n sàng k t h p v i ph n
mềmQuartus II của Altera. Chúng ta chuyển hai file này sang cho FPGA th c hi n.
3.3 THI CÔNG H TH NG
Ph n này s gi i thi u và h ng d n quá trình mô ph ng và th c thi ch ng trình
bộ l c trên ph n cứng FPGA, đây cũnglà mục đích chínhmà đề tài h ng t i. Các b c
th c hi n v i các bộ l c t ng t nhau nên nhóm chỉ xin trình bày cách thức th c hi n
trên bộ l c thông th p làm điển hình cho các bộ l c còn l i.
3.3.1 Biên d ch ch ng trình trên Quartus II
Sau khi mở ph n mềm Quartus II, ta s th y giao di n ban đ u cho phép t o new
project, mở t p đã làm tr c đó hay mở h ng d n s dụng. Ta có thể ch nFile → New
Project ho c ch n Create a New Project từ giao di n ban đ u. Khi đó giao di n New
Project hi n ra, ta đ t tên và ch n nh sau:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 80
CH NG 3. TÍNH TOÁN VÀ THI T K
Chúng ta có thể đ t tên và ch n đ ng d n theo ý mu n. Trong đề tài này, nhóm
đ t tên project là: LOCNHIEUTHONGTHAP có đ ng d n: E:\University\DATN\
CODE VHDL DEMO. Sau đó, ta ch n Next. Giao di n hi n ra, sau đó, ta add hai file
lowpass.vhd và lowpass_tb.vhd (nh hình d i) bằng cách click đúp vào biểu files
trong mục files, mở file lowpass.vhd và lowpass_tb.vhd ở mục File name, rồi
click add và nh n Apply để hoàn t t.
2
1
4 3
Hình 3.22 Thao tác add file trong quartus
Tuy nhiên, do code VHDL chuyển đ i từ FDATool của Matlab không hẳn ch y
đ c trên FPGA (hãng Altera) vì các h s đ c dùng là s th c. Nên trong th c t , để
ch y đ c hai file trên, chúng ta ph i chỉnh s a kiểu giá trị phù h p để th c hi n đ c
trên FPGA.
Đ n đây ta đã có thể hi n th c hoá bộ l c, song nh v y vi c kiểm tra bộ l c trong
ch độ th c là khó vì chúng ta ph i có máy phát sin và thi t bị t o nhi u s . Vì v y ta
t o thêm bộ đ m lên 8bit để đ a vào bộ l c và s kiểm tra tín hi u sau bộ l c từ đóta có
thể nh n xét đ c kh năng làm vi c của bộ l c mà ta vừa thi t k . Công vi c này ta ti n
hành nh sau: Từ Project ta ch n new source và đ t tên là count.vhd. Đồng th i, chúng
ta ph i vi t ch ng trìnhfilterlowpass.vhd để k t n i các file count.vhd và lowpass.vhd
l i v i nhau ho c k t n i thông qua s đồ kh i (xem mục 3.3.2).
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 81
CH NG 3. TÍNH TOÁN VÀ THI T K
Sau đó, chúng ta ch y kiểm tra l i bằng nhiều cách nh clickProcessing → Start
→ Start Analysis & Synthesis (nh n t h p Ctrl + K), hay click ch n icon Start
Analysis & Synthesis trên thanh Standard ho c click ch n Analysis & Synthesis
trên thanh Tasks. N u không có l i thì s có d u tích xanh hi n lên ở khu v c Analysis
& Synthesis trên thanh Tasks và một b ng thông báo thành công.
Hình 3.23 Chạy kiểm tra lỗi Analysis & Synthesis
Ti p theo, chúng ta ti n hành gán chân cho thi t bị. Chúng ta có thể ti n hành gán
từng chân cho kit FPGA Altera DE2–115 bằng tay. Tuy nhiên, cách này t n th i gian
và có thể gây nh m l n n u có nhiều chân gán. Để giúp vi c gán chân trở nên nhanh
chóng và thu n ti n h n, chúng ta có thể mở file gán chân cho DE2_115.qsf theo đ ng
link https://www.eecs.umich.edu/courses/eecs270/270lab/270_docs/DE2_115.qsf, rồi
dùng ph n mềm Notepad++ copy file gán chân trên m ng và l u l i v i tên de2_115.qsf.
Sau đó, chúng ta cũng mở file gán chân củaproject LOCNHIEUTHONGTHAP có đuôi
“.qsf” và ti n hành copy các chân c n gán, cũng nh s a đ i cho gi ng v i tên các chân
đã khai báo (có phân bi t ch hoa và ch th ng). Sau đó, l u l i và chuyển sang
quartus.
giao di n của Quartus, ta mở file gán chân bằng cách ch nAssignments → Pin
Planner (Ctrl+Shift+N) hay ta chỉ c n click vào icon Pin Planner trên thanh Standard.
Sau đó, ta ti n hành biên dịch bằng cách ch n Processing → Start Compilation
(Ctrl+L) ho c click đúp Compile Design trong Tasks, hay chỉ c n click icon Start
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 82
CH NG 3. TÍNH TOÁN VÀ THI T K
Compilation trong thanh Standard. Khi đó, các chân gán bên Notepad++ s t động
c p nh t sang file gán chân trong quartus.
Sau đó, ta ch y Start Compilation ho c click đúp vào Compile Design để th c thi,
n u ta nh n đ c k t qu là các d u tích màu xanh, báo hi u không l i nh hình d icó
nghĩa là ch ng trình có thể ch y trên kit FPGA.
Hình 3.24 Biên dịch lỗi chương trình
3.3.2 S đ kh i trên Quartus
Sau khi khởi động quartus, chúng ta vào File → New (Ctrl+N). Khi đó, một b ng
t o các file m i s hi n ra. Ta click đúp ch n Block Diagram/Schematic File. Một file
v s đồ kh i s đ c t o v i đuôi “.bdf”.
Hình 3.25 Giao diện vẽ sơ đồ khối
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 83
CH NG 3. TÍNH TOÁN VÀ THI T K
Ti p theo, chúng ta chuyển hai file count.vhd sang count.bdf và lowpass.vhd sang
lowpass.bdf bằng cách click ch n icon Symbol Tool trên thanh Block Editor. Khi đó
b ng Symbol hi n ra, ta l y từng kh i c n dùng trong Project của mục Libraries rồi click
OK đem ra màn hình v s đồ kh i. Để v các chân ngõ ra, ngõ vào, ta click vào icon
Pin Tool trên thanh Block Editor rồi kéo ra. Sau đó k t n i chúng v i nhau nh hình:
Hình 3.26 Vẽ sơ đồ khối trong Block Diagram
Chúng ta l u tên file Block Diagram.bdf, để kiểm tra s k t n i gi a hai modul
này ta ch n Block Diagram.bdf sau đó ch y Anylysis & Synthesis để kiểm tra, k t qu
ph i đ c test bằng d u xanh.
3.3.3 Mô ph ng b l c dùng ModelSim
3.3.3.1 T ng quát v ph n m m mô ph ng ModelSim
ModelSim là ch ng trình mô ph ng và debug cho các thi t k ASIC và FPGA
c c kỳ m nh m và hi u qu , khi thi t k FPGA chúng ta có thể dùng Modelsim để mô
ph ng, kiểm tra, test ch ng trình
ModelSim là môi tr ng debug cho các ngôn ng nh Verilog HDL, VHDL,
System C. ModelSim hi n nay có các phiên b n là PE, LE, SE, XE. ModelSim PE và
LE dùng cho các thi t k nh và trung bình, trong khi b n SE dùng cho các thi t k
FPGA l n h n. Các phiên b n PE và SE có tr phí, phiên b n XE và phiên b n Student
Edition là mi n phí.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 84
CH NG 3. TÍNH TOÁN VÀ THI T K
Hình 3.27 Giao diện phần mềm ModelSim version 6.5
3.3.3.2 Mô ph ng m ch l c trên ModelSim
Các b c mô ph ng m ch l c thông th p:
- Bước 1: T i c a s giao di n của ph n mềm, trên thanh công cụ ta ch n file → new
→ project. Một hộp tho i đ c hi n ra để đ t tên cho project t i dòng project name.
Hình 3.28 Hộp thoại đặt tên project ModelSim
- Bước 2: Sau khi đ t tên project thì một hộp tho i khác đ c hi n ra để add các file.vhd
c n mô ph ng vào project đã t o
Hình 3.29 Hộp thoại add file cho project trong ModelSim
- Bước 3: Ti n hành hành add file Lowpass.vhd và file Lowpass_tb.vhd vào project.
Trong đó file Lowpass_tb.vhd là file mô ph ng.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 85
CH NG 3. TÍNH TOÁN VÀ THI T K
- Bước 4: Sau khi đã add file xong thì bắt đ u compile cho t t c các file bằng cách: b m
ch n t t c file → chuột ph i → compile → compile all. Khi nào hi n dòng thông báo
Compile of Lowpass_tb.vhd was successful (biên dịch file thành công) hi n ra nghĩa là
b n đã hoàn t t quá trình biên dịch.
Hình 3.30 Biên dịch file mô phỏng thành công
3.3.4 Th nghi m và ki m tra
- Tải cấu hình xuống FPGA:
Sau khi biên dịch ch ng trình đã h t l i, ta ti n hành kích chuột vào biểu t ng
Programmer trên thanh công cụ của ph n mềm Quartus II. Sau đó một b ng đ c hi n
ra là hình d ng chip b n đã thi t k . Tuy nhiên, lúc này ph n mềm v n ch a nh n bi t
đ c c ng USB Blaster của FPGA do đó ta c n ph i ch n: Hardware setup → ch n
USB Blaster[USB-0], rồi click Close đóng l i.
Sau đó b m start để bắt đ u quá trình t i xu ng c u hình cho FPGA
Hình 3.31 Quá trình tải cấu hình xuống FPGA
T i Progress chúng ta th y hi n 100% succesfull đồng nghĩa đã hoàn t t quá hình
t i xu ng c u hình cho FPGA.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 86
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
CH NG 4: K T QU - NH N XÉT - ĐÁNH GIÁ
4.1 K T QU
4.1.1 K t qu mô ph ng b l c trên Matlab
Để k t qu đ c khách quan và có s so sánh h n, nhóm xin đ a ra một vài tr ng
h p k t qu của từng bộ l c v i vi c thay đ i các thông s của tín hi u ECG hay của
nguồn sine hay có thể là t n s cắt của bộ l c:
* L c thông th p:
- Trường hợp 1: Các thông s nh sau:
+ Bộ l c thông th p: T n s l y m u: fs = 360Hz, t n s cắt fc = 30Hz.
+ Tín hi u ECG: T n s l y m u: fs = 360Hz, nhịp tim: 82bpm.
+ Sóng sine: T n s l y m u: fs = 360Hz, t n s : f = 60Hz, biên độ: A = 0.05
Trong môi tr ng simulink ta cho ch y mô ph ng và mở hiển thị Scope bằng cách
nháy đúp chuột vào kh i Scope. Ta đ c các d ng sóng:
Hình 4.1 Các dạng sóng của hệ thống bộ lọc thông thấp trường hợp 1
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 87
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
K t qu mô ph ng đ c hiển thị ở Scope v i d ng sóng thể hi n từ d i lên nh
sau:
+ Tín hi u ECG.
+ Tín hi u nhi u (sine l ng t ).
+ T ng của tín hi u ECG + nhi u (sine l ng t ).
+ Tín hi u ECG sau bộ l c.
- Trường hợp 2: ở tr ng h p này, chúng ta s thay đ i t n s sóng sine từ f = 60Hz
thành f = 150Hz, t t c các thông s còn l i gi nh tr ng h p 1. Trong môi tr ng
simulink, ta cho ch y mô ph ng đ c d ng sóng:
Hình 4.2 Các dạng sóng của hệ thống bộ lọc thông thấp trường hợp 2
- Trường hợp 3: ở tr ng h p này, chúng ta s thay đ i biên độ sóng sine từ A = 0.05
thành A = 0.8, t t c các thông s còn l i gi nh tr ng h p 1. Trong môi tr ng
simulink, ta cho ch y mô ph ng đ c d ng sóng:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 88
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
Hình 4.3 Các dạng sóng của hệ thống bộ lọc thông thấp trường hợp 3
- Trường hợp 4: ở tr ng h p này, chúng ta s thay đ i bộ l c thông th p v i t n s cắt
fc = 50Hz, t t c các thông s còn l i gi nh tr ng h p 1.
Hình 4.4 Các dạng sóng của hệ thống bộ lọc thông thấp trường hợp 4
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 89
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
* L c thông cao:
- Trường hợp 1: Các thông s nh sau:
+ Bộ l c thông cao: T n s l y m u: fs = 360Hz, t n s cắt fc = 11Hz.
+ Tín hi u ECG: T n s l y m u: fs = 360Hz, nhịp tim: 82bpm.
+ Sóng sine: T n s l y m u: fs = 360Hz, t n s : f = 0.4Hz, biên độ: A = 0.5
Hình 4.5 Các dạng sóng của hệ thống bộ lọc thông cao trường hợp 1
Trong môi tr ng simulink ta cho ch y mô ph ng và mở hiển thị Scope bằng cách
nháy đúp chuột vào kh i Scope. Ta đ c các d ng sóng:
K t qu mô ph ng đ c hiển thị ở Scope v i d ng sóng thể hi n từ d i lênlà:
+ Tín hi u ECG.
+ Tín hi u nhi u (sine l ng t ).
+ T ng của tín hi u ECG + nhi u (sine l ng t ).
+ Tín hi u ECG sau bộ l c.
- Trường hợp 2: ở tr ng h p này, chúng ta s thay đ i t n s sóng sine từ f = 0.4Hz
thành f = 0.015Hz, t t c các thông s còn l i gi nh tr ng h p 1.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 90
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
Hình 4.7 Các dạng sóng của hệ thống bộ lọc thông cao trường hợp 2
- Trường hợp 3: ở tr ng h p này, chúng ta s thay đ i biên độ sóng sine từ A = 0.5
thành A = 1.2, t t c các thông s còn l i gi nh tr ng h p 1.
Hình 4.6 Các dạng sóng của hệ thống bộ lọc thông cao trường hợp 3
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 91
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
- Trường hợp 4: ởtr ng h p này, chúng ta s thay đ i bộ l c thông cao v i t n s cắt
fc = 11Hz thành fc = 0.5Hz và thay đ i t n s sóng sine từ 0.4Hz thành 0.005Hz, t t c
các thông s còn l i gi nh tr ng h p 1.
Hình 4.8 Các dạng sóng của hệ thống bộ lọc thông cao trường hợp 4
* L c thông d i:
Vì bộ l c thông d i có thể đ c xây d ng trên các bộ l c thông th p. Cũng nh , bộ l c
thông d i có t n s cắt nằm trong kho ng fc1 đ n fc2. Nên vi c mô ph ng bộ l c nhi u
thông d i gi ng nh các tr ng h p của l c thông th p và thông cao. Vì th , chúng ta
chỉ xét một tr ng h p của bộ l c thông d i.
Để mô ph ng bộ l c nhi u thông d i tín hi u ECG, nhóm chúng tôi ch n các thông
s nh sau:
+ Bộ l c thông d i: T n s l y m u: fs = 360Hz, t n s cắt fc1 = 10Hz, fc2 = 40Hz.
+ Tín hi u ECG: T n s l y m u: fs = 360Hz, nhịp tim: 82bpm.
+ Sóng sine: T n s l y m u: fs = 360Hz, t n s : f = 0.4Hz, biên độ: A = 0.5
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 92
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
a. L c nhi u t n s cao
b. L c nhi u t n s th p
Hình 4.9 Các dạng sóng của hệ thống dùng bộ lọc thông dải
* B l c thông th p + nhi u ng u nhiên:
Tr c h t, chúng ta c n cài đ t các thông s :
+ Bộ l c thông th p và tín hi u ECG: nh ở mục bộ l c thông th p + sine.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 93
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
+ Nguồn ng u nhiên: Lo i nguồn (Source Type): Gaussian, ph ng pháp (Method):
Ziggurat, trung bình (Mean): 1, t n s l y m u (Simple time): 1/360
Hình 4.10 Dạng sóng của hệ lọc nhiễu ngẫu nhiên dùng lọc thông thấp lần 1
Ta th y d ng sóng ra ch a đ t yêu c u đề ra, có thể do s chênh l ch biên độ gi a
2 sóng không đáng kể nên khó để l c.C húng ta th thêm vào các bộ nhân để khu ch đ i
tín hi u vào nh hình sau:
Hình 4.11 Thiết lập mô phỏng lọc nhiễu ngẫu nhiên thông thấp ECG có khuếch đại
Ta khu ch đ i tín hi u ECG lên 20 l n và khu ch đ i nguồn nhi u ng u nhiên lên
0.5 l n. Ta đ c d ng sóng nh sau:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 94
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
Hình 4.12 Dạng sóng của hệ lọc nhiễu ngẫu nhiên dùng lọc thông thấp lần 2
L n này ta th y d ng sóng đ c c i thi n h n. Tuy nhiên, ta có thể tăng độ khu ch
đ i để kiểm tra mức độ bộ l c có thể l c đ c. Chúng ta s gi nguyên độ khu ch đ i
của tín hi u ECG và thay độ khu ch đ i của nguồn nhi u thành 1 l n. Ta đ c d ng
sóng nh sau:
Hình 4.13 Dạng sóng của hệ lọc nhiễu ngẫu nhiên dùng lọc thông thấp lần 3
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 95
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
Ta th y chỉ tăng bộ khu ch đ i lên 0.9 thì bộ l c đã không thể l c th c s t t n a.
* B l c thông cao + nhi u ng u nhiên:
Các thông s cài đ t nh sau:
+ Bộ l c thôngcao và tín hi u ECG: nh ở mục bộ l c thông cao (v i fc=5Hz)+ sine.
+ Nguồn ng u nhiên: Lo i nguồn (Source Type): Gaussian, ph ng pháp (Method):
Ziggurat, trung bình (Mean): 1, t n s l y m u (Simple time): 1/360
Và thêm kh i khu ch đ i tín hi u ECG lên 20 l n và khu ch đ i nguồn nhi u lên
0.5 l n.
Hình 4.14 Thiết lập mô phỏng lọc nhiễu ngẫu nhiên thông cao ECG có khuếch đại
Ta đ c d ng sóng:
Hình 4.15 Dạng sóng của hệ lọc nhiễu ngẫu nhiên dùng lọc thông thấp lần 1
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 96
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
Ti p theo chúng ta thay bộ khu ch đ i nhi u lên 0.75 l n để quan sát s thay đ i:
Hình 4.16 Dạng sóng của hệ lọc nhiễu ngẫu nhiên dùng lọc thông thấp lần 2
* B l c thông d i + nhi u ng u nhiên:
Các thông s cài đ t của bộ l c và ECG nh ở mục bộ l c thông d i + sine, còn
thông s nguồn nhi u thì gi ng ở l c thông th p và thông cao. Chúng ta thêm kh i
khu ch đ i tín hi u ECG lên 30 l n và khu ch đ i nguồn nhi u lên 0.5 l n.
Hình 4.17 Thiết lập mô phỏng lọc nhiễu ngẫu nhiên thông dải ECG có khuếch đại
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 97
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
Ta đ c d ng sóng:
Hình 4.18 Dạng sóng của hệ lọc nhiễu ngẫu nhiên dùng lọc thông dải lần 1
Ti p theo chúng ta thay bộ khu ch đ i nhi u lên 1 l n để quan sát s thay đ i:
Hình 4.19 Dạng sóng của hệ lọc nhiễu ngẫu nhiên dùng lọc thông dải lần 2
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 98
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
Nhận xét: Nhìn vào d ng sóng của tín hi u đ u ra so v i d ng sóng củatín
hi u đ u vào của bộ l c ta th y tín hi u đ u ra đáp ứng đ c sov iyêu
c u kỹ thu t đã đ c đề ra cho bộ l c khá t t. V y nên, thi t k này hoàn toàn có thể
đ a vào để hi n th c hoá trong FPGA.
4.1.2 K t qu d ng sóng mô ph ng trên ModelSim
Để ti n hành mô ph ng trên ModelSim, sau khi hoàn thành 4 b c ở mục 3.3.3,
chúng ta chuyển sang ch độ library d i góc màn hình: click vàowork → lowpass_tb.
Trình mô ph ng đ c hi n ra. Ch n h t t t c cácObjects → click chu t ph i → Add
→ To wave → Selected signals. Hộp tho i mô ph ngs hi n ra, sau đó ta ch n simulate
→ Run → Run all. Ta s đ c hình d ng các d ng sóng nh hình:
Hình 4.20 Dạng sóng mô phỏng trên ModelSim
4.2 NH N XÉT – ĐÁNH GIÁ
Nhóm đã hoàn thành vi c thi t k và mô ph ng các bộ l c cho tín hi u đi n tim
trên Matlab và chuyển sang mã VHDL để th c thi trên FPGA. Tuy nhiên, khi thi t k
nhóm g p không ít khó khăn trong vi c thi t k bộ l c nhi u cho tín hi u ECG bị nhi u
bởi nhi u ng u nhiên. Nh s h tr của th y, nhóm đã có thể thi t k bộ l c thông th p,
thông cao và thông d i cho tín hi u ECG bị nh h ởng bởi nh ng tín hi u nhi u b t kỳ.
Nh v y, sau h n 15 tu n tìm hiểu tài li u chuyên môn, tài li u trên Internet cùng
v i s giúp đỡ t n tình của th y h ng d n, nhóm th c hi n đề tài: “THI T K VÀ
THI CÔNG B L C NHI U TÍN HI U ĐI N TIM DÙNG CÔNG NGH
FPGA” đã hoàn thành xong một s chỉ tiêu đ t ra trong th i gian quy định v i nh ng
nội dung sau:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 99
CH NG 4. K T QU -NH N XÉT-ĐÁNH GIÁ
+ Nắm đ c ki n thức về tín hi u đi n tim ECG, các bộ l c thông th p, thông cao và
thông d i.
+ Nắm đ c ki n thức về thi t k cũng nh mô ph ng các bộ l c trên Matlab và cách
thức chuyển đ i thi t k bộ l c từ Matlab sang mã VHDL để th c thi trên kit
FPGA.
+ Nắm đ c ki n thức c b n về kit FPGA DE2–115 Altera và có thể l p trình cũng
nh th c thi bộ l c trên kit.
+ H th ng l c nhi u cho tín hi u ECG ho t động khá n định, cho tín hi u ra g n
đúng v i tín hi u ban đ u.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 100
CH NG 5. K T LU N VÀ H NG PHÁT TRIỂN
CH NG 5: K T LU N VÀ H NG PHÁT TRI N
5.1 K T LU N
Sau th i gian nghiên cứu, tìm hiểu v i s giúp đỡ của th y Nguy n Thanh Nghĩa,
nhóm đã hoàn thành vi c thi t k và mô ph ng bộ l c nhi u tín hi u đi n tim thông qua
các bộ l c thông th p, thông cao và thông d i và đã xu t đ c mã VHDL. Các bộ l c khi
n p vào FPGA trong th i gian dài và không phát sinh l i khi ho t động. Tuy nhiên, do th i
gian có h n, nhóm v n ch a kịp hoàn thành vi c k t n i th c t các ph n cứng. D i đây
là đánh giá chung về u – nh c điểm của h th ng:
- u điểm của h th ng:
+ Tín hi u đ u ra t ng đ i chu n xác.
- Nh c điểm của h th ng:
+ Quá trình x lý phức t p.
+ Chi phí khá đắt.
5.2 H NG PHÁT TRI N
Trong đề tài này, nhóm đã th c hi n thi t k và mô ph ng bộ l c nhi u tín hi u đi n
tim ECG dùng công ngh Matlab và xu t mã VHDL. Để phát triển đề tài thêm n a, nhóm
xin đề xu t các ý t ởng sau:
+ Ti p tục nghiên cứu các gi i pháp ph n cứng và ph ng pháp x lí tín hi u đi n m i
để đ a ra đ c h đo t i u.
+ L c nhi u các tín hi u khác bằng công ngh FPGA ví dụ nh tín hi u đi n não để s
dụng trong lĩnh v c y sinh – y t .
+ Giám sát và qu n lý tín hi u ECG sau khi đ c thu th p và l c nhi u bằng công ngh
FPGA qua Internet.
+ Thu th p và l c nhi u tín hi u ECG và l c nhi u bằng FPGA bằng ph ng thức truyền
không dây.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 101
TÀI LI U THAM KH O
TÀI LI U THAM KH O
[1] Vũ Thị Hồng Xiêm, Công nghệ xử lý tín hiệu số DSP và công nghệ FPGA, Khóa
lu n t t nghi p, tr ng ĐH S ph m Hà Nội 2, Hà Nội, 2010.
[2] Nguy n Văn Thông, Thử nghiệm thiết kế dao động ký số trên FPGA, Khóa lu n
t t nghi p, tr ng ĐH Công ngh , Hà Nội, 2008.
[3] Tr n Thanh S n, Thiết kế bộ lọc tín hiệu số trên công nghệ FPGA với công cụ
Matlab và EDA của XILINX, Lu n văn Th c sỹ Kỹ thu t, H c vi n Kỹ thu t Quân
s , Hà Nội, 2008.
[4] Nguy n Qu c Tu n, Tr n Quang Đ t, Thiết kế trên FPGA để loại ồn cho tín hiệu
ECG nhờ biến đổi sóng con, T p chí Khoa h c ĐHQGHN, Tr ng Đ i h c Công
ngh ĐHQGHN, Hà Nội, 2008.
[5] Bùi Công Quân, Thiết kế bộ lọc số trên dsPIC ứng dụng trong việc xử lý điện tâm
đồ, Khóa lu n T t nghi p, tr ng ĐH Công Ngh , Hà Nội, 2013.
[6] Bộ môn đi n t công nghi p – y sinh, Tài liệu thực hành xử lý tín hiệu y sinh,
Tr ng Đ i h c S ph m Kỹ thu t, Tp HCM, 2018.
[7] Bộ môn đi n t công nghi p – y sinh, Biomedical Signal Processing, Tr ng Đ i
h c S ph m Kỹ thu t, Tp HCM, 2018.
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 102
PH L C
PH L C
Code ch ng trình chính:
Code ch ng trình con b l c thông th p:
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 103
PH L C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 104
PH L C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 105
PH L C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 106
PH L C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 107
PH L C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 108
PH L C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 109
PH L C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 110
PH L C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 111
PH L C
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 112
PH L C
Code ch ng trình con b t o nhi u (counter):
B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 113
Powered by TCPDF (www.tcpdf.org)
Các file đính kèm theo tài liệu này:
- do_an_thiet_ke_mo_phong_bo_loc_nhieu_tin_hieu_dien_tim_dung.pdf