You are on page 1of 126

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 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

Tu n 1 Tìm ý t ởng cho đề tài, xây d 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 Xây d ng và phân tích s đồ kh i 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 IC 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 CL 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 Vi x 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 đ ct im ic p
2 điểm này đ c g i là một đ o trình của tín hi u đi n tim đồ. Biên độ và d ng sóng của
tín hi u ECG phụ thuộc vào c p đi n c c đ c đ t ở đâu trên bề m t da của b nh nhân.
2.1.2 C u trúc gi i ph u và ch c năng c a tim

Hình 2.1 Cấu tạo tim người


Tim là một t chức c r ng gồm 4 buồng. Bên ngoài đ c bao b c bởi một túi s i
g i là bao tim, bên trong đ c c u t o bằng c tim có vách ngăn chia tim thành hai n a

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 4


CH NG 2. C S LÝ THUY T

riêng bi t g i là tim trái và tim ph i. Tim trái b m máu ra ngo i vi, còn tim ph i b m
máu lên ph i. M i n a tim l i đ c chia ra thành hai buồng, buồng trên là tâm nhĩ có
thành m ng làm nhi m vụ chứa máu, buồng d i là tâm th t có thành dày, kh i c l n
giúp cung c p l c đ y máu đi đ n các bộ ph n. Gi a tâm nhĩ và tâm th t có van nhĩ th t,
gi a tâm th t trái và động m ch chủ, tâm th t ph i và động m ch ph i có van bán nguy t.
Các van này đ m b o cho máu chỉ di chuyển theo một chiều từ tâm nhĩ xu ng tâm th t,
từ tâm th t xu ng động m ch chứ không cho đi ng c l i, nh v y đ m b o đ cs
tu n hoàn máu.
Ngoài ra, tim còn có một c u trúc đ c bi t th c hi n chức năng phát và d n
truyền xung đ c g i là h d n truyền. H th ng d n truyền gồm:
+ Nút xoang nhĩ (SAN): là nút t o nhịp cho toàn bộ trái tim, nằm ở c tâm nhĩ
ph i, phát xung v i t n s kho ng 120 l n/phút.
+ Các đ ng liên nút: nằm ở gi a nút xoang nhĩ và nút nhĩ th t, th c hi n chức
năng d n truyền các xung động gi a nút xoang nhĩ và nút nhĩ th t.
+ Nút nhĩ th t (AVN): nằm ở bên ph i vách liên nhĩ, gi nhi m vụ làm ch m d n
truyền tr c khi các xung động đ c truyền xu ng th t v i t n s kho ng 50-60
l n/phút.
+ Bó His: bắt đ u từ nút nhĩ th t đ n vách liên th t thì chia thành hai nhánh trái và
ph i ch y d i nội tâm m c hai th t để d n truyền xung động đ n hai th t, t i đây,
chúng phân nhánh thành m ng l i Purkinje ch y gi a các s i c tim giúp d n
truyền xung động xuyên qua các thành của th t. Bó His phát xung kho ng 30-40
l n/phút.

Hình 2.2 Hệ thống dẫn truyền tim

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 5


CH NG 2. C S LÝ THUY T

2.1.3 Nh p tim
Nhịp tim là s nhịp đ p của tim trên một đ n vị th i gian, th ng đ c tính bằng
s nhịp/phút. Nhịp tim có thể thay đ i theo nhu c u h p thụ Oxi và bài ti t CO2 của c
thể, ví dụ nh lúc t p thể dục và lúc ngủ.
Tim là t chức c r ng, t i đó s co bóp một cách tu n t các c s t o ra áp l c
đ y máu đi qua các bộ ph n khác nhau trên c thể. M i nhịp tim đ c kích thích bởi
xung đi n từ các t bào nút xoang t i tâm nhĩ. Các xung đi n truyền đ n các bộ ph n
khác của tim và làm cho tim co bóp. Vi c ghi tín hi u đi n tim là ghi l i các tín hi u
đi n này (tín hi u ECG).
2.1.4 Các quá trình đi n h c c a tim
Năng l ng chuyển hóa đ c s dụng để t o ra môi tr ng trong giàu Kali nh ng
ít Natri so v i thành ph n ngo i bào Natri cao và Kali th p. Do có s không cân bằng
tồn t i đi n th tĩnh trên màng t bào, bên trong chừng 90mV so v i bên ngoài. Khi t
bào bị kích thích (bằng cách cho dòng đi n v n làm tăng t m th i th ngang màng), các
tính ch t của màng thay đ i theo chu trình, pha thứ nh t của nó là độ th m m nh đ i v i
Natri, dòng Natri l n (s m) ch y vào trong do các gradient khu ch tán và đi n.
Dòng ch y t o ra dòng đi n. Trong khi di chuyển ti p, t bào về c b n có tính
ch t nh nguồn l ỡng c c đi n. Dòng Natri chuyển ti p này chịu trách nhi m về dòng
m ch đi n nội t i và là một ph n của dòng đi n đó. Theo cách này, ho t động mở rộng
ti p t i các t bào lân c n. Khi màng hồi phục (trở về các tính ch t nghỉ), th tác động
của t bào k t thúc và nó trở l i tr ng thái nghỉ và có kh năng đ c tái kích thích. Nói
một cách ngắn g n khi có dòng Natri, Kali ch y qua màng tim thì có đi n th đ c sinh
ra.
2.1.5 Quá trình hình thành tín hi u đi n tim
2.1.5.1 Nhƿ đ
Tim ho t động đ c nh vào một xung động truyền qua một h th ng th n
kinh t kích của tim. Đ u tiên, nút xoang nhĩ s phát xung t động, xung động t a
ra làm c nhĩ kh c c tr c. Sóng kh c c có h ng chung là từ trên xu ng d i,
từ ph i sang trái và h p v i ph ng ngang một góc 490. Đ t sóng này đ c máy
ghi đi n tim ghi l i v i d ng một sóng d ng, đ n, th p, nh và có biên độ kho ng
0,25mV g i là sóng P (hình 2.3)

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 6


CH NG 2. C S LÝ THUY T

Hình 2.3 Khử cực tâm nhĩ và sự hình thành sóng P

2.1.5.2 Th t đ
Ngay khi nhĩ còn đang kh c c thì xung động đã bắt đ u truyền vào nút nhĩ
th t xu ng th t và hai nhánh bó His xu ng kh c c th t. Sóng kh c c h ng từ
gi a m t trái đi xuyên qua m t ph i của vách liên th t. Máy s ghi nh n đ c một
sóng âm nh , g n g i là sóng Q (hình 2.4).

Hình 2.4 Khử cực vách liên thất và sự hình thành sóng Q
Xung ti p tục truyền xu ng và ti n hành kh c c đồng th i c hai tâm th t theo
h ng xuyên qua bề m t dày c tim, từ d i nội tâm m c ra d i th ng tâm m c. Véc-
t kh c c h ng từ ph i sang trái và máy ghi nh n đ c một làn sóng d ng, cao và
nh n g i là sóng R. Sau cùng, xung động truyền xu ng và kh c c vùng đáy th t. Véc-
t kh c c h ng từ trái sang ph i, máy s ghi nh n đ c một sóng âm, nh và nh n

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 7


CH NG 2. C S LÝ THUY T

g i là sóng S (hình 2.5).

Hình 2.5 Khử cực ở tâm thất và sự hình thành sóng R, S

Hình 2.6 Tái cực tâm thất và sự hình thành sóng T
Sau khi th t kh c c xong s qua th i kỳ tái c c ch m. Giai đo n này đ c thể
hi n trên đi n tâm đồ bằng một đ ng đẳng đi n g i là đo n S – T (hình 2.6). Sau đó là
th i kỳ tái c c nhanh t o nên sóng T. Tái c c có h ng xuyên qua c tim, từ l p d i
th ng tâm m c vào l p d i nội tâm m c. Véc-t tái c c có h ng từ trên xu ng d i
và từ ph i sang trái t o ra một sóng d ng, th p, không đ i xứng mà có s n lên thoai

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 8


CH NG 2. C S LÝ THUY T

tho i h n và s n xu ng d c đứng h n g i là sóng T. Sau khi k t thúc sóng T còn có


thể th y đ c một sóng ch m nh g i là sóng U đ c tr ng cho giai đo n tái c c muộn.
2.1.6 S hình thành các d ng sóng c a tim
2.1.6.1 Tính d n truy n
Tim là một kh i c r ng gồm 4 buồng, dày m ng không đều nhau, c u trúc phức
t p làm cho tín hi u đi n của tim phát ra th c ch t là t ng h p của các s i c tim, phức
t p h n của một t bào hay một s i c .
Nút SA là một chùm nh t bào (kho ng 3x10 mm) nằm ở cu i thành của tâm nhĩ,
ngay d i điểm gắn vào của tĩnh m ch trên (đóng vai trò khởi phát). Nó cung c p tín
hi u kích thích truyền xung ra c nhĩ làm cho nhĩ kh c c, nhĩ bóp tr c đ y máu xu ng
th t. V n t c truyền đ i v i th động năng của nút SA là kho ng 30cm/s trong mô tâm
nhĩ. Sau đó nút nhĩ th t Tawara (AV node: Aschoff - Tawara node) nh ti p nh n xung
động s truyền qua bó His. Có một bộ dãy mô chuyên bi t nằm gi a nút SA và AV, ở
đó v n t c truyền nhanh h n v n t c trong mô tâm nhĩ kho ng 51cm/s, con đ ng truyền
d n bên trong này mang tín hi u đ n các tâm th t. Do tâm th t ph i ho t động đáp ứng
l i một động năng tr c khi tâm nhĩ r ng nên ở mức động năng 45cm/s s đ t đ n nút
AV trong kho ng 30 đ n 50ms sau khi phóng từ nút SA. Sau đó nút AV ho t động gi ng
nh một gi i h n hoãn nhằm làm ch m l i ph n đ n tr c của th động năng cùng v i
h th ng d n đi n bên trong h ng đ n các tâm th t.
Xung truyền qua hai nhánh c tâm th t nh m ng l i Purkinje và làm kh c c
tâm th t. Lúc này th t đã đ y máu s bóp m nh và đ y máu ra ngoài. Tính d n đ ng
các s i Purkinje r t nhanh. Th động năng ch y qua kho ng cách gi a các nút SA và
AV là kho ng 40ms và bị làm ch m l i bởi nút AV kho ng 100ms sao cho kích ho t các
ngăn d i có thể đồng bộ v i ph n tr ng của các ngăn trên. Vi c d n vào các chùm
nhánh thì khá nhanh gi định cho 60ms khác v n đ n các s i Purkinje xa nh t.
2.1.6.2 Tính tr và các th i kì tr
Tính ch t chính của t bào c (phụ trách truyền d n) liên quan đ n s hình thành
chứng lo n nhịp là s tr (không ph n ứng) đ i v i kích thích trong một giai đo n xác
định nào đó. Kho ng th i gian này đ c g i là chu kì tr .
Trong su t chu kì tr , các t bào tái c c. M t độ ion K+, Na+ bên trong và c bên
ngoài thay đ i do các ion trên di chuyển qua màng t bào để t o đi n th nghỉ.

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 9


CH NG 2. C S LÝ THUY T

Chu kì trơ có thể chia làm hai phần:


+ Giai đo n đ u ngay l p tức theo sau giai đo n kh c c, t bào hoàn toàn không
ph n ứng l i v i kích thích bên ngoài và đ c g i là giai đo n tr tuy t đ i (ARP
- Absolute Refractory Period).
+ Giai đo n sau là giai đo n s kh c c có thể th c hi n đ c m c dù đi n th t ng
đ i khá nh nên xung không đủ lan ra các t bào bên c nh. Trong giai đo n này, t
bào đ c g i là tr t ng đ i (RRP - Relative Refractory Period).
2.1.6.3 Đi n tr ng c a tim
S lan truyền xung trong tim và ở môi tr ng trung gian từ tim đ n da cũng nh
hình d ng bề m t c thể.
Xét phân b đi n th : Gi s c thể là môi tr ng d n đi n và đi n môi không
đồng nh t. Đi n th s tăng trong các mô d n truyền của c tim trong lúc kh c c và tái
c c. S phân b đi n th có thể đ c xem t ng đ ng v i s phân b đi n tr ng.
Theo tính ch t của đi n tr ng, m i điểm của c thể có một véc-t m t độ dòng đi n.
Tim nằm trong một ch t không đồng nh t l n vô h n có cùng độ d n truyền. Trong
tr ng h p ch t trung gian có gi i h n, các điểm trên bề m t có véc-t m t độ dòng đi n
khác nhau nên xem nh c u trúc của tim là một dipole. Giá trị tức th i mô-men đi n (E)
trong một chu kỳ làm vi c của tim t o một đ ng cong không gian phức t p khép kín.
Lúc đó đi n tr ng của tim đ c biểu di n bằng nh ng đ ng đẳng áp.
Vì th đi n th tim có thể đo gián ti p nh các đi n c c đ t lên nh ng điểm xác
định trên bề m t c thể. N u nh ta đ t tim vào trong một h t a độ vuông góc ba chiều
thì hình chi u đ ng cong của không gian này lên c ba m t phẳng đều có d ng ba
đ ng cong có tên là P, QRS, T. Véc-t t o đ ng cong trên m t phẳng chính di n này
bằng chính véc-t đi n tim. Ph ng pháp này đ c g i là đi n tim đồ.
2.1.7 Các thành ph n c a tín hi u đi n tim ECG

Hình 2.5 Dạng sóng tín hiệu điện tim


Trong hình 2.5 là tín hi u ECG gồm các thành ph n:

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 10


CH NG 2. C S LÝ THUY T

• Sóng P: thể hi n quá trình kh c c ở tâm nhĩ trái và ph i, sóng P có d ng một


đ ng cong đi n th d ng, kéo dài kho ng 0.06 đ n 0.1 giây.
• Đoạn PR: là đo n từ điểm bắt đ u sóng P đ n tr c điểm bắt đ u phức QRS. Nó
bao gồm th i gian kh c c tâm nhĩ và d n đ n nút AV. Đo n PR kéo dài kho ng 0.12
đ n 0.2 giây.
• Phức QRS: thể hi n quá trình kh c c tâm th t, kéo dài kho ng 0.04 đ n 0.1 giây.
Phức QRS chia ra ba tr ng thái là Q, R và S.
• Đoạn ST: từ lúc k t thúc quá trình kh c c tâm th t đ n tr c qua trình tái phân
c c. Điểm bắt đ u g i là điểm J, điểm k t thúc g i là điểm ST.
• Sóng T: thể hi n quá trình tái phân c c tâm th t. Vì quá trình này có t c độ ch m
h n kh c c nên sóng T rộng và có độ d c th p.
• Sóng U: hi n nay nguồn g c hình thành sóng này ch a đ c xác định rõ ràng vì
th ít đ c đề c p t i.
M i thành ph n này có đ c tr ng riêng, đáp ứng riêng nh ng có chung đ c điểm
đều là các hi n t ng đi n sinh v t. Hi n t ng đi n sinh v t là quá trình hoá lý, hoá
sinh phức t p x y ra bên trong và ngoài màng t bào.
- Nhƿ đ :
Xung động đi từ nút xoang (ở nhĩ ph i) s t a ra làm kh c c c nhĩ v i h ng
chung là từ trên xu ng d i và từ ph i sang trái. Nh v y véc-t kh c c nhĩ s có
h ng từ trên xu ng d i và từ ph i sang trái, t o v i đ ng ngang một góc +49 0 và
còn g i là trục đi n nhĩ, t o đ c một làn sóng d ng th p, nh v i th i gian kho ng từ
0,05s → 0,1s g i là sóng P. Do đó, trục đi n nhĩ l i còn có tên g i là trục sóng P.
Khi nhĩ tái c c, nó có phát ra dòng đi n ghi lên máy bằng một sóng âm nh g i là
sóng Ta (auricular T). Ngay lúc này cũng xu t hi n kh c c th t (QRS) v i đi n th
m nh h n nhiều nên trên đi n tim đồ thông th ng ta không nhìn th y đ c sóng Ta
n a. Tóm l i, nhĩ đồ có nghĩa là s ho t động của nhĩ chỉ thể hi n lên đi n tim bằng một
làn sóng chính là sóng P [1].
- Th t đ :
• Khử cực: X y ra ngay khi nhĩ đang còn kh c c rồi bắt vào nút nhĩ-th t rồi truyền
qua th t và hai nhánh bó His xu ng kh c c th t. Vi c kh c c này bắt đ u từ ph n gi a
m t trái vách liên th t xuyên sang m t ph i vách này, t o ra một véc-t kh c c đ u tiên

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 11


CH NG 2. C S LÝ THUY T

h ng từ trái sang ph i, t o ra một làn sóng âm nh , nh n, g i là sóng Q.


Xung truyền xu ng và ti n hành kh c c đồng th i c hai tâm th t theo h ng
xuyên qua bề m t dày c tim, từ l p d i nội tâm m c ra d i th ng tâm m c. Lúc này
véc-t kh c c h ng nhiều về bên trái h n vì th t trái dày h n vì tim nằm nghiêng
h ng trục gi i ph u về bên trái. Véc-t kh c c lúc này h ng từ ph i sang trái và máy
ghi đ c một làn sóng d ng cao, nh n, g i là sóng R.
Sau đó, kh c c vùng đáy th t l i h ng từ trái sang ph i, t o một véc-t h ng
từ trái sang ph i: ghi đ c một làn sóng âm, nh , nh n, g i là sóng S.
Tóm l i, kh c c th t bao gồm ba làn sóng cao, nh n Q, R, S bi n thiên phức t p
nên đ c g i là phức bộ QRS (QRS complex). Vì nó có sức đi n động t ng đ i l n l i
bi n thiên nhanh trong một th i gian ngắn (chỉ kho ng 0.07s) nên còn g i là phức bộ
nhanh, c n chú ý là trong phức bộ nhanh, sóng chính l n nh t là sóng R.
N u ta đem t ng h p 3 véc-t kh c c Q, R, S ở trên l i, ta s đ c một véc-t
kh c c trung bình có h ng từ trên xu ng d i và từ ph i sang trái, t o v i đ ng
ngang một góc kho ng 85°, véc-t đó còn đ c g i là trục đi n trung bình của tim, hay
g i tắt là trục đi n tim, trục QRS.
• Tái cực: Th t kh c c xong s qua th i kỳ tái c c ch m, thể hi n trên đi n tâm
đồ bằng một đo n thẳng đồng đi n g i là đo n ST, sau đó đ n th i kỳ tái c c nhanh.
Tái c c có h ng xuyên qua c tim, từ l p d i th ng tâm m c vào l p d i nội
tâm m c. Tái c c ng c chiều v i kh c c do nó ti n hành đúng vào lúc tim co bóp v i
c ng độ m nh nh t, làm cho l p c tim d i nội tâm m c bị l p ngoài nén quá m nh
nên tái c c muộn đi. Trái v i kh c c, tái c c ti n hành từ vùng đi n d ng t i vùng
đi n âm. Véc-t tái c c h ng từ trên xu ng d i và từ ph i sang trái làm phát sinh một
làn sóng d ng th p g i là sóng T [1].
Sóng T không đ i xứng, mà có s n lên tho i h n và s n xu ng d c đứng h n.
Th i gian của nó r t dài nên nó đ c g i là sóng ch m. Sau khi T k t thúc, có thể còn
th y một sóng ch m nh g i là sóng U. Ng i ta cho rằng sóng U là một giai đo n muộn
của tái c c, vì th trong nhiều tr ng h p không xét đ n.
Tóm l i, th t đồ có thể đ c chia làm hai giai đo n:
+ Giai đo n kh c c, bao gồm phức bộ QRS và còn đ c g i là pha đ u.
+ Giai đo n tái c c, bao gồm ST và T (và c sóng U), đ c g i là pha cu i.

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 12


CH NG 2. C S LÝ THUY T

2.1.8 Các d i t n trong tín hi u đi n tim ECG


D ng sóng ECG là một trong nh ng d ng sóng quan tr ng nh t khi theo dõi b nh
nhân. Các thi t bị khác nhau s theo dõi các đ o trình đi n tim khác nhau. Máy đi n tim
chuyên dụng có thể theo dõi đ y đủ 12 đ o trình. Máy thông th ng n u s dụng 3 đi n
c c thì theo dõi đ c 3 đ o trình, dùng 5 đi n c c thì theo dõi đ c 7 đ o trình.
Ph t n s của tín hi u đi n tim chu n nằm từ 0,05Hz đ n 100Hz, tuy nhiên tùy
từng ứng dụng mà ng i ta quan tâm đ n từng d i ph nh t định. Đa s b nh t t liên
quan đ n tim m ch để có đủ thông tin cho ch n đoán của bác sĩ thì vùng ph th ng từ
0,5Hz đ n 80Hz, một vài b nh c c kỳ đ c bi t thì nằm ở vùng ph đ n 100Hz và cao
h n.
Xét các kho ng t n s cụ thể trong bi n thiên nhịp tim:
+ Độ l n bi n thiên nhịp tim ở dãy t n s cao (HF), nằm trong kho ng 0.15 – 0.4 Hz,
độ dài chu kỳ 2.5 – 6 giây. Biểu hi n ho t động th n kinh đ i giao c m trong điều
hoà hô h p.
+ Độ l n bi n thiên nhịp tim ở dãy t n s th p (LF), nằm trong kho ng 0.04 – 0.15
Hz, độ dài chu kỳ > 6 giây. Biểu hi n ho t động th n kinh giao c m và th n kinh
đ i giao c m. Tuy v y, khi tăng LF, ng i ta th ng th y s thay đ i ho t tính
giao c m. Vùng này cũng biểu hi n k t qu tác động của ph n x thụ thể áp l c và
quá trình điều hoà huy t áp.
+ Độ l n bi n thiên nhịp tim ở dãy t n s r t th p (VLF), nằm trong kho ng 0.003 –
0.04 Hz, độ dài chu kỳ > 25 giây. Vùng này biểu hi n c ch điều hoà của th n
kinh giao c m và th n kinh đ i giao c m lên quá trình điều hoà thân nhi t.
+ Độ l n bi n thiên nhịp tim ở dãy t n s c c th p (ULF), nằm trong kho ng 0- 0.003
Hz, độ dài chu kỳ > 5 gi . Vùng này biểu hi n mức tiêu thụ oxy trong ho t động
thể l c.
- T ng độ l n bi n thiên nhịp tim trên các d i t n s (TF), từ 0 – 0.4Hz. Đáp ứng t n s
của th n kinh đ i giao c m biểu thị trên c d i rộng t n s trong khi th n kinh giao c m
biểu thị ở vùng t n s th p d i 0.15Hz.
Trong vùng t n s tín hi u đi n tim thu đ c bị nh h ởng bởi r t nhiều lo i nhi u
nh nhi u nguồn đi n 50Hz từ m ng đi n công, nhi u t n s cao do các rung động của
c bắp, nhi u t n s th p gây trôi tín hi u do nhịp thở, nhi u do ti p xúc không t t gi a

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 13


CH NG 2. C S LÝ THUY T

b nh nhân và đi n c c, …
2.1.9 Các ph ng pháp đo tín hi u ECG
2.1.9.1 Ph ng pháp Oscillometric
Ph ng pháp này th ng ph i đo nhịp tim chung v i huy t áp. D a trên c m bi n
áp su t gắn vào bắp tay ng i c n đo (n i có động m ch ch y qua), d a vào s thay đ i
l ul ng máu ch y qua động m ch thu đ c tín hi u đi n. Tín hi u đi n thu đ c từ
c m bi n áp su t thay đ i đồng bộ v i tín hi u nhịp tim. Chu kỳ thay đ i của tín hi u
này bằng đúng chu kỳ tín hi u nhịp tim. Từ đó thu đ c tín hi u đi n tim.

Hình 2.6 Máy đó huyết áp kỹ thuật số sử dụng Oscillometric


2.1.9.2 Ph ng pháp đi n tim đ
Chính vì c u trúc đ c tr ng và các đ c điểm của tim mà đi n th tim có thể đo gián
ti p nh các đi n c c đ t lên nh ng điểm xác định trên bề m t c thể. N u nh ta đ t
tim vào trong một h t a độ vuông góc ba chiều thì hình chi u đ ng cong của không
gian này lên c ba m t phẳng đều có d ng ba đ ng cong có tên là P, QRS, T (và có thể
có sóng U). Véc-t t o đ ng cong trên m t phẳng chính di n này bằng chính véc-t
đi n tim. Các tín hi u thu đ c từ các đi n c c s đ c x lý và hiển thị trên máy đo
đi n tim.

Hình 2.7 Thu thập tín hiệu ECG từ các điện cực

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 14


CH NG 2. C S LÝ THUY T

2.1.9.3 Ph ng pháp h p th quang h c


Khi tim đ p, máu s đ c đ y đi khắp c thể qua động m ch, t o ra s thay đ i về
áp su t trên thành động m ch và l ng máu ch y qua động m ch. Vì v y, ta có thể đo
nhịp tim bằng cách đo nh ng s thay đ i đó.
Khi l ng máu trong thành động m ch thay đ i s làm thay đ i mức độ h p thụ
ánh sáng của động m ch, do đó khi một tia sáng đ c truyền qua động m ch thì c ng
độ ánh sáng sau khi truyền qua s bi n thiên đồng bộ v i nhịp tim.
Khi tim giãn ra, l ng máu qua động m ch nh nên h p thụ ít ánh sáng, ánh sáng
sau khi truyền qua động m ch có c ng độ l n. Ng c l i khi tim co vào, l ng máu
qua động m ch l n h n, ánh sáng sau khi truyền qua động m ch s có c ng độ nh
h n.
Ánh sáng sau khi truyền qua ngón tay gồm 2 thành ph n AC và DC:
+ Thành ph n DC đ c tr ng cho c ng độ ánh sáng c định truyền qua mô, x ng
và tĩnh m ch.
+ Thành ph n AC đ c tr ng cho c ng độ ánh sáng thay đ i khi l ng máu thay đ i
truyền qua động m ch, t n s của tín hi u này đồng bộ v i t n s nhịp tim.
⇒ V y n u ta l c b thành ph n DC s thu đ c tín hi u AC đồng bộ v i tín hi u nhịp
tim. Trong ba ph ng pháp này thì đo nhịp tim bằng ph ng pháp h p thụ quang ph
bi n h n vì nguyên lý d hiểu, d th c hi n và k t qu t ng đ i chính xác.
2.1.10 Các lo i nhi u tác đ ng đ n tín hi u đi n tim
Tín hi u đi n tim là d ng tín hi u có biên độ nh nên r t d bị nh h ởng bởi các
lo i nhi u khác nhau. Có thể kể đ n các lo i nhi u nh : nhi u từ m ng cung c p đi n,
nhi u sóng c do b nh nhân m t bình tĩnh khi đo gây ra, nhi u do ti p xúc không t t
gi a đi n c c và b nh nhân, nhi u do tồn t i 2 nguồn t o tín hi u đi n tim trong cùng
một c thể nh ghép tim ho c mang thai, nhi u t n s cao do các rung động của c bắp,
nhi u t n s th p gây trôi tín hi u do nhịp thở…Tuy nhiên qua kh o sát và th c nghi m
ng i ta th y rằng l c nhi u từ m ng đi n công nghi p là c n thi t nh t vì tính ph bi n
cũng nh khó kiểm soát của nó. Các lo i nhi u còn l i có d i t n n định nên có thể l c
b bằng các bộ l c c định. D i đây chỉ xin gi i thi u một vài lo i nhi u th ng g p
trong y t :
* Nhi u do ti p xúc kém gi a đi n c c và b nh nhân:

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 15


CH NG 2. C S LÝ THUY T

Nguyên nhân của lo i nhi u này chủ y u là do ti p xúc kém gi a đi n c c và da.


Bề m t của da r t gồ ghề, l p biểu bì có c các t bào ch t, bụi b m…Bên c nh đó, mồ
hôi luôn đ c ti t ra ngoài theo l chân lông, mà lông m c từ d i da, mang theo các
ion t o nên đi n th ti p xúc. L p ti p xúc mang đi n th này nh h ởng đ n các đi n
th thu đ c trong tín hi u đi n tim gây ra nhi u.
* Nhi u do run c :
Khi đo đi n tâm đồ b nh nhân lo s , căng thẳng s gây run c t o nên nhi u sóng
c . Lo i nhi u này có d i t n từ 20Hz - 30Hz nên có thể l c b bằng bộ l c chắn d i.
* Nhi u t n s 50Hz t m ng đi n công nghi p:
- Các đặc tính của nhiễu tần số 50Hz:
Thông tin có ích luôn nằm ở d i t n th p từ 0.05Hz – 100Hz, trong khi m ng đi n
công nghi p có t n s 50Hz vì th tín hi u ECG luôn bị tác động bởi tín hi u có t n s
50Hz từ m ng đi n công nghi p.
Lo i nhi u này r t hay g p vì m ng đi n công nghi p luôn có m t ở khắp các b nh
vi n, phòng khám…tác động tr c ti p lên máy đo đi n tim.
- Tác hại của nhiễu tần số 50Hz:
Nhi u do dòng đi n xoay chiều của m ng đi n công nghi p có t n s 50Hz (có một
s qu c gia khác là 60Hz) th ng là nhi u trắng. Lo i nhi u này tác động tr c ti p gây
sai l ch tín hi u đi n tim.
Gi ng nh các lo i nhi u khác, nhi u từ m ng đi n công nghi p gây sai l ch nhiều
cho tín hi u đi n tim và ngoài ra còn r t d g p ở m i n i nên c n ph i x lý tri t để.
Lo i nhi u này gây ra nh ng tác h i nh sau: làm sai l ch chu kỳ, t n s của tín
hi u khi n cho vi c ch n đoán b nh g p ít nhiều khó khăn. Làm sai l ch d ng sóng của
phức QRS – một trong nh ng d ng sóng quan tr ng của ECG. Ngoài ra khi bị nhi u,
d ng sóng tái c c T của ECG s bị sai, nh h ởng l n đ n vi c xác định các đ o trình
ECG, từ đó gây sai l ch toàn bộ tín hi u.
Xét các ví dụ trong chuẩn đoán bệnh:
Trong thi u máu c tim: ST h xu ng, T cao nh n, đ i xứng, trong thi u máu d i
th ng tâm m c.

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 16


CH NG 2. C S LÝ THUY T

Hình 2.8 Dạng sóng của bệnh thiếu máu cục bộ cơ tim
Trong nhồi máu c tim c p:
+ D ng 1: Q rộng và sâu, ST chênh lên, T âm
+ D ng 2: ST chênh xu ng, T d ng.
Từ các ví dụ trên có thể th y b t kỳ d ng sóng thành ph n nào trong ECG cũng có
vai trò r t quan tr ng nên n u không x lý t t nhi u từ m ng đi n công nghi p để tín
hi u ECG bị sai l nh nhiều s gây h u qu nghiêm tr ng ch n đoán và điều trị các b nh
về tim – một trong các lo i b nh nguy hiểm đ n tính m ng con ng i. Vì th đồ án này
t p trung gi i quy t nhi u t n s 50Hz từ m ng đi n công nghi p.

2.2 LÝ THUY T V TÍN HI U S VÀ B L CS


2.2.1 T ng quan v tín hi u s
* Gi i thi u chung:
Tín hi u s (Digital) là một nhóm xung đ c mã hóa theo giá trị l ng t của tín
hi u t i các th i điểm r i r c cách đều nhau. Trong đó, giá trị l ng t là tín hi u chỉ
nh n các giá trị xác định bằng s nguyên l n một giá trị c sở.
M i xung của tín hi u s biểu thị một bit của từ mã, nó chỉ có hai mức đi n áp,
mức th p là giá trị logic “0”, mức cao là giá trị logic “1”. S xung (s bit) của tín hi u
s là độ dài của từ mã. Tín hi u s có 8 bit đ c g i là một byte, còn tín hi u s có 16
bit bằng hai byte đ c g i là một word.
Tín hi u s th ng đ c mã hóa theo mã nhị phân (Binary Code), mã c s tám
(Octal Code), mã c s m i sáu (Hexadecimal Code), mã nhị th p phân (Binary Coded
Decimal), mã ASCII (American Standard Code for Information Interchange), …

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 17


CH NG 2. C S LÝ THUY T

Nh v y, tín hi u s là tín hi u r i r c, có giá trị l ng t và đ c mã hóa. Do đó


có thể bi n đ i tín hi u liên tục thành tín hi u s , quá trình đó đ c g i là s hóa tín hi u
liên tục. Quá trình s hóa tín hi u liên tục đ c th c hi n qua 3 b c là:
- R i r c hóa tín hi u liên tục, hay còn g i là l y m u.
-L ng t hóa giá trị các m u.
- Mã hóa giá trị l ng t của các m u.
C ba b c của quá trình s hóa tín hi u liên tục đ c th c hi n trên bộ bi n đ i
t ng t s , vi t tắt là ADC (Analog Digital Converter).
* Bi u di n tín hi u s :
Tín hi u s là hàm của bi n th i gian r i r c x(nT), trong đó n là s nguyên, còn
T là chu kỳ r i r c. Để thu n ti n cho vi c xây d ng các thu t toán x lý tín hi u
s , ng i ta chu n hóa bi n th i gian r i r c nT theo chu kỳ T, nghĩa là s dụng
bi n n = (nT/T). Khi đó, tín hi u s x(nT) đ c biểu di n thành d ng dãy s x(n),
do đó có thể s dụng các biểu di n của dãy s để biểu di n tín hi u s , cũng nh
s dụng các phép toán của dãy s để th c hi n tính toán và xây d ng các thu t toán x
lý tín hi u s .
Gi ng nh dãy s x(n), tín hi u s có thể đ c biểu di n d i các d ng hàm s ,
b ng s li u, đồ thị và dãy s li u. Ng i ta th ng biểu di n tín hi u s d i d ng dãy
s li u có độ dài h u h n để x lý tín hi u s bằng các ch ng trình
ph n mềm.
Các phép toán c b n đ c s dụng trong x lý tín hi u s là cộng, nhân,
nhân v i hằng s , và phép tr . Phép dịch s m có thể đ c s dụng ở các h x lý s
bằng ph n mềm trong th i gian không th c.
* Phân lo i tín hi u s :
Có thể phân lo i tín hi u s theo d ng của dãy x(n). Một s lo i tín hi u s
th ng g p là:
- Tín hi u s xác định và ng u nhiên.
- Tín hi u s tu n hoàn và không tu n hoàn.
- Tín hi u s h u h n và vô h n.
- Tín hi u s là dãy một phía.
- Tín hi u s là dãy s th c.

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 18


CH NG 2. C S LÝ THUY T

- Tín hi u s là dãy ch n, và dãy lẻ.


- Tín hi u s là dãy đ i xứng, và dãy ph n đ i xứng.
Ngoài ra, theo giá trị năng l ng và công su t của tín hi u s , ng i ta còn phân
bi t hai lo i tín hi u s sau:
- Tín hi u s năng l ng là tín hi u s có năng l ng h u h n.
- Tín hi u s công su t là tín hi u s có công su t h u h n.
2.2.2 H x lý s
2.2.2.1 Mô t h x lý s
Để nghiên cứu, phân tích ho c t ng h p các h x lý s , ng i ta coi h x lý s
là một hộp đen và mô t nó bằng quan h gi a tác động trên đ u vào và ph n ứng trên
đ u ra của h , quan h đó đ c g i là quan h vào ra. Quan h vào ra của h x lý s có
thể đ c mô t bằng biểu thức toán h c, và thông qua nó có thể xây d ng đ c s đồ
kh i ho c s đồ c u trúc của h x lý s .
* Mô t h x lý s bằng quan h vào ra:
Xét một h x lý s có tác động x(n) và ph n ứng y(n), khi đó quan h gi a chúng
có thể đ c mô t bằng hàm s toán h c F( ):
y(n) = F [... x(n) ...] (2.1)
Ho c: x(n) ⎯⎯→ F y(n)
Theo đó, ph n ứng y(n) phụ thuộc vào d ng của hàm s F(). D ng của hàm s F()
ph n nh c u trúc ph n cứng ho c thu t toán ph n mềm của h x lý s ,
vì th ta có thể dùng hàm s F() để mô t h x lý s . Quan h vào ra có d ng
t ng quát cụ thể nh sau:
y(n) = F[..., bk x(n - k) , ..., ar y(n - r), ...] (2.2)
Trong đó:
- Các thành ph n của tác động bk x(n - k) v i k ∈ (- ∞ , ∞).
- Các thành ph n của ph n ứng bị gi ch m ar y(n - r) v i r ∈ (1 , ∞).
- Các h s ar và bk có thể bằng 0, có thể là hằng s , có thể phụ thuộc vào tác động x(n),
ph n ứng y(n), ho c bi n th i gian r i r c n.
* Mô t h x lý s bằng s đ kh i:

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 19


CH NG 2. C S LÝ THUY T

H x lý s có thể đ c mô t bằng s đồ kh i nh trên hình 2.13

Hình 2.9 Sơ đồ khối của hệ xử lý số


H x lý s phức t p có thể đ c mô t bằng s đồ kh i v i s liên k t của
nhiều kh i Fi() nh hình 2.14

Hình 2.10 Sơ đồ khối của hệ xử lý số phức tạp


N u thay các biểu thức Fi() của s đồ kh i trên bằng chức năng của các kh i
thì đó là s đồ kh i chức năng.
* Mô t h x lý s bằng s đ c u trúc:
D a trên quan h vào ra (trình bày ở mục mô t h x lý s bằng quan h vào ra),
cũng có thể mô t h x lý s bằng s đồ c u trúc. đây, c n phân bi t s khác nhau
gi a s đồ kh i và s đồ c u trúc. S đồ c u trúc gồm các ph n t c sở biểu di n các
phép toán trên các tín hi u s ho c dãy s li u. S đồ kh i có m i kh i đ c tr ng cho
một c u trúc l n, mà chính nó có 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) y(n) x2(n) X
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)

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) y(n) = x(n –1)


D

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:

H(z) = b0 + b1 −
b2 −
+ …+ bk-1 z-k+1 (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 đi qua, 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ì đ cl ud 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ỉ đ cs
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 n DSP 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 ct 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 n cho
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ủa FDATool
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 IIR và bộ l c FIR. Trong từng kiểu này cho ta l a ch n các ph ng
thức l c khác nhau.
Ngoài ra ta còn có các khung nh : Filter Order (l c thứ t ), Frequency Specifications
(thông s kỹ thu t về t n s ), Magnitude Specifications (thông s kỹ thu t về tr ng s ).
* Ví d thi t k m t b l c thông th p:
Trong ví dụ này, chúng ta th thi t k một bộ l c thông th p dùng FDATool v i
t n s l y m u fs = 1000Hz và t n s cắt fc = 50Hz. Các bộ l c còn l i th c hi n t ng
t , chỉ thay đ i các thông s cho phù h p v i yêu c u của từng tr ng h p.
B c đ u, chúng ta mở công cụ FDATool (xem l i h ng d n ở mục 2.4.8.2) và
click ch n lowpass ở Response Type, ở mục Design Method, ta ch n FIR và ch n
Window. Khi đó, ta nh p các thông s fs, fc và click ch n Design Filter, rồi ch cho đ n
khi có báo hi u Done, nh hình:

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 42


CH NG 2. C S LÝ THUY T

Hình 2.24 Thông s kỹ thu t bộ l c thông th p


* Chuyển đổi từ thiết kế trên giao diện FDATool sang dạng thiết kế bằng hàm chức
năng:
Để chuyển đ i từ thi t k trên giao di n FDATool sang d ng thi t k bằng hàm
chức năng, chúng ta thao tác nh sau: Từ giao di n FDATool vào File → Generate
Matlab Code → Filter Design Function, xu t hi n giao di n Generate M_file ta ghi
tên file và ch n đ ng d n để l u t p tin sau đó ch n: save.
đây ta ch n t p tin tên là Lowpass.m, t p tin sau khi l u s t động mở trong
Editor nh sau:
function Hd = Lowpass
%LOWPASS Returns a discrete-time filter object.

% MATLAB Code
% Generated by MATLAB(R) 9.4 and DSP System Toolbox 9.6.
% Generated on: 04-Jan-2019 15:52:30

% FIR Window Lowpass filter designed using the FIR1 function.

% All frequency values are in Hz.

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 43


CH NG 2. C S LÝ THUY T

Fs = 1000; % Sampling Frequency

N = 50; % Order
Fc = 50; % Cutoff Frequency
flag = 'scale'; % Sampling Flag

% Create the window vector for the design algorithm.


win = hamming(N+1);

% Calculate the coefficients using the FIR1 function.


b = fir1(N, Fc/(Fs/2), 'low', win, flag);
Hd = dfilt.dffir(b);

% [EOF]
Sau đó, l y t p M-file đã l u, thêm vào l nh fvtool(b) vào cu i, rồi cho ch y trong
Command Window ta s đ c đồ thị mức đi n_t n s pha nh sau:

Hình 2.25 Đáp tuyến biên độ_ tần số pha của bộ lọc thông thấp
• Chuyển đổi từ thiết kế trên giao diện FDATool sang ngôn ngữ VHDL:
Phía trên, chúng ta đã th chuyển đ i thi t k trên giao di n FDATool sang M-file,
trong mục này, chúng ta s chuyển đ i thi t k trên giao di n FDATool sang ngôn ng
VHDL để phục vụ cho các d án ch y bộ l c trên FPGA.
Từ giao di n của FDATool ta ch n Targets → Generate HDL s xu t hi n giao
di n:

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 44


CH NG 2. C S LÝ THUY T

Hình 2.26 Chuyển thiết kế trên FDATool sang mã VHDL


Trong mục language, chúng ta l a ch n ngôn ng c n chuyển đ i là ngôn ng
VHDL ho c Verilog. Ch n tên lowpass ở mục name, click Browse để ch n th mục l u
ở folder, … nh trong b ng ch n sau đó ch n Generate. Trong đồ án này, chúng tôi l u
ở th mục E:\University\DATN\CodeVHDLfromMatlab nên sau khi click ch n
Generate ở th mục này s xu t hi n 2 t p tin: Lowpass.vhd và Lowpass_tb.vhd.
Hai t p tin này s đ c dùng trong ph n mềm thi t k Quartus của Altera.
2.4 T NG QUAN V FPGA (ALTERA) VÀ PH N M M QUARTUS II
2.4.1 L ch s ra đ i và phát tri n c a FPGA
FPGA đ c thi t k đ u tiên bởi Ross Freeman, ng i sáng l p công ty Xilinx vào
năm 1984, ki n trúc m i của FPGA cho phép tích h p s l ng t ng đ i l n các ph n
t bán d n vào một vi m ch. So v i ki n trúc tr c đó là CPLD, FPGA có kh năng
chứa t i từ 100.000 đ n hàng vài tỷ c ng logic, trong khi CPLD chỉ chứa từ 10.000 đ n
100.000 c ng logic, con s này đ i v i PAL, PLA còn th p h n n a chỉ đ t vài nghìn
đ n 10.000.
CPLD đ c c u trúc từ s l ng nh t định các kh i SPLD (Simple programable
logic device) thu t ng chung chỉ PAL, PLA. SPLD th ng là một m ng logic AND/OR
l p trình đ c có kích th c xác định và chứa một s l ng h n ch các ph n t nh
đồng bộ (clocked register). C u trúc này h n ch kh năng th c hi n nh ng hàm phức
t p và thông th ng hi u su t làm vi c của vi m ch phụ thuộc vào c u trúc cụ thể của

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 45


CH NG 2. C S LÝ THUY T

vi m ch h n là vào yêu c u bài toán.


Ki n trúc của FPGA là ki n trúc m ng các kh i logic, m i kh i này nh h n nhiều
n u đem so sánh v i một kh i SPLD, u điểm này giúp FPGA có thể chứa nhiều h n
các ph n t logic và phát huy t i đa kh năng l p trình của các ph n t logic và h th ng
m ch k t n i, để đ t đ c mục đích này thì ki n trúc của FPGA phức t p h n nhiều so
v i CPLD.
Một điểm khác bi t n a v i CPLD là trong nh ng FPGA hi n đ i đ c tích h p
nhiều bộ logic s h c đã đ c t i u hóa, h tr RAM, ROM, t c độ cao, hay các bộ
nhân, cộng dùng cho nh ng ứng dụng x lý tín hi u s .
Ngoài kh năng c u trúc l i vi m ch ở mức toàn cục, một s FPGA hi n đ i còn
h tr c u trúc l i ở mức cục bộ, tức là kh năng c u trúc l i 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.
2.4.2 Khái ni m FPGA
FPGA (Field Programable Gate Arrays - Ma tr n c ng l p trình đ c theo hàng)
là một thi t bị bán d n bao gồm các kh i logic l p trình đ c g i là "Logic Block", và
các k t n i kh trình. Các kh i logic có thể đ c l p trình để th c hi n các chức năng
của các kh i logic c b n nh AND, XOR, ho c các chức năng k t h p phức t p h n
nh decoder ho c các phép tính toán h c. Trong h u h t các ki n trúc FPGA, các kh i
logic cũng bao gồm c các ph n t nh . Đó có thể là các Flip-Flop ho c nh ng bộ nh
hoàn chỉnh h n. Ki n trúc t ng quan về FPGA đ c mô t nh hình 2.36

Configurable
Logic Blocks

I/O Blocks

Programmable Interconnects

Hình 2.27 Kiến trúc tổng quan của FPGA

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 46


CH NG 2. C S LÝ THUY T

Có 2 lo i FPGA c b n: Lo i SRAM (Static Random Access Memory) có thể l p


trình l i nhiều l n và lo i OTP (One - Time Programmable) l p trình một l n.
Hai lo i này khác nhau ở ch th c hi n của các Logic Cell và kỹ thu t t o s k t
n i gi a chúng trong thi t bị. Lo i hay đ c dùng h n c là l a SRAM, vì nó có thể l p
trình đ c nhiều l n. Th c t thì SRAM FPGA đ c n p c u hình l i m i khi b t nguồn,
bởi vì FPGA lo i này th c ch t là một lo i chip nh theo ý mu n.

Hình 2.28 Cấu trúc SRAM FPGA (SRAM Logic Cell)


- Lo i SRAM có thể l p trình l i :
+ SRAM xác định các đ ng k t n i
+ SRAM xác địng đ n vị logic trong b ng LUT (Look Up Table)

Hình 2.29 Cấu trúc của OTP FPGA (OTP Logic Cell)

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 47


CH NG 2. C S LÝ THUY T

Trong SRAM Logic Cell, thay vì các c ng thông th ng, một LUT (bộ t o hàm)
s xác định các đ u ra d a vào giá trị đ u vào.
Trong OTP FPGAs s dụng k t n i gi a các đ ng theo d ng n i ng c (có nghĩa
ng c v i c u chì), s k t n i t o ra và không bị nóng ch y trong su t th i gian n p
ch ng trình), nhằm t o ra s k t n i c định trong chip. H n n a, OTP FPGA không
c n SPROM nào khác, điều đó có nghĩa là n p c u hình vào thằng FPGA. Tuy nhiên,
m i l n thay đ i thi t k b n ph i vứt b đi một chip. Lo i OTP Logic Cell có c u trúc
t ng t nh h PLD (Programmable Logic Device) bao gồm các c ng flip – flop
chuyên dụng nh Flip – Flop lo i D, T hay RS.
2.4.3 ng d ng FPGA
Ứng dụng của FPGA bao gồm: x lý tín hi u s , các h th ng hàng không, vũ trụ,
qu c phòng, tiền thi t k m u ASIC (ASIC prototyping), các h th ng điều khiển tr c
quan, phân tích nh n d ng nh, nh n d ng ti ng nói, m t mã h c, mô hình ph n cứng
máy tính...
Do tính linh động cao trong quá trình thi t k cho phép FPGA gi i quy t nh ng
bài toán phức t p mà tr c kia chỉ th c hi n nh ph n mềm máy tính, ngoài ra nh m t
độ c ng logic l n FPGA đ c ứng dụng cho nh ng bài toán đòi h i kh i l ng tính toán
l n và dùng trong các h th ng làm vi c theo th i gian th c.
2.4.4 Ý nghƿa FPGA
ASIC l p trình đ c đã xu t hi n từ lâu d i d ng PLD (Programmable Logic
Device), nh ng vai trò của các d ng ASIC này là không nhiều vì s l ng c ng trên
Chip r t ít d n t i chức năng của các PLD này cũng nghèo nàn và th ng chỉ s dụng
v i nh ng nhi m vụ r t h n ch trong toàn h th ng.
Kể từ năm 1980, các công ty s n xu t PLD hàng đ u đã đ y m nh quá trình nghiên
cứu về FPGA và nhanh chóng cho ra các th h FPGA v i s l ng c ng và t c độ ngày
càng cao. Các FPGA hi n nay có s l ng c ng đủ l n để có thể thay th c một h
th ng bao gồm lõi CPU, Bộ điều khiển bộ nh (Memory Controller), các ngo i vi nh
SPI, Timer, I2C, GPIO, PWM, Video/Audio Controller… (nghĩa là t ng đ ng v i
các SoC hi n đ i). Tuy nhiên, FPGA không thể nào so sánh đ c v i ASIC và c về
kinh t l n t c độ ho t động. Nh ng bù l i, v i kh năng tái c u hình m nh, FPGA đóng
một vai trò vô cùng to l n trong vi c gi m giá thành và th i gian ch t o ASIC bằng

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 48


CH NG 2. C S LÝ THUY T

cách s dụng FPGA trong quá trình thi t k lu n lý tr c khi đ a ra s n xu t các ASIC
m u. Quy trình s n xu t Chip ASIC bằng cách này g i là fabless r t ph bi n hi n nay
trên th gi i, giúp các công ty nh và vừa và đ c bi t là các n c y u về công ngh nh
Vi t Nam tham gia vào th gi i s n xu t IC. Để gi i thích cho s quan tr ng r t l n của
FPGA, s có một ví dụ cụ thể sau: Tr c đây, khi mu n ch t o ra một con chip “Vi x
lý”, ng i ta ph i thi t k chip ở mức logic s dụng các ngôn ng mô t ph n cứng, để
kiểm tra công đo n này c n ph i s dụng nh ng ph n mềm mô ph ng. Sau đó thi t k
ph i đ c t ng h p d a trên các th vi n c p th p của hãng s n xu t con Chip sau này,
sau đó là quá trình kiểm tra timing (định th i) cho toàn bộ thi t k để đ m b o thi t k
đó s ho t động ở t n s yêu c u. T t c các công đo n này đều chỉ có thể kiểm tra bằng
các ph n mềm mô ph ng (điều này d n t i nguy c x y ra sai sót r t l n khi chuyển
thi t k sang môi tr ng Chip th c).
2.4.5 Ph n m m h tr thi t k Quatus II
Quartus II là công cụ ph n mềm phát triển của hãng Altera, cung c p môi tr ng
thi t k toàn di n cho các thi t k SOPC (System on a Programmable Chip - h th ng
trên 1 chip kh trình). Đây là ph n mềm đóng gói tích h p đ y đủ phục vụ cho thi t k
logic v i các linh ki n logic kh trình PLD của Altera, gồm các dòng APEX, Cyclone,
FLEX, Stratix... Quartus cung c p các kh năng thi t k logic sau:
+ Môi tr ng thi t k gồm các b n v , s đồ kh i, công cụ so n th o các ngôn ng :
AHDL, VHDL, và Verilog HDL.
+ Thi t k LogicLock.
+ Là công cụ m nh để t ng h p logic.
+ Kh năng mô ph ng chức năng và th i gian.
+ Phân tích th i gian.
+ Phân tích logic nhúng v i công cụ phân tích SignalTap@ II.
+ Cho phép xu t, t o và k t n i các file nguồn để t o ra các file ch ng trình.
+ T động định vị l i.
+ Kh năng l p trình và nh n di n linh ki n.
+ Ph n mềm Quartus II s dụng bộ tích h p NativeLink@ v i các công cụ thi t k
cung c p vi c truyền thông tin liền m ch gi a Quartus v i các công cụ thi t k
ph n cứng EDA khác.

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 49


CH NG 2. C S LÝ THUY T

+ Quartus II cũng có thể đ c các file m ch (netlist) EDIF chu n, VHDL và Verilog
HDL cũng nh t o ra các file netlist này.
+ Quartus II có môi tr ng thi t k đồ h a giúp nhà thi t k d dàng vi t mã, biên
dịch, soát l i, mô ph ng...
V i Quartus có thể k t h p nhiều kiểu file trong 1 d án thi t k phân c p. Có thể
dùng bộ công cụ t o s đồ kh i (Quartus Block Editor) để t o ra s đồ kh i mô t thi t
k ở mức cao, sau đó dùng các s đồ kh i khác, các b n v nh : AHDL Text Design
Files (.tdf), EDIF Input Files (.edf), VHDL Design Files (.vhd), and Verilog HDL
Design Files (.v) để t o ra thành ph n thi t k mức th p.
Quartus II cho phép làm vi c v i nhiều file ở cùng th i điểm, so n th o file thi t
k trong khi v n có thể biên dịch hay ch y mô ph ng các d án khác. Công cụ biên dịch
Quartus II nằm ở trung tâm h th ng, cung c p quy trình thi t k m nh cho phép tùy
bi n để đ t đ c thi t k t i u trong d án.
M i m ch logic, hay m ch phụ, thi t k bằng ph n mềm Quartus II đ c g i là
một Project. Ph n mềm làm vi c trên một project t i một th i điểm và gi thông tin cho
project trong một th mục trên file h th ng. Để bắt đ u thi t k một m ch logic m i,
tr c tiên ph i t o một th mục để chứa các file của nó.

Hình 2.30 Giao diện phần mềm Quatus II

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 50


CH NG 2. C S LÝ THUY T

2.5 T NG QUAN V KIT DE2 -115 ALTERA


2.5.1 Gi i thi u
Kit DE2 cho phép các nhà thi t k th c hi n một kh i l ng l n các h th ng,
m ch chức năng từ đ n gi n đ n phức t p, d i đây là nh ng tính năng đ c cung c p
s n trên Kit DE2:
➢ Altera Cyclone IV EP4CE115F29C7N FPGA
➢ Altera Serial Configuration device - EPCS16
➢ USB Blaster dùng để l p trình h th ng từ PC, h tr các ch độ JTAG.
➢ 512 – Kbyte SRAM
➢ 8 – Mbyte SDRAM
➢ 4 – Mbyte Flash memory
➢ Khe cắm SD Card
➢ 4 phím nh n PushButton KEY[3:0]
➢ 18 Switch (c p mức ‘0’ hay ‘1’)
➢ 18 đèn LEDR và 9 đèn LEDG
➢ Có hai nguồn clock là 50MHZ và 27MHZ
➢ Chip gi i mã âm thanh 24 bít v i các jack cắm line-in, line –out và microphone
➢ VGA DAC (10 bit high-speed triple DACs) v i c ng VGA
➢ TV Decoder (NTSC/PAL) v i TV-in (Video-in)
➢ C ng 10/100 Ethernet
➢ Bộ điều khiển USB host/slave
➢ RS – 232 v i c ng k t n i 9 chân
➢ C ng PS/2 giao ti p v i chuột và bàn phím
➢ C ng hồng ngo i
➢ 40 chân để mở rộng

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 51


CH NG 2. C S LÝ THUY T

2.5.2 Kit DE2 Cyclone IV EP4CE115F29C7N

Hình 2.31 Kit DE2-115 Altera


Mô t các kh i:
SRAM
➢ Chip bộ nh RAM 512-Kbyte
➢ Đ c t chức d i d ng 256K x 16 bit
➢ Có thể truy c p d i d ng bộ nh cho bộ x lý Nios II và B ng điều khiển DE2
SDRAM
➢ Chip bộ nh RAM động đồng bộ t c độ d li u đ n 8-Mbyte
➢ Đ c t chức d i d ng 1M x 16 bit x 4 ngân hàng
➢ Có thể truy c p d i d ng bộ nh cho bộ x lý Nios II và B ng điều khiển DE2
Flash memory
➢ Bộ nh Flash 4-Mbyte (1 Mbyte trên một s b ng)
➢ Bus d li u 8 bit
➢ Có thể truy c p d i d ng bộ nh cho bộ x lý Nios II và B ng điều khiển DE2
SD card socket
➢ Cung c p ch độ SD SPI và 4 bit để truy c p Thẻ SD

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 52


CH NG 2. C S LÝ THUY T

➢ Có thể truy c p làm bộ nh cho bộ x lý Nios II bằng Trình điều khiển thẻ SD
DE2
Pushbutton switches
➢ Đ c ch ng dội bởi một m ch kích ho t Schmitt
➢ Th ng cao; t o ra một xung th p ho t động khi nh n công tắc
Toggle switches
➢ 18 switch b t tắt cho đ u vào của ng i dùng
➢ Switch t o logic 0 khi ở vị trí DOWN (g n c nh của b ng DE2) và logic 1 khi ở
vị trí UP
Clock inputs
➢ Bộ dao động 50 MHz
➢ Bộ dao động 27 MHz
➢ Đ u vào đồng hồ bên ngoài SMA
Audio CODEC
➢ CODEC âm thanh sigma-delta 24 bit của Wolfson WM8731
➢ Đ u vào c p dòng, đ u ra c p dòng và giắc cắm đ u vào micrô
➢ T n su t l y m u: 8 đ n 96 KHz
➢ Ứng dụng cho máy nghe nh c và máy ghi âm MP3, PDA, đi n tho i thông
minh, máy ghi âm, v.v.
VGA output
➢ S dụng bộ gi i mã video t c độ cao 10 bit
➢ V i đ u n i D-sub m t độ cao 15 chân
➢ H tr lên t i 1600 x 1200 ở t c độ làm m i 100 Hz
➢ Có thể đ c s dụng v i Cyclone II FPGA để triển khai Bộ mã hóa TV hi u su t
cao
NTSC/PAL TV decoder circuit
➢ S dụng Bộ gi i mã video SDTV đa định d ng ADV7180
➢ H tr gi i điều ch màu NTSC/PAL/SECAM trên toàn th gi i
➢ Một ADC 10 bit, 4X l y m u quá mức cho CVBS
➢ H tr đ u vào giắc cắm RCA Video t ng h p (CVBS).

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 53


CH NG 2. C S LÝ THUY T

➢ H tr các định d ng đ u ra kỹ thu t s (8 bit /16 bit): ITU-R BT.656 YCrCb 4:


2: 2 đ u ra + HS, VS,
➢ Ứng dụng: Đ u ghi DVD, TV LCD, Hộp set-top, TV kỹ thu t s , Thi t bị video
di động
10/100 Ethernet controller
➢ Tích h p MAC và PHY v i giao di n bộ x lý chung
➢ H tr các ứng dụng 100Base-T và 10Base-T
➢ H tr ho t động song công hoàn toàn ở t c độ 10 Mb/giây và 100 Mb/giây, v i
t động MDIX
➢ Hoàn toàn tuân thủ Thông s kỹ thu t của IEEE 802.3u
➢ H tr t o và kiểm tra t ng kiểm tra IP/TCP/UDP
➢ H tr ch độ áp su t ng c để điều khiển luồng ch độ bán song công
USB Host/Slave controller
➢ Tuân thủ đ y đủ v i Thông s kỹ thu t của Bus n i ti p v n năng Rev. 2.0
➢ H tr truyền d li u ở t c độ t i đa và t c độ th p
➢ H tr c máy chủ và thi t bị USB
➢ Hai c ng USB (một lo i A cho máy chủ l u tr và một lo i B cho thi t bị)
➢ Cung c p giao di n song song t c độ cao cho h u h t các bộ x lý có s n.
➢ H tr I/O đ c l p trình (PIO) và truy c p bộ nh tr c ti p (DMA)
Serial ports
➢ Một c ng RS-232
➢ Một c ng PS/2
➢ Đ u n i n i ti p DB-9 cho c ng RS-232
➢ Đ u n i PS/2 để k t n i chuột ho c bàn phím PS2 v i b ng DE2
2 dãy 40-pin chân header mở rộng
➢ 72 chân I/O của Cyclone IV, cũng nh 8 đ ng dây đi n và n i đ t, đ c đ a ra
hai chân 40 k t n i mở rộng
➢ Tiêu đề 40 chân đ c thi t k để ch p nh n cáp ruy băng 40 chân tiêu chu n đ c
s dụng cho đĩa cứng IDE
➢ B o v đi- t và đi n trở đ c cung c p

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 54


CH NG 2. C S LÝ THUY T

2.5.3 C p ngu n cho kit DE2


Vi c c p nguồn cho Kit đ c th c hi n theo các b c nh sau:
- Bước 1: K t n i cáp USB đ c cung c p từ máy tính chủ v i đ u n i USB Blaster trên
b ng DE2. Để k t n i gi a máy chủ và kit DE2, c n ph i cài đ t driver Altera USB
Blaster.
- Bước 2: K t n i adapter 9V – 1.3A v i DE2

Hình 2.32 Adapter 9V- 1.3A


- Bước 3: K t n i màn hình VGA v i c ng VGA trên bo m ch DE2
- Bước 4: K t n i tai nghe v i c ng âm thanh Line-out trên kit DE2
- Bước 5: Xoay công tắc RUN/PROG ở c nh trái của b ng DE2 sang vị trí RUN; các
Vị trí PROG chỉ đ c s dụng cho l p trình AS Mode.
- Bước 6: B t nguồn bằng cách nh n công tắc ON/OFF trên kit DE2

2.6 GI I THI U NGÔN NG VHDL


2.6.1 Gi i thi u
VHDL (VHSIC Hardware Description Language) là ngôn ng mô t ph n cứng
(HDL) cho các m ch tích h p t c độ r t cao, là một lo i ngôn ng mô t ph n cứng đ c
phát triển dùng cho ch ng trình VHSIC (Very High-Speed Integrated Circuit) của bộ
qu c phòng Mỹ. Ngôn ng VHDL đ c ba công ty Intermetics, IBM và Texas
Instruments bắt đ u nghiên cứu phát triển vào tháng 7 năm 1983. Phiên b n đ u tiên
đ c công b vào tháng 08/1985. Sau đó VHDL đ c đề xu t để t chức IEEE xem xét
thành một tiêu chu n chung. Năm 1987 đã đ a ra tiêu chu n về VHDL (tiêu chu n IEEE-
1076-1987).
Một trong nh ng điều c b n thúc đ y vi c s dụng ngôn ng VHDL đó là tính
chu n hóa, độc l p về công ngh của các nhà cung c p… VHDL đ c ứng dụng tr c

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 55


CH NG 2. C S LÝ THUY T

ti p trên các công ngh FPGA, CPLDs… Code VHDL đ c vi t để th c thi (implement)
các m ch tích h p trong các thi t bị l p trình đ c của các hãng nh Xilinx, Altera, …
H u h t câu l nh trong VHDL x y ra đồng th i (song song v i nhau), chứ không
ph i là x y ra tu n t nh C, C++.... Điều này là một khó khăn cho nh ng ng i bắt đ u
l p trình VHDL. Tuy nhiên, khi đã quen v i cách l p trình của ngôn ng mô t ph n
cứng, điều này s r t d dàng.
Tr c khi VHDL ra đ i, có nhiều ngôn ng mô t ph n cứng đ c s dụng nh ng
không có một tiêu chu n th ng nh t. Vì các ngôn ng mô ph ng ph n cứng đó đ c các
nhà cung c p thi t bị phát triển, nên mang các đ c tr ng gắn v i các thi t bị của nhà
cung c p đó và thuộc sở h u của nhà cung c p. Trong khi đó, VHDL đ c phát triển
nh một ngôn ng độc l p không gắn v i b t kỳ một ph ng pháp thi t k , bộ mô ph ng
hay công ngh ph n cứng nào. Ng i thi t k có thể t do l a ch n công ngh , ph ng
pháp thi t k trong khi v n s dụng một ngôn ng duy nh t.
VHDL có một s u điểm h n hẳn các ngôn ng mô t ph n cứng khác là:
• Tính công cộng: VHDL đ c phát triển d i s b o tr của chính phủ Mỹ và hi n
nay là một tiêu chu n của IEEE, VHDL không thuộc sở h u của b t kỳ cá nhân
hay t chức nào. Do đó VHDL đ c h tr của nhiều nhà s n xu t thi t bị cũng
nh nhiều nhà cung c p công cụ thi t k mô ph ng h th ng. Đây là một u điểm
n i b t của VHDL, giúp VHDL ngày càng trở nên ph bi n.
• Khả năng hỗ trợ nhiều công nghệ và phương pháp thiết kế: VHDL cho phép thi t
k bằng nhiều ph ng pháp nh ph ng pháp thi t k từ trên xu ng hay từ d i
lên d a vào các th vi n có s n. Nh v y VHDL có thể phục vụ t t cho nhiều mục
đích thi t khác nhau, từ vi c thi t k các ph n t ph bi n đ n vi c thi t k các IC
ứng dụng đ c bi t (Application Specified IC).
• Ðộc lập với công nghệ: VHDL hoàn toàn độc l p v i công ngh ch t o ph n cứng.
Một mô t h th ng dùng VHDL thi t k ở mức c ng có thể đ c chuyển thành
các b n t ng h p m ch khác nhau tuỳ thuộc vào công ngh ch t o ph n cứng nào
đ c s dụng (dùng CMOS, nMOS, hay GaAs). Đây cũng là một u điểm quan
tr ng của VHDL, nó cho phép ng i thi t k không c n quan tâm đ n công ngh
ph n cứng khi thi t k h th ng, nh th khi có một công ngh ch t o ph n cứng
ra đ i nó có thể đ c áp dụng ngay cho các h th ng đã thi t k .

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 56


CH NG 2. C S LÝ THUY T

• Khả năng mô tả mở rộng: VHDL cho phép mô t ho t động của ph n cứng từ mức
h th ng s (hộp đen) cho đ n mức c ng. VHDL có kh năng mô t ho t động của
h th ng trên nhiều mức nh ng chỉ s dụng một cú pháp ch t ch th ng nh t cho
m i mức. Nh th ta có thể mô ph ng một b n thi t k bao gồm c các h con
đ c mô t ở mức cao và các h con đ c mô t chi ti t.
• Khả năng trao đổi kết quả: Vì VHDL là một tiêu chu n đ c ch p nh n, nên một
mô hình VHDL có thể ch y trên m i bộ mô ph ng đáp ứng đ c tiêu chu n VHDL
và các k t qu mô t h th ng có thể đ c trao đ i gi a các nhà thi t k s dụng
công cụ thi t k khác nhau nh ng cùng tuân theo chu n VHDL. H n n a, một
nhóm thi t k có thể trao đ i mô t mức cao của các h th ng con trong một h
th ng; trong khi các h con đó đ c thi t k độc l p.
• Khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại các thiết kế: VHDL
đ c phát triển nh một ngôn ng l p trình b c cao, vì v y nó có thể s dụng để
thi t k một h th ng l n v i s tham gia của một nhóm nhiều ng i. Bên trong
ngôn ng VHDL có nhiều tính năng h tr vi c qu n lý, th nghi m và chia sẻ
thi t k . VHDL cũng cho phép dùng l i các ph n đã có s n.
2.6.2 C u trúc m t mô hình h th ng mô t bằng VHDL
Mục đích của ph n này nhằm gi i thi u s qua về c u trúc khung c b n của VHDL
khi mô t cho một mô hình thi t k th c. Thông th ng một mô hình VHDL bao gồm
ba ph n: th c thể, ki n trúc và các c u hình.
- Thực thể (ENTITY): Khai báo th c thể trong VHDL ph n định nghĩa các chỉ tiêu phía
ngoài của một ph n t hay một h th ng. Th c ch t của vi c khai báo th c thể chính là
khai báo giao di n của h th ng v i bên ngoài. Ta có thể có t t c các thông tin để k t
n i m ch vào m ch khác ho c thi t k tác nhân đ u vào phục vụ cho mục đích th
nghi m. Tuy nhiên ho t động th t s của m ch không nằm ở ph n khai báo này.
C u trúc của ENTITY:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY entity_name IS
PORT (declare input and output );
END entity_name;

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 57


CH NG 2. C S LÝ THUY T

D i đây là một ví dụ khai báo th c thể cho một c ng AND:


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY EXAMPLE IS
Port (a: IN STD_LOGIC;
b: IN STD_LOGIC;
c: OUT STD_LOGIC);
END EXAMPLE;
+ Kiến trúc (ARCHITECTURE): Ph n thứ 2 trong mô hình VHDL là khai báo ki n
trúc. M i một khai báo th c thể đều ph i đi kèm v i ít nh t một ki n trúc t ng ứng.
VHDL cho phép t o ra h n một ki n trúc cho một th c thể. Ph n khai báo ki n trúc có
thể bao gồm các khai báo về các tín hi u bên trong, các ph n t bên trong h th ng, hay
các hàm và thủ tục mô t ho t động của h th ng. Tên của ki n trúc là nhãn đ cđ t
tuỳ theo ng i s dụng.
ARCHITECTURE architecture_name OF entity_name IS
[declarations]
BEGIN
(code)
END architecture_name;
Nh th y ở trên, một c u trúc có 2 ph n: ph n khai báo (chức năng), n i các tín
hi u và các hằng đ c khai báo, và ph n mã (code – từ BEGIN trở xu ng).
ARCHITECTURE behavioral of EXAMPLE is
BEGIN
c <= a AND b;
END behavioral;
Có hai cách mô t ki n trúc của một ph n t (ho c h th ng) đó là mô hình ho t
động (Behavioral) hay mô t theo mô hình c u trúc (Structure). Tuy nhiên, một h th ng
có thể bao gồm c mô t theo mô hình ho t động và mô t theo mô hình c u trúc.
+ Mô tả kiến trúc theo mô hình hoạt động: Mô hình ho t động mô t các ho t động của
h th ng (h th ng đáp ứng v i các tín hi u vào nh th nào và đ a ra k t qu gì ra

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 58


CH NG 2. C S LÝ THUY T

đ u ra) d i d ng các c u trúc ngôn ng l p trình b c cao. C u trúc đó có thể là


PROCESS, WAIT, IF, CASE, FOR-LOOP…
+ Mô tả kiến trúc theo mô hình cấu trúc: Mô hình c u trúc của một ph n t (ho c h
th ng) có thể bao gồm nhiều c p c u trúc bắt đ u từ một c ng logic đ n gi n đ n xây
d ng mô t cho một h th ng hoàn thi n. Th c ch t của vi c mô t theo mô hình c u
trúc là mô t các ph n t con bên trong h th ng và s k t n i của các ph n t con.
+ Cấu hình (Configuration): Khai báo Configuration dùng để l a ch n một trong các
thân Architecture có s n mà một Entity có ho c để gắn các kh i vào Entity. N u cho
d ng c u trúc, Configuration có thể đ c xem nh li t kê các thành ph n cho kh i
mô hình. Cho m i kh i thì Configuration chỉ rõ Architecture nào cho Entity từ nhiều
Architecture. Khi Configuration cho t ng h p Entity – Architecture thì đ c biên
dịch vài th vi n và một th c thể mô ph ng đ c t o ra.
2.6.3 Cú pháp và ng nghƿa
2.6.3.1 Đ i t ng trong VHDL
Trình bày khái ni m, cú pháp và ứng dụng của của các đ i t ng thi t k s dụng
trong VHDL (tín hi u - signal, bi n - variable, hằng - constant) và các kiểu d li u c
b n đ c s dụng cho các đ i t ng thi t k đó.
Trong ngôn ng VHDL gồm có 3 đ i t ng là: tín hi u - signal, bi n - variable,
hằng - constant, m i đ i t ng đ c khai báo d a vào từ khóa t ng ứng và chúng có
mục đích s dụng nh sau:
Tín hiệu – Signal: là đ i t ng để biểu di n đ ng k t n i các gi a các c ng
vào/ra của th c thể, gi a các c ng vào/ra của các kh i thành ph n ph n cứng xu t hi n
trong th c thể… Chúng là ph ng ti n truyền d li u động gi a các thành ph n của th c
thể.
Tín hi u có tính toàn cục r t cao, chúng có thể đ c khai báo trong package (tín hi u
toàn cục, đ c s dụng bởi một s th c thể), khai báo trong th c thể - Entity (tín hi u
nội bộ dùng trong th c thể, có thể đ c tham chi u bởi b t kỳ ki n trúc nào của th c thể
đó), khai báo trong ki n trúc – Architecture (tín hi u nội bộ dùng trong ki n trúc, có thể
đ c s dụng trong b t cứ c u trúc l nh nào trong ki n trúc). Các tín hi u có thể đ c
s dụng nh ng không đ c khai báo trong ti n trình – process, trong ch ng trình con.
Vì ti n trình và ch ng trình con là thành ph n c sở của mô hình và chúng đ c coi
nh các hộp đen. Cú pháp khai báo tín hi u nh sau:

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 59


CH NG 2. C S LÝ THUY T

Signal tên_tín_hi u {,tên_tín_hi u}:kiểu_d _li u [:=giá_trị_khởi_t o];


Ví dụ: Signal a,b,c: Bit:=‘1’;
Signal y, reg: std_logic_vector(3 downto 0):=“0000”;
Biến – Variable: là đ i t ng cục bộ đ c s dụng để chứa các k t qu trung gian.
Bi n chỉ đ c khai báo và s dụng trong process và trong ch ng trình con. Cú pháp
khai báo của bi n cũng t ng t nh khai báo tín hi u:
Variable tên_bi n {,tên_bi n}: kiểu_d _li u [:=giá_trị_khởi_t o];
Ví dụ: variable x: Bit:=’1’;
variable Q: std_logic_vector(3 downto 0);
N u không đ c khởi t o giá trị ban đ u bi n s nh n giá trị khởi t o ban đ u là
giá trị th p nh t trong các giá trị thuộc miền xác định của kiểu d li u. Tín hi u cũng có
thể chứa d li u nh ng chúng l i không đ c s dụng vì nh ng lý do sau:
Vi c s dụng bi n hi u qu h n vì giá trị của bi n đ c gán ngay l p tức trong
process khi tín hi n chỉ đ c l p k ho ch để th c hi n và chỉ đ c c p nh t toàn bộ sau
khi k t thúc process.
Bi n chi m ít bộ nh h n trong khi tín hi u c n nhiều thông tin để có thể l p k
ho ch th c hi n cũng nh để chứa các thuộc tính của tín hi u.
S dụng tín hi u yêu c u có l nh wait để th c hi n đồng bộ phép gán tín hi u v i phép
l p th c hi n theo cách s dụng quen thuộc.
Hằng –constant: là đ i t ng hằng đ c gán cho các giá trị cụ thể của một kiểu
khi đ c t o ra và không đ i trong toàn bộ quá trình th c hi n. Hằng cũng có tính toàn
cục gi ng nh tín hi u và có thể đ c khai báo trong package, entity, architecture,
proceduce, process… Cú pháp khai báo hằng:
constant tên_hằng {,tên_hằng} : kiểu_d _li u := giá_trị_khởi_t o;
Ví dụ: constant GND: std_logic:=’0’;
constant PI: real:=3.1414;
⇒ Tóm l i: Các đ i t ng trong VHDL có mục đích s dụng, ph m vi s dụng khác
nhau, nh ng chúng có cú pháp khai báo chung nh sau:
Đ i_t ng tên_đ i_t ng: kiểu_d _li u {:=giá_trị_khởi_t o}
Các đ i t ng khi khai báo ph i đ c xác định kiểu d li u t ng ứng. VDHL
định nghĩa nhiều kiểu d li u khác nhau để phù h p v i vi c mô t , thi t k , mô ph ng

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 60


CH NG 2. C S LÝ THUY T

các h th ng s khác nhau trong th c t .


2.6.3.2 Ki u d li u trong VHDL
Trong VHDL có 4 d ng d li u:
- Vô h ng: gồm các d li u có giá trị đ n nh bit, boolean, integer, real, physical,
character, std_logic và std_ulogic, enumerated (kiểu li t kê), ...
- Kiểu ghép: các d li u d i d ng một nhóm các thành ph n nh m ng, b ng ghi
(record). Bit_logic_vector, std_logic_vector và String đều là nh ng d ng d li u ghép
đã đ c định nghĩa s n.
- 2-D Arrays: các d li u có d ng m ng 2 chiều, đ c t o nên từ 1 m ng của một m ng
1 chiều (hay một b n ghi).
- VHDL Subtypes: d ng d li u con do ng i dùng t định nghĩa d a trên nh ng d ng
có s n.
Các kiểu d li u đã đ c định nghĩa trong gói Standard chứa trong th vi n chu n
Standard Library của VHDL là: bit, boolean, integer, real, physical, character, std_logic
and std_ulogic, Bit_logic_vector, std_logic_vector và String và một s kiểu d li u con.
Cú pháp chung định nghĩa kiểu d li u nh sau:
Type Tên_kiểu is gi i_h n_giá_trị_của_kiểu
* Kiểu vô hướng:
- Kiểu Bit: Kiểu li t kê v i 2 giá trị ‘0’ và ‘1’. Kiểu Bit đã đ c định nghĩa nh sau:
Type Bit is (‘0’, ‘1’);
- Kiểu Boolean: Kiểu li t kê v i 2 giá trị false và true. Kiểu Boolean đã đ c định nghĩa
nh sau:
Type Boolean is (false, true);
- Kiểu Integer: Kiểu s nguyên v i nh ng giá trị d ng ho c âm, độ l n m c định là 32
bit v i gi i h n giá trị: từ -2147483647 đ n +2147483647. Khi s dụng có thể gi i h n
miền xác định theo gi i h n gi m d n dùng từ khóa downto ho c tăng d n dùng từ khóa
to:
signal A: integer range 0 to 7; -- tín hi u A s nguyên 3 bit
variable B: integer range 15 downto 0; --bi n B s nguyên 16 bit

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 61


CH NG 3. TÍNH TOÁN VÀ THI T K

CH NG 3: THI T K VÀ THI CÔNG


3.1 GI I THI U
Khi ti n hành thu th p tín hi u đi n tim ECG từ b nh nhân bằng các dụng cụ
chuyên dụng để x lý, ta s nh n đ c nh ng tín hi u ECG cùng v i nh ng tín hi u
không mong mu n khác (tín hi u gây nhi u), do đó để có thể thu th p đ c tín hi u
ECG s ch nh t phục vụ cho vi c chu n đoán các b nh lý thì yêu c u đ t ra là ph i l c
b đi các tín hi u nhi u bằng nh ng bộ l c (kh i l c).
3.2 TÍNH TOÁN VÀ THI T K H TH NG
3.2.1 Thi t k s đ kh i h th ng

KH I TÍN KH I X KH I TÍN
HI U VÀO LÝ HI U RA

KH I NGU N

Hình 3.1 Sơ đồ khối của hệ thống


Ch c năng t ng kh i:
- KH I TÍN HI U VÀO: Có chức năng thu th p tín hi u đi n tim từ các thi t bị gi l p
tín hi u đi n tim BME.LAP5 và l u tr d i d ng các file. Tuy nhiên, do ph n này có
h i phức t p và thi t bị là m n ở phòng thí nghi m nên nhóm chỉ th c hi n b c này
tr c rồi s dụng file chứ không thu tr c ti p t i h th ng.
- KH I X LÝ: Trong kh i này bao gồm:
Matlab: là công cụ dùng để thi t k các bộ l c cho tín hi u đi n tim.
FPGA : đ c dùng để th c thi các bộ l c đã đ c thi t k .
- KH I TÍN HI U RA: Tín hi u đã đ c l c nhi u ra s đ c hiển thị t i Matlab.
- KH I NGU N: C p nguồn ho t động cho khác kh i còn l i.
3.2.2 Tính toán và thi t k b l c d ng FIR
3.2.2.1 K t c u cho các ki u l c t n s d ng FIR:

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 62


CH NG 3. TÍNH TOÁN VÀ THI T K

Để đ a ra đ c nét chung nh t mang tính t ng quát của các bộ l c FIR, chúng ta
đi vào xem xét đ c tính xung của chúng: Gi ng nh các bộ l c tín hi u t ng t , bộ l c
s là m ch th c hi n chức năng ch n l c tín hi u theo t n s . Các m ch l c s cho tín
hi u s có ph nằm trong một d i t n s nh t định đi qua và không cho các tín hi u có
ph nằm ngoài d i t n s đó đi qua.
D i t n s mà m ch l c cho tín hi u đi qua đ c g i là d i thông, còn d i t n
s mà m ch l c không cho tín hi u đi qua đ c g i là d i ch n. T n s phân cách
gi a d i thông và d i ch n là t n s cắt và đ c ký hi u là c. Theo d ng của đ c

tính biên độ t n s ( ), ng i ta chia các bộ l c s thành các lo i:
+ Bộ l c thông th p, có d i thông  ϵ (0, c)

+ Bộ l c thông cao, có d i thông  ϵ (c, ∞)

+ Bộ l c d i thông, có d i thông  ϵ (c1, c2)

+ Bộ l c d i ch n, có d i thông  ϵ (0, c1) và  ϵ (c2, ∞)


* B l c thông th p lý t ng:
Bộ l c thông th p lý t ởng có đ c tính biên độ t n s khi  ϵ (- π, π) nh sau:

𝜔 , 𝐾ℎ  ∈ [ −  ,  ]
| 𝑝 | ={
, 𝐾ℎ  ∈ [ − 𝜋, − ] 𝑣à  ∈ [  , 𝜋] (3.1)
Đ c tính biên độ t n s của bộ l c thông th p lý t ởng:
𝜔
| 𝑝( )|

- - c 0 c 
Hình 3.2 Đặc tính biên độ tần số của bộ lọc thông thấp lý tưởng
Đ c tính xung hlp(n) của bộ l c thông th p lý t ởng:

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 63


CH NG 3. TÍNH TOÁN VÀ THI T K

- Xét bộ l c thông th p lý t ởng pha tuy n tính () = −α đ c tính t n s của nó có
d ng:

𝜔
𝛼𝜔
, 𝐾ℎ  ∈ [ −  ,  ]
𝑝 ={ (3.2)
, 𝐾ℎ  ∈ [ − 𝜋, − ] 𝑣à  ∈ [  , 𝜋]
- Đ c tính xung hlp(n) của bộ l c trên đ c xác định bằng IFT:
𝜋
𝜔 𝜔 𝜔𝑛
ℎ𝑝 = 𝐹 [ 𝑝 ]= ∫ ℎ 𝑝( ) 𝜔 (3.3)
𝜋 −𝜋

𝜔𝑐
− 𝛼𝜔 𝜔𝑛 𝜔 𝑛−𝛼
𝜔
ℎ𝑝 = ∫ 𝜔 = |−𝜔 .
𝜋 −𝜔𝑐 𝜋 − 𝛼


[ −𝛼 ]  [ −𝛼 ]
ℎ𝑝 = = (3.5)
𝜋 −𝛼 𝜋 𝜋 −𝛼
→ Theo công thức trên, bộ l c thông th p lý t ởng pha tuy n tính có đ c tính
xung hlp(n) d ng hàm sin gi m d n về 0 khi n →  ∞ . T i n = 0 có:
 [ −𝛼 ] 
ℎ𝑝 = ℎ𝑝 = [ ]= .
𝑛→ 𝑛→ 𝜋  −𝛼 𝜋
- Đ c tính xung hlp(n) đ t c c đ i t i n = 0, và hlp (n) = 0 t i các điểm = 𝜋 ⁄𝜔
v i k là s nguyên
* B l c thông cao lý t ng:
Bộ l c thông cao lý t ởng có đ c tính biên độ t n s khi () ∈ (- , ) nh sau:

𝜔 , 𝐾ℎ  ∈ [ − π, − ] 𝑣à  ∈ [  , π]
| 𝑝( )| = { (3.7)
, 𝐾ℎ  ∈ [ −  ,  ]
Đ c tính biên độ t n s của bộ l c thông cao lý t ởng:
𝜔
| ℎ𝑝 ( )|

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 64


CH NG 3. TÍNH TOÁN VÀ THI T K

- - c 0 c 
Hình 3.3 Đặc tính biên độ tần số của bộ lọc thông cao lý tưởng
Đ c tính xung hlp(n) của bộ l c thông cao lý t ởng:
- Xét bộ l c thông cao lý t ởng pha tuy n tính () = −α đ c tính t n s của nó có
d ng:

𝜔
− 𝛼𝜔
, 𝐾ℎ  ∈ [ − 𝜋, − ] 𝑣à  ∈ [  , 𝜋]
ℎ𝑝 ={ (3.8)
, 𝐾ℎ  ∈ [ −  ,  ]
- Vì d i thông và d i ch n của bộ l c thông cao ng c v i bộ l c thông th p, nên có thể
biểu di n Hhp(ejω) qua Hlp(ejω) nh sau:
𝜔 𝜔
ℎ𝑝 ( )= − 𝑝( ) (3.9)
→ ta có thể tìm đ c đ c tính t n s của bộ l c thông cao từ đ c tính t n s của
bộ l c thông th p có cùng t n s cắt.
- Đ c tính xung hhp(n) của bộ l c trên đ c xác định bằng IFT:
𝜋
𝜔 𝜔 𝜔𝑛
ℎℎ𝑝 = 𝐹 [ ℎ𝑝 ]= ∫ | − ℎ 𝑝( )| 𝜔 .
𝜋 −𝜋

𝜋 𝜋
𝜔𝑛 − 𝛼𝜔 𝜔𝑛
ℎℎ𝑝 = ∫ 𝜔− ∫ 𝜔 .
𝜋 −𝜋 𝜋 −𝜋

𝜔𝑛 𝜋 𝜔 𝑛−𝛼
𝜔
ℎℎ𝑝 = | − |−𝜔 .
𝜋 −𝜋 𝜋 −𝛼

𝜋 [ −𝛼 ] (3.13)
ℎℎ𝑝 = −
𝜋. 𝜋 −𝛼

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 65


CH NG 3. TÍNH TOÁN VÀ THI T K

Hay:
𝜋  [ −𝛼 ]
ℎℎ𝑝 = − (3.14)
𝜋. 𝜋  −𝛼

𝜋 𝐾ℎ = 𝜋
= { ⇒ = 𝛿 .
𝜋 𝐾ℎ ≠ 𝜋
𝛿 là xung đ n vị Dirac:
𝛿
1
t
0
Từ (3.14) và (3.15) ⇒
sin[ −𝛼 ]  sin[ −𝛼 ]
ℎℎ𝑝 =𝛿 − =𝛿 − .
𝜋 −𝛼 𝜋  −𝛼
- So sánh (3.5) v i (3.14), ta có thể biểu di n đ c tính xung hhp(n) của bộ l c thông cao
qua đ c tính xung hlp(n) của bộ l c thông th p:
ℎℎ𝑝 =𝛿 −ℎ𝑝 (3.17)
Từ đó ta có thể tìm đ c đ c tính xung hhp(n) của bộ l c thông cao từ đ c tính xung
hlp(n) của bộ l c thông th p có cùng t n s cắt c.
Đ c tính xung hhp(n) của bộ l c thông cao lý t ởng là dãy ch n, đ i xứng qua
trục tung và đ t c c đ i t i n = 0. Khi t n s cắt c = π/N thì đ c tính xung hhp
(kN) = 0 t i các điểm n = kN, v i k là s nguyên.
* B l c thông d i lý t ng:
Bộ l c thông d i lý t ởng có đ c tính biên độ t n s khi () ∈ (- , ) nh sau:

𝜔 , 𝐾ℎ  ∈ [− , − ] 𝑣à  ∈ [ ,  ]
| 𝑝 | ={ (3.18)
, 𝐾ℎ  ằ 𝑔 à á ℎ ả 𝑔 ê
Đ c tính biên độ t n s của bộ l c thông d i lý t ởng:
𝜔
| 𝑝( )|

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 66


CH NG 3. TÍNH TOÁN VÀ THI T K

-  - c1 - c2 0 c1 c2 


Hình 3.4 Đặc tính biên độ tần số của bộ lọc thông dải lý tưởng
Đ c tính xung hbp(n) của bộ l c thông d i lý t ởng:
- Xét bộ l c thông d i lý t ởng pha tuy n tính () = −α đ c tính t n s của nó có
d ng:

𝜔
− 𝛼𝜔
, 𝐾ℎ  ∈ [ − , − ] 𝑣à  ∈ [  ,  ]
𝑝 ={ (3.19)
, 𝐾ℎ  ằ 𝑔 à á ℎ ả 𝑔 ê
- Có thể biểu di n Hbp(ej) qua đ c tính t n s Hlp1(ej) và Hlp2(ej)của các bộ l c thông
th p lý t ởng có t n s cắt c1 và c2 t ng ứng:
𝜔 𝜔 𝜔
𝑝( )= 𝑝 ( )− 𝑝 ( ) (3.20)
→ Từ đó, ta có thể tìm đ c đ c tính t n s của bộ l c thông d i có t n s cắt c1
và c2, từ đ c tính t n s của hai bộ l c thông th p có t n s cắt c1 và c2 t ng ứng.
- Đ c tính xung hbp(n) của bộ l c trên đ c xác định bằng IFT:
π
ℎ 𝑝 = IFT [H p ejω ] = ∫−π
[hlp ejω − hlp ejω ]ejωn dω (3.21)
π

𝜔𝑐 𝜔𝑐
− 𝛼𝜔 𝜔𝑛 − 𝛼𝜔 𝜔𝑛
ℎ 𝑝 = ∫ 𝜔− ∫ 𝜔 .
𝜋 −𝜔𝑐 𝜋 −𝜔𝑐

[ −𝛼 ] [ −𝛼 ]
ℎ 𝑝 = − (3.23)
 −𝛼  −𝛼

 [ −𝛼 ]  [ −𝛼 ]
ℎ 𝑝 = − .
𝜋  −𝛼 𝜋  −𝛼
Hay:

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 67


CH NG 3. TÍNH TOÁN VÀ THI T K

ℎ 𝑝 = ℎ𝑝 −ℎ𝑝 (3.25)
→ ta có thể tìm đ c đ c tính xung hhp(n) của bộ l c thông cao từ đ c tính xung
hlp(n) và hlp2(n) của các bộ l c thông th p có cùng t n s cắt c1 và c2 t ng ứng.
* Nh n xét:
Qua phân tích đ c tính xung h(n) của t t c các bộ l c FIR từ thông th p, thông
cao, thông d i ta có thể nh n xét chung là: Tất cả các bộ lọc dạng FIR đều có thể được
xây dựng từ bộ lọc thông thấp. Nh v y, ta có thể xây d ng một c u hình t ng quát
chung cho t t c các bộ l c s , s khác nhau gi a các bộ l c nh thông th p, thông cao,
thông d i chỉ là h s nhân của các đ n vị delay.
3.2.2.2 C u hình t ng quát c a b l c FIR

x(n)
-1
Z

-1 b(1)
Z

-1 b(2)
Z

+
y(n)
b(M)

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
Trong đó:
+ Z-1 là một đ n vị delay
+ b(M) là các h s nhân t ng ứng v i đ n vị delay

B MÔN ĐI N T CÔNG NGHI P – Y SINH Trang 68


CH NG 3. TÍNH TOÁN VÀ THI T K

đây chú ý rằng đ c tính xung đ c xét trong ph t n từ 0 đ n 2π đây là đ c tính
t n s pha. Nó có giá trị trong kho ng từ -π đ n +π còn ngoài kho ng đó nó có giá trị
bằng 0. T n s th c của bộ l c phụ vào t n s l y m u Fs và công thức t ng quát của bộ
l c FIR đáp ứng xung h u h n (b c M) là:
=∑ = − (3.26)
⇔ y(n) = b(0) x(n) + b(1) x(n –1) +… + b(M) x(n – M) (3.27)
3.2.3 Thi t k b l c s d ng FIR theo ph ng pháp MBD
Nh đã trình bày lý thuy t về thi t k bộ l c theo ph ng pháp mô hình hóa –
MBD (xem mục 2.4.8.1). đây, chúng ta bắt đ u thi t k các bộ l c thông th p, thông
cao và thông d i (đáp ứng xung h u h n – d ng FIR) để l c nhi u cho tín hi u ECG theo
ph ng pháp MBD.
3.2.3.1 Xây d ng s đ kh i

TÍN HI U
ECG

+ B L C HIỂN THỊ

TÍN HI U
NHI U

Hình 3.6 Sơ đồ khối chức năng của hệ thống


Để hi n th c bộ l c nhằm phục vụ yêu c u kỹ thu t trên, tr c h t ta xây d ng
chúng trên h mô ph ng.
Nhiệm vụ của các khối như sau:
- Kh i tín hi u ECG có t n s trong kho ng 0.5Hz – 100Hz.
- Kh i t o nhi u đi n công nghi p t n s f = 60Hz.
- Bộ cộng có nhi m vụ cộng tín hi 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 đa k 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 ct 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 ct 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ác v 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 đ ct 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ềm Quartus 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ũng là mục đích chính mà đề 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 n File → 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ình filterlowpass.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 click Processing → 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ủa project 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 n Assignments → 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 i có
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ên là:
+ 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. Chú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ông cao 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ủa tín
hi u đ u vào của bộ l c ta th y tín hi u đ u ra đáp ứng đ c so v i yê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ào work → lowpass_tb.
Trình mô ph ng đ c hi n ra. Ch n h t t t c các Objects → click chu t ph i → Add
→ To wave → Selected signals. Hộp tho i mô ph ng s 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)

You might also like