Đồ án Thiết kế, mô phỏng bộ lọc nhiễu tín hiệu điện tim dùng matlab và chuyển mã VHDL

B GIÁO DC & ĐÀO TO TRNG ĐI HC S PHM K THUT TP. H CHÍ MINH KHOA ĐIN – ĐIN T B MÔN ĐIN T CÔNG NGHIP – Y SINH --------------------------------- Đ ÁN TT NGHIP NGÀNH CÔNG NGH K THUT ĐIN T TRUYN THÔNG Đ TÀI: THIT K, MÔ PHNG B LC NHIU TÍN HIU ĐIN TIM DÙNG MATLAB VÀ CHUYN MÃ VHDL GVHD: ThS. Nguyn Thanh Nghƿa SVTH: Trn Phan Ái M MSSV: 14141200 Tp. H Chí Minh – 01/2019 TRNG ĐH SPKT TP. H CHÍ MINH CNG HÒA XÃ HI CH N

pdf126 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 313 | Lượt tải: 0download
Tóm tắt tài liệu Đồ án Thiết kế, mô phỏng bộ lọc nhiễu tín hiệu điện tim dùng matlab và chuyển mã VHDL, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
NGHƾA VIT NAM KHOA ĐIN-ĐIN T ĐC LP - T DO - HNH PHÚC B MÔN ĐIN T CÔNG NGHIP – Y SINH ----o0o---- Tp. HCM, ngày 03 tháng 10 năm 2018 NHIM V Đ ÁN TT NGHIP H tên sinh viên: Trn Thanh Lâm MSSV: 14141160 Trn Phan Ái Mỹ MSSV: 14141200 Chuyên ngành: Đin t công nghip Mã ngành: 14941 H đào to: Đi hc chính quy Mã h: K14941 Khóa: 2014 Lp: 14941DT I. TÊN Đ TÀI: THIT K, MÔ PHNG B LC NHIU TÍN HIU ĐIN TIM DÙNG MATLAB VÀ CHUYN MÃ VHDL II. NHIM V 1. Các s liu ban đu: - Tín hiu đin tim ECG đc thu thp trên Matlab - S dụng bộ x lý chính là kit FPGA Altera – DE2-115. 2. Nội dung thc hin: - Tìm hiểu về các bộ lc thông thp, lc thông cao, lc thông di. - La chn phn cứng, nghiên cứu, phân tích nguyên tắc hot động của từng khi để xây dng mô hình hoàn chỉnh cho h thng. - Thit k và mô phng bộ lc tín hiu đin tim trên Matlab và chuyển mã VHDL. III. NGÀY GIAO NHIM V: 03/10/2018 IV. NGÀY HOÀN THÀNH NHIM V: 10/01/2019 V. H VÀ TÊN CÁN B HNG DN: ThS. Nguyn Thanh Nghĩa CÁN B HNG DN BM. ĐIN T CÔNG NGHIP – Y SINH Trang i TRNG ĐH SPKT TP. H CHÍ MINH CNG HÒA XÃ HI CH NGHƾA VIT NAM KHOA ĐIN - ĐIN T ĐC LP - T DO - HNH PHÚC B MÔN ĐIN T CÔNG NGHIP – Y SINH ----o0o---- Tp. HCM, ngày 05 tháng 10 năm 2018 LCH TRÌNH THC HIN Đ ÁN TT NGHIP H tên sinh viên 1: Trn Thanh Lâm Lp: 14941DT MSSV: 14141160 H tên sinh viên 2: Trn Phan Ái Mỹ Lp: 14941DT MSSV: 14141200 Tên đề tài: THIT K, MÔ PHNG B LC NHIU TÍN HIU ĐIN TIM DÙNG MATLAB VÀ CHUYN MÃ VHDL Tuần/ngày Nội dung Xác nhận GVHD T m t i, xây d Tun 1 ì ý tởng cho đề à ng đề cng, sắp xp lịch trình thc hin đồ 03/10/2018 08/10/2018 – án. Tun 2, 3, 4 Phân tích yêu cu h thng, tìm hiểu 09/10/2018– 29/10/2018 c sở lý thuyt về tín hiu đin tim, lý thuyt về các bộ lc Tu n 5, 6, 7 T m hi u l thuy t v kit FPGA ì ể ý ề 30/10/2018 – 19/11/2018 De2_115 Tun 8 hân t kh i Xây dng và p ích s đồ của 20/11/2018– 26/11/2018 h thng. Tun 9, 10 Tin hành lp trình, thit k các bộ lc 27/11/2018 – 10/12/2018 trên FDATool của Matlab Tun 11, 12 Tin hành mô phng, chy th hot 11/12/2018 24/12/2018 – động của bộ lc và chỉnh sa các li. Tun 14, 15 25/12/2018 – 10/01/2018 Vit và hoàn thin báo cáo GV HNG DN (Ký và ghi rõ h và tên) Trang ii LI CAM ĐOAN Đề tài này do nhóm chúng em thc hin da vào một s tài liu và công trình nghiên cứu trc đó và không sao chép từ tài liu hay công trình đã có trc đó. Ngi thc hin đề tài Trn Thanh Lâm Trn Phan Ái M Trang iii LI CM N Li đu tiên, nhóm em xin gi li cm n chân thành và sâu sắc nht đn Thy Nguyn Thanh Nghĩa. Thy đã tn tình hng dn, góp ý định hng, to mi điều kin cho nhóm em trong sut quá trình thc hin đề tài tt nghip. Nhóm em xin chân thành cm n đn tt c các thy cô Khoa Đin – Đin t, Trng Đi Hc S Phm Kỹ Thut Tp HCM, nhng kin thức và kinh nghim quý báu mà chúng em nhn đc từ thy cô trong sut quá trình theo hc s là hành trang tt nht giúp chúng em vng bc trong s nghip của mình. Nhóm em xin chân thành cm n Ban Giám Hiu Trng Đi Hc S Phm Kỹ Thut Tp HCM đã to điều kin cho chúng em làm đồ án này. Cui cùng, chúng em xin gi nhng li tri ân đn gia đình, bn bè, nhng ngi thân yêu nht luôn quan tâm và to điều kin tt nht cho chúng em trong sut quá trình hc tp. Trang iv MC LC NHIM V Đ ÁN TT NGHIP ........................................................................... i LỊCH TRÌNH THC HIN Đ ÁN TT NGHIP ................................................. ii LI CAM ĐOAN ...................................................................................................... iii LI CM N ............................................................................................................ iv MC LC .................................................................................................................. v LIT KÊ HÌNH ......................................................................................................... ix LIT KÊ BNG ........................................................................................................ xi DANH MC CÁC TỪ VIT TT .......................................................................... xii CHNG 1: TNG QUAN ...................................................................................... 1 1.1 ĐT VN Đ .................................................................................................. 1 1.2 MC TIÊU ....................................................................................................... 2 1.3 NI DUNG NGHIÊN CỨU ............................................................................. 2 1.4 GII HN ........................................................................................................ 2 1.5 B CC ............................................................................................................ 2 CHNG 2: C S LÝ THUYT ........................................................................... 4 2.1 TNG QUAN V TÍN HIU ĐIN TIM ECG .............................................. 4 2.1.1 Khái nim về tín hiu đin tim ECG .......................................................... 4 2.1.2 Cu trúc gii phu và chức năng của tim ................................................... 4 2.1.3 Nhịp tim ..................................................................................................... 6 2.1.4 Các quá trình đin hc của tim................................................................... 6 2.1.5 Quá trình hình thành tín hiu đin tim ....................................................... 6 2.1.5.1 Nhĩ đồ ................................................................................................. 6 2.1.5.2 Tht đồ ................................................................................................ 7 2.1.6 S hình thành các dng sóng của tim ......................................................... 9 2.1.6.1 Tính dn truyền ................................................................................... 9 2.1.6.2 Tính tr và các thi kì tr ................................................................... 9 2.1.6.3 Đin trng của tim .......................................................................... 10 2.1.7 Các thành phn của tín hiu đin tim ECG .............................................. 10 2.1.8 Các di tn trong tín hiu đin tim ECG .................................................. 13 Trang v 2.1.9 Các phng pháp đo tín hiu ECG .......................................................... 14 2.1.9.1 Phng pháp Oscillometric .............................................................. 14 2.1.9.2 Phng pháp đin tim đồ .................................................................. 14 2.1.9.3 Phng pháp hp thụ quang hc ...................................................... 15 2.1.10 Các loi nhiu tác động đn tín hiu đin tim ........................................ 15 2.2 LÝ THUYT V TÍN HIU S VÀ B LC S ....................................... 17 2.2.1 Tng quan về tín hiu 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 Tng quan về bộ lc s ............................................................................ 22 2.3.3.1 Bộ lc thông thp LPF ...................................................................... 23 2.3.3.2 Bộ lc thông cao HPF....................................................................... 25 2.3.3.3 Bộ lc thông di BPF ....................................................................... 25 2.3 TNG QUAN V CÔNG C MATLAB ...................................................... 25 2.3.1 Gii thiu chung ....................................................................................... 25 2.3.2 Lp trình trong matlab .............................................................................. 26 2.3.2.1 M-File ............................................................................................... 26 2.3.2.2 Một s câu lnh c bn ..................................................................... 30 2.3.3 Trình mô phng Simulink ........................................................................ 34 2.3.4 Công cụ thit k bộ lc s FDATool của Matlab .................................... 38 2.3.4.1 Gii thiu phng pháp thit k theo mô hình ................................. 38 2.3.4.2 Tng quan về hộp công cụ thit k bộ lc s (FDATool) ................ 39 2.3.4.3 Thit k bộ lc s dụng giao din FDATool .................................... 41 2.4 TNG QUAN V FPGA (ALTERA) VÀ PHN MM 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 nim FPGA ...................................................................................... 46 2.4.3 Ứng dụng FPGA ...................................................................................... 48 2.4.4 Ý nghĩa FPGA .......................................................................................... 48 2.4.5 Phn mềm h tr thit k Quatus II ......................................................... 49 2.5 TNG QUAN V KIT DE2 -115 ALTERA ................................................. 51 Trang vi 2.5.1 Gii thiu.................................................................................................. 51 2.5.2 Kit DE2 Cyclone IV EP4CE115F29C7N ................................................ 52 2.5.3 Cp nguồn cho kit DE2 ............................................................................ 55 2.6 GII THIU NGÔN NG VHDL ................................................................ 55 2.6.1 Gii thiu.................................................................................................. 55 2.6.2 Cu trúc một mô hình h thng mô t bằng VHDL ................................. 57 2.6.3 Cú pháp và ng nghĩa .............................................................................. 59 2.6.3.1 Đi tng trong VHDL .................................................................... 59 2.6.3.2 Kiểu d liu trong VHDL ................................................................. 61 CHNG 3: THIT K VÀ THI CÔNG ............................................................... 62 3.1 GII THIU ................................................................................................... 62 3.2 TÍNH TOÁN VÀ THIT K H THNG .................................................... 62 3.2.1 Thit k s đồ khi h thng .................................................................... 62 3.2.2 Tính toán và thit k bộ lc dng FIR ...................................................... 62 3.2.2.1 Kt cu cho các kiểu lc tn s dng FIR: ....................................... 62 3.2.2.2 Cu hình tng quát của bộ lc FIR ................................................... 68 3.2.3 Thit k bộ lc s dng FIR theo phng pháp MBD ............................. 69 3.2.3.1 Xây dng s đồ khi ........................................................................ 69 3.2.3.2 Thit k, mô phng và chuyển mã VHDL ....................................... 70 3.3 THI CÔNG H THNG ................................................................................ 80 3.3.1 Biên dịch chng trình trên Quartus II .................................................... 80 3.3.2 S đồ khi trên Quartus ........................................................................... 83 3.3.3 Mô phng bộ lc dùng ModelSim ........................................................... 84 3.3.3.1 Tng quát về phn mềm mô phng ModelSim ................................ 84 3.3.3.2 Mô phng mch lc trên ModelSim ................................................. 85 3.3.4 Th nghim và kiểm tra ........................................................................... 86 CHNG 4: KT QU - NHN XÉT - ĐÁNH GIÁ ........................................... 87 4.1 KT QU ....................................................................................................... 87 4.1.1 Kt qu mô phng bộ lc trên Matlab ..................................................... 87 4.1.2 Kt qu dng sóng mô phng trên ModelSim ......................................... 99 4.2 NHN XÉT – ĐÁNH GIÁ ............................................................................ 99 Trang vii CHNG 5: KT LUN VÀ HNG PHÁT TRIỂN ....................................... 101 5.1 KT LUN ................................................................................................... 101 5.2 HNG PHÁT TRIỂN ................................................................................ 101 TÀI LIU THAM KHO ...................................................................................... 102 PH LC ............................................................................................................... 103 Trang viii LIT KÊ HÌNH Hình 2.1 Cu to tim ngi ............................................................................................. 4 Hình 2.2 H thng dn truyền tim ................................................................................... 5 Hình 2.3 Kh cc tâm nhĩ và s hình thành sóng P ........................................................ 7 Hình 2.4 Kh cc vách liên tht và s hình thành sóng Q .............................................. 7 Hình 2.5 Dng sóng tín hiu đin tim............................................................................ 10 Hình 2.6 Máy đó huyt áp kỹ thut s s dụng Oscillometric ...................................... 14 Hình 2.7 Thu thp tín hiu ECG từ các đin cc .......................................................... 14 Hình 2.8 Dng sóng của bnh thiu máu cục bộ c tim................................................ 17 Hình 2.9 S đồ khi của h x lý s ............................................................................. 20 Hình 2.10 S đồ khi của h x lý s phức tp............................................................. 20 Hình 2.11 Ký hiu phn t cộng ................................................................................... 21 Hình 2.12 Ký hiu phn t nhân ................................................................................... 21 Hình 2.13 Ký hiu phn t nhân vi hằng s ................................................................ 21 Hình 2.14 Ký hiu phn t tr đn vị ............................................................................ 22 Hình 2.15 S đồ khi bộ lc thông thp dng chính tắc ............................................... 24 Hình 2.16 S đồ khi bộ lc thông thp dng chuyển vị .............................................. 24 Hình 2.17 Giao din trình mô phng Simulink ............................................................. 35 Hình 2.18 Khi Sine Wave và thông s cài đt ............................................................. 36 Hình 2.19 Khi Scope và màn hình hiển thị ................................................................. 36 Hình 2.20 Khi Random Source và thông s cài đt .................................................... 37 Hình 2.21 Khi Sum và thông s cài đt ....................................................................... 37 Hình 2.22 Khi Gain và thông s cài đt ...................................................................... 38 Hình 2.23 Giao din thit k của FDATool .................................................................. 41 Hình 2.24 Thông s kỹ thut bộ lc thông thp ............................................................ 43 Hình 2.25 Đáp tuyn biên độ_ tn s pha của bộ lc thông thp .................................. 44 Hình 2.26 Chuyển thit k trên FDATool sang mã VHDL ........................................... 45 Hình 2.27 Kin trúc tng quan của FPGA .................................................................... 46 Hình 2.28 Cu trúc SRAM FPGA (SRAM Logic Cell) ................................................ 47 Hình 2.29 Cu trúc của OTP FPGA (OTP Logic Cell) ................................................. 47 Hình 2.30 Giao din phn 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 đồ khi của h thng ................................................................................. 62 Hình 3.2 Đc tính biên độ tn s của bộ lc thông thp lý tởng ................................. 63 Hình 3.3 Đc tính biên độ tn s của bộ lc thông cao lý tởng .................................. 65 Hình 3.4 Đc tính biên độ tn s của bộ lc thông di lý tởng ................................... 67 Hình 3.5 Cu hình tng quát của bộ lc FIR đáp ứng xung hu hn............................ 68 Trang ix Hình 3.6 S đồ khi chức năng của h thng ................................................................ 69 Hình 3.7 Thông s của bộ lc thông thp dng FIR ...................................................... 70 Hình 3.8 Thông s của bộ lc thông cao dng FIR ....................................................... 71 Hình 3.9 Thông s của bộ lc thông di dng FIR ........................................................ 71 Hình 3.10 Chn ch độ lc thông thp cho khi mô phng .......................................... 72 Hình 3.11 Khi lc thông thp trong Simulink ............................................................. 72 Hình 3.12 Thit lp mô phng lc nhiu thông thp ECG ............................................ 73 Hình 3.13 Chn ch độ thông cao cho khi mô phng ................................................. 74 Hình 3.14 Khi lc thông cao trong Simulink .............................................................. 74 Hình 3.15 Thit lp mô phng lc nhiu thông cao ECG ............................................. 75 Hình 3.16 Chn ch độ thông di cho khi mô phng .................................................. 76 Hình 3.17 Khi lc thông cao trong Simulink .............................................................. 76 Hình 3.18 Thit lp mô phng lc nhiu thông di ECG .............................................. 77 Hình 3.19 Thit lp mô phng lc nhiu ngu nhiên thông thp ECG ......................... 78 Hình 3.20 Chuyển mã VHDL theo s đồ khi .............................................................. 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 Chy kiểm tra li Analysis & Synthesis ....................................................... 82 Hình 3.24 Biên dịch li chng trình ............................................................................ 83 Hình 3.25 Giao din v s đồ khi ................................................................................ 83 Hình 3.26 V s đồ khi trong Block Diagram ............................................................. 84 Hình 3.27 Giao din phn mềm ModelSim version 6.5 ................................................ 85 Hình 3.28 Hộp thoi đt tên project ModelSim ............................................................ 85 Hình 3.29 Hộp thoi add file cho project trong ModelSim ........................................... 85 Hình 3.30 Biên dịch file mô phng thành công ............................................................ 86 Hình 3.31 Quá trình ti cu hình xung FPGA ............................................................. 86 Hình 4.1 Các dng sóng của h thng bộ lc thông thp trng hp 1 ........................ 87 Hình 4.2 Các dng sóng của h thng bộ lc thông thp trng hp 2 ........................ 88 Hình 4.3 Các dng sóng của h thng bộ lc thông thp trng hp 3 ........................ 89 Hình 4.4 Các dng sóng của h thng bộ lc thông thp trng hp 4 ........................ 89 Hình 4.5 Các dng sóng của h thng bộ lc thông cao trng hp 1.......................... 90 Hình 4.6 Các dng sóng của h thng bộ lc thông cao trng hp 3.......................... 91 Hình 4.7 Các dng sóng của h thng bộ lc thông cao trng hp 2.......................... 91 Hình 4.8 Các dng sóng của h thng bộ lc thông cao trng hp 4.......................... 92 Hình 4.9 Các dng sóng của h thng dùng bộ lc thông di ....................................... 93 Hình 4.10 Dng sóng của h lc nhiu ngu nhiên dùng lc thông thp ln 1 ............. 94 Hình 4.11 Thit lp mô phng lc nhiu ngu nhiên thông thp ECG có khuch đi .. 94 Hình 4.12 Dng sóng của h lc nhiu ngu nhiên dùng lc thông thp ln 2 ............. 95 Hình 4.13 Dng sóng của h lc nhiu ngu nhiên dùng lc thông thp ln 3 ............. 95 Trang x Hình 4.14 Thit lp mô phng lc nhiu ngu nhiên thông cao ECG có khuch đi ... 96 Hình 4.15 Dng sóng của h lc nhiu ngu nhiên dùng lc thông thp ln 1 ............. 96 Hình 4.16 Dng sóng của h lc nhiu ngu nhiên dùng lc thông thp ln 2 ............. 97 Hình 4.17 Thit lp mô phng lc nhiu ngu nhiên thông di ECG có khuch đi .... 97 Hình 4.18 Dng sóng của h lc nhiu ngu nhiên dùng lc thông di ln 1 ............... 98 Hình 4.19 Dng sóng của h lc nhiu ngu nhiên dùng lc thông di ln 2 ............... 98 Hình 4.20 Dng sóng mô phng trên ModelSim ........................................................... 99 LIT KÊ BNG 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 MC CÁC T VIT TT 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 CHNG 1. TNG QUAN CHNG 1: TNG QUAN 1.1 ĐẶT VN Đ X lý tín hiu s (Digital Dignal Processing – DSP), hay tng quát hn là x lý tín hiu ri rc theo thi gian (Discrete-Time Signal Processing), là vic x lý một tín hiu vào bt kỳ để thu đc tín hiu ra mong mun, nhằm đt mục đích nht định. X lý tín hiu ngày càng đóng vai trò quan trng trong nhiều ngành khoa hc và kỹ thut, là động lc thúc đy s tin bộ của nhiều ngành kỹ thut cao nh: vin thông, đa phng tin, cũng nh góp phn quan trng trong các lĩnh vc khác nh quân s, y hc, Cùng vi s bùng n của ngành công nghip đin t hin nay, công ngh x lý tín hiu s DSP cũng bùng n nhanh chóng và rt phát triển. Có thể nói, x lý tín hiu s là nền tng cho mi lĩnh vc và cha có s biểu hin bão hòa trong s phát triển của nó, vy nên, ngày nay, có nhiều phn mềm (Matlab, Scilab, ) cũng nh phn cứng (PC, Vi điều khiển, Arduino, FPGA, ) đc dùng để x lý tín hiu s [1]. Công ngh FPGA (Field – Program Gate Array) là vi mch dùng cu trúc mng phn t logic mà ngi dùng có thể lp trình đc. FPGA chứa các logic cells thc hin các mch logic đc kt ni vi nhau bởi ma trn kt ni và chuyển mch lp trình đc. Thit k hay lp trình cho FPGA đc thc hin chủ yu bằng các ngôn ng mô t phn cứng HDL, VHDL, VERILOG, FPGA đc xem nh một loi vi mch bán dn có nhiều u điểm hn hẳn các loi bán dn xut hin trc đó nh có tính linh động đi vi ngi dùng, giúp phát triển các gii pháp tt hn mà không phụ thuộc vào phn cứng của nhà sn xut,ngoài ra, FPGA còn có thể tái cu trúc li khi đang s dụng: ngoài kh năng tái cu trúc vi mch toàn cục, một s FPGA hin đi còn h tr tái cu trúc cục bộ, tức kh năng tái cu trúc một bộ phn riêng lẻ trong khi vn đm bo hot động bình thng cho các bộ phn khác, công đon thit k đn gin, do vy chi phí gim, rút ngắn thi gian [1-2]. Trc đó, đã có một s đề tài nghiên cứu về X lý tín hiu s dùng FPGA nh: “Thit k bộ lc tín hiu s trên công ngh FPGA vi công cụ Matlab và EDA của XILINX” [3], “Thit k trên FPGA để loi ồn cho tín hiu ECG nh bin đi sóng con” [4], “Thit k bộ lc s trên dsPIC ứng dụng trong vic x lý đin tâm đồ” [5]. Cụ thể, đề tài [3] dùng Matlab để thit k bộ lc tín hiu s dng FIR, dùng kit FPGA của hãng B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 1 CHNG 1. TNG QUAN Xilinx và ngôn ng VHDL để x lý tín hiu s. Công trình [4] dùng phép bin đi wavelet ri rc (Discrete Wavelet Transform – DWT) để x lý tín hiu ECG, theo thi gian thc, trên nền FPGA hãng Xilinx. Bên cnh đó, vic s dụng Vixlý dsPIC30F3012 để thit k bộ lc thông thp và lc thông chn nhằm lc nhiu cho tín hiu ECG cũng đã đc nghiên cứu trong đề tài [5]. Từ nhng c sở lý thuyt đã tìm hiểu và nhng công trình nghiên cứu trc đó, thêm vào đó là nhu cu về lc nhiu tín hiu ECG, nhóm quyt định chn đề tài: “THIT K, MÔ PHNG B LC NHIU TÍN HIU ĐIN TIM DÙNG MATLAB VÀ CHUYỂN MÃ VHDL”. 1.2 MC TIÊU Xây dng một bộ lc s trên nền tng FPGA để lc nhiu tín hiu đin tim ECG nhằm đem li tín hiu xác thc nhằm h tr tt hn cho vic khám cha bnh. Trong đó, FPGA đc xem nh là phn cứng vi chức năng thc thi bộ lc nhiu cho tín hiu đin tim, còn Matlab đc s dụng nh một công cụ để thit k và mô phng bộ lc nhằm đánh giá kh năng thc hin trong thc t. 1.3 NI DUNG NGHIÊN CU • NI DUNG 1: Nghiên cứu tng quan về FPGA, ngôn ng VHDL, tín hiu ECG, các bộ lc thông cao, thông thp, thông di. • NI DUNG 2: Nghiên cứu về kit FPGA Altera – DE2-115. • NI DUNG 3: Thit k bộ lc và mô phng trên Matlab. • NI DUNG 4: Mô phng và thc thi bộ lc trên kit FPGA Altera – DE2-115. • NI DUNG 5: Chy th nghim h thng. • NI DUNG 6: Chỉnh sa các li lp trình và li của các thit bị. • NI DUNG 7: Vit lun văn. • NI DUNG 8: Báo cáo đề tài tt nghip. 1.4 GII HN • Thit k bộ lc thông thp, thông cao và thông di cho tín hiu ECG. • Khong tn s bộ lc dao động từ 50–120Hz. • Nền tng phn cứng thc thi bộ lc dùng kit FPGA Altera – DE2-115. 1.5 B CC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 2 CHNG 1. TNG QUAN • Chng 1: Tng Quan Chng này trình bày đt vn đề dn nhp lý do chn đề tài, mục tiêu, nội dung nghiên cứu, các gii hn thông s và b cục đồ án. • Chng 2: C Sở Lý Thuyt Chng này gii thiu các lý thuyt liên quan, các linh kin, thit bị, phn cứng s dụng thit k. • Chng 3: Thit k và thi công h thng Chng này tính toán thit k h thng, thit k s đồ khi, chức năng từng khi và thc thi chng trình trên FPGA. • Chng 4: Kt Qu, Nhn Xét, Đánh Giá Chng này nêu kt qu đã đt đc, nhn xét đánh giá h thng. • Chng 5: Kt Lun và Hng Phát Triển Chng này trình bày nhng gì đã đt đc và cha đt đc so vi mục tiêu ban đu, nêu hng phát triển. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 3 CHNG 2. C S LÝ THUYT CHNG 2: C S LÝ THUYT 2.1 TNG QUAN V TÍN HIU ĐIN TIM ECG 2.1.1 Khái nim v tín hiu đin tim ECG Một trong các tín hiu đin sinh hc quan trng và kinh điển nht ứng dụng trong vic chn đoán và điều trị bnh là tín hiu đin tim đồ (hay còn gi là đin tâm đồ, ting Anh: Electrocardiogram hay thng gi tắt là ECG hay EKG). ECG là tín hiu đin thu đc từ các đin cc gắn lên c thể ngi để đo các hot động của tim ngi. Khi tim đp tác dụng lên các đin cc to ra các xung đin. Thông thng các xung đin này rt nh do đó cn phi khuch đi lên rồi mi đc x lí. Tín hiu đin tim đc đc trng bởi các dng sóng đc ký hiu P, Q, R, S, T và U [2, 3]. Do trái tim trong h tun hoàn là bộ phn có cu to hoàn toàn bằng c. Mi khi co li trong quá trình bm máu, nó s to ra một đin trng sinh hc và truyền qua khi dn liên hp từ ngc, bụng ti bề mt da. Vì th, chúng ta có thể đo đc s chênh lch đin th sinh hc này từ bt kỳ 2 điểm nào trên bề mt da. Tín hiu thu đc ti mi cp 2 điểm này đc gi là một đo trình của tín h...thể đc mô t bằng s đồ khi chi tit hn hoc s đồ cu trúc. Về phng din phn cứng thì s đồ khi cho bit cu trúc tng thể của h x lý s, còn s đồ cu trúc cho phép thit k và thc hin một h x lý s cụ thể. Về phng din phn mềm thì s đồ khi chính là thut toán tng quát của một chng trình x lý s liu mà mi khi có thể xem nh một chng trình con, còn s đồ cu trúc là thut toán chi tit mà từ đó có thể vit đc các dòng lnh của một chng trình hoc chng trình con. Các phn t cu trúc đc xây dng trên c sở các phép toán đi vi các dãy s là cộng, nhân, nhân vi hằng s, dịch tr. Phần tử cộng: Phn t cộng dùng để cộng hai hay nhiều tín hiu s, nó là phn t không nh và đc ký hiu nh hình di. Hai hình di trình bày mch phn cứng có bộ cộng hai tín hiu s. Chúng là vi mch cộng hai dãy s mã nhị phân 4 bit hoc 8 bit. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 20 CHNG 2. C S LÝ THUYT 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: Phn t nhân dùng để nhân hai hay nhiều tín hiu s, nó là phn t không nh và đc ký hiu nh hình: x1(n) x1(n) X y(n) x2(n) X y(n) xi(n) x2(n) xM(n) a. y(n) = x1(n). x2(n) b. = ෑ = Hình 2.12 Ký hiệu phần tử nhân Mch phn cứng có bộ nhân hai tín hiu s nh hìnhở 2.16 là vi mch nhân hai s mã nhị phân 4 bit hoc 8 bit. Phần tử nhân với hằng số:Phn t nhân vi hằng s dùng để nhân một tín hiu s vi một hằng s, nó là phn t không nh và đc ký hiu nh hình: x(n) y(n) = a.x(n) a Hình 2.13 Ký hiệu phần tử nhân với hằng số Để nhân tín hiu sx(n) vi hằng s a, s dụng bộ nhân hai s vi một đu vào và tín hiu s x(n), còn đu vào kia là giá trị mã của a. Phần tử trễ đơn vị:Phn t tr đn vị dùng để gi tr tín hiu sx(n) một mu, nó là phn t có nh và đc ký hiu nh ở hình: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 21 CHNG 2. C S LÝ THUYT Đi vi mch phn cứng, để thc hin gi tr tín hiu s x(n), ngi ta s dụng bộ ghi dịch, thanh ghi cht hoc bộ nh, chúng thng đc sn xut di dng vi mch s 4 bit hoc 8 bit. x(n) D y(n) = x(n –1) Hình 2.14 Ký hiệu phần tử trễ đơn vị 2.2.2.2 H x lý s đ quy và không đ quy H x lý s không đ quy: là h có phn ứ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), ... vi k  1, r  1) không có các thành phn của phn ứ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 gi là quan h vào ra không đ quy. ⇒ H x lý s đ quy: là h có phn ứng y(n) phụ thuộc vào c tác động bk x(n – k) ln∗ phn ứng ở quá khứ ar y(n – r). H x lý s nhân qu đ quy có quan h vào ra vi 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 gi là quan h vào ra đ quy. 2.⇒2.3 Tng quan v b lc s Trong x lý tín hiu, bộ lc s là một h thng thc hin các phép bin đi toán hc trên tín hiu đã đc ly mu (tín hiu ri rc theo thi gian) để thay đi hình dng của tín hiu. Bộ lc s là một h thng làm bin dng s phân b tn s các thành phn của tín hiu theo chỉ tiêu cho trc. Một tín hiu có đu vào là x(n) đi qua h thng có đáp ứng xung h(n) thì đu vào và đu ra có quan h h sau: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 22 CHNG 2. C S LÝ THUYT ∞ (2.5) = ℎ ∗ = ෍ ℎ − Quan h này nói rằng chiều dài của h(n) =rt quan trng, các h s h(n) là đc trng cho c h thng. Chính vì th ngi ta phân loi các h thng thành hai loi tùy theo chiều dài của đáp ứng xung h(n): - FIR (Finite-Duration Impulse Response): h thng đc trng bởi đáp ứng xung có chiều dài hu hn, tức là h(n) khác 0 trong một khong có chiều dài hu hn N (từ 0 đn N-1): − (2.6) = ℎ ∗ = ෍ ℎ − - IIR (Infinite-Duration Impulse Response): H= thng đc trng bởi đáp ứng xung có chiều dài vô hn, tức là h(n) khác 0 trong một khong thi gian vô hn từ 0 đn ∞: ∞ (2.7) = ℎ ∗ = ෍ ℎ − Bộ lc IIR mang tính tng quát hn bộ lc =FIR vì IIR là bộ lc đ quy còn bộ lc FIR ⇒là bộ lc không đ quy. Da vào đáp ứng tn s mà chia các bộ lc thành các loi khác nhau: Lc thông thp, lc thông cao, lc thông di. 2.3.3.1 B lc thông thp LPF Lc thông thp là bộ lc chỉ cho phép các tn s thp hn tn s cắt đi qua, còn thành phn tn s cao thì bị loi b. Thit k bộ lc có hai phng pháp: da vào tn s ly mu hoc da vào bin đi Fourier. Đáp ứng xung của bộ lọc FIR được cho theo công thức: − (2.8) = ෍ − Hàm truyền của bộ lọc FIR: = -k+1 H(z) = b0 + b1 b2 + + bk-1 z (2.9) − − B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 23 CHNG 2. C S LÝ THUYT Trong đó: bi h s của bộ lc k là chiều dài của bộ lc 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 ĐIN T CÔNG NGHIP – Y SINH Trang 24 CHNG 2. C S LÝ THUYT Chú thích các khi trong s đồ: + −ퟏ Khi cộng Khi풛 Delay Khi 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 lc thông cao HPF[] = 훿[] − Lc thông cao là bộ lc chỉ cho chép các tn s휋 ln hn tn s cắt đi qua, còn thành phn tn s thp hn thì bị loi 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 lc thông di BPF[ ] = 훿[] − Bộ lc thông di là bộ lc chỉ cho các thành휋 phn tn s trong một di điqua, các thành phn tn s ln hn và bé hn thì loi 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 TNG QUAN V CÔNG C MATLAB 휋 2.3.1 Gii thiu chung Matlab là vit tắt của Matrix Laboratory, là một bộ phn mềm toán hc của hãng Mathworks đc dùng để lp trình, tính toán s và có tính trc quan rt cao. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 25 CHNG 2. C S LÝ THUYT Matlab làm vic chủ yu vi ma trn. Ma trn cỡ mxn là bng ch nht gồm mxn s đc sắp xp thành m hàng và n cột. Matlab có thể làm vic vi nhiều kiểu d liu khác nhau. Vi chui 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 để gii quyt các bài toán về gii tích s, x lý tín hiu s, x lý đồ ha, mà không phi lp trình c điển. Hin nay, Matlab có đn hàng ngàn lnh và hàm tin ích. Ngoài các hàm cài sn trong chính ngôn ng, Matlab còn có các lnh và hàm ứng dụng chuyên bit trong các Toolbox, để mở rộng môi trng Matlab nhằm gii quyt các bài toán thuộc các phm trù riêng. Các Toolbox khá quan trng và tin ích cho ngi dùng nh toán s cp, x lý tín hiu s, x lý nh, x lý âm thanh, ma trn tha, logic m, Vi Matlab, bài toán tính toán, phân tích, thit k và mô phng trở nên d dàng hn trong nhiều lĩnh vc chuyên ngành nh: Đin, Đin t, C khí, C đin t, Các ưu điểm của Matlab: - Matlab là công cụ tính toán rt mnh, trc quan, d dùng, mở rộng và phát triển. - Matlab có kh năng liên kt đa môi trng, liên kt d dàng vi ngôn ng lp trình C++, Visual C, FORTRAN, JAVA, - Matlab có kh năng x lý đồ ha mnh trong không gian hai chiều và ba chiều. - Các TOOLBOX trong Matlab rt phong phú, đa năng là công cụ nghiên cứu, thit k cc kỳ hiu qu trong các lĩnh vc chuyên ngành. - Công cụ mô phng trc quan SIMULINK chy trong môi trng Matlab giúp cho bài toán phân tích thit k d dàng, sinh động hn. - Matlab có kin trúc mở, d dàng trong vic xây dng thêm các module tính toán kỹ thut theo tiêu chun công nghip và truyền thng. 2.3.2 Lp trình trong matlab 2.3.2.1 M-File Trong Matlab, M-file là các file chng trình đc son tho và lu ở dng văn bn. Có hai loi M-file là Script file (file lnh) và Function file (file hàm). C hai đều có phền tên mở rộng là “.m”. Matlab có rt nhiều M-file chun đc xây dng sn. Ngi dùng cũng có thể to các M-file mi tùy theo nhu cu s dụng. Di đây là phn gii thiu s lc về hai loi M-file. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 26 CHNG 2. C S LÝ THUYT * Script file: Thay vì nhp và thc thi từng câu lnh ti ca s Command Window, ta có thể son tho (trong phn Editor) và lu tt c các câu lnh cn thit để gii bài toán vào một file gi là Script file. Sau đó, khi cn chy các câu lnh đã lu, ta chỉ cn gõ tên file vào Command Window để thc thi toàn bộ chng trình. Các bc to và thc thi một Script file: - Bước 1: To và son tho các câu lnh. Script file đc son tho trong ca s Editor. Có 3 cách mở ca s Editor (hay to Script file): • Cách 1: vào menu Home → New → Script • Cách 2: Nhn t hp phím Ctrl + N • Cách 3: Trong Command Window gõ lnh edit • Cách 4: Nháy chuột vào icon New Script - Bước 2: Lu Script file đã son tho xong. Tp tin Script file có phn mở rộng là “.m”, và đc lu vào th mục hin hành. Nu không có s la chn khác thì th mục hin hành đc mc định là th mục work của Matlab. Ngoài ra, ngi dùng cũng có thể la vào bt cứ ni nào trong máy tính, nhng tránh để gp nhng trng hp hi khi chy (run) chng trình thì khuyn cáo lu vào th mục mc định. Tên tp tin phi bắt đu bằng ký t ch cái, không có khong trng gia các ký t (ging quy định về tên bin trong Matlab). - Bước 3: Chy tp tin Script file. Có hai cách gi thc hin Script file: • Cách 1: Trong ca s son tho Editor click nút Run trên thanh Toolbar. • Cách 2: Trong ca s Command Window gõ tên file (không bao gồm phn mở rộng “.m”), sau đó nhn Enter để thc thi. Lu ý: dù gi thc hin Script file theo cách nào thì Matlab cũng đều xut kt qu tính toán ti ca s Command Window. Mở một M-file đã lưu: Trong quá trình thục thi chng trình, khi ngi dùng có nhu cu mở li một M- file đã có để xem hoc chỉnh sa s có các cách nh sau: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 27 CHNG 2. C S LÝ THUYT • Cách 1: Trong ca s Editor hoc Home, vào menu Open và mở file cn dùng. • Cách 2: Ti Command Window, gõ lnh edit (‘đng dn\tên file’), nu lu trong đĩa C (th mục mc định của Matlab), ta không cn phi gõ đng dn vào. Ví dụ: mở một file ml.m đã lu trong đĩa E, ta gõ lnh >>edit E:\ml.m hoc >>edit E:\ml. Nu lu trong th mục mc định ( C) ta chỉ cn gõ >>edit ml.m hoc >>edit ml. • Cách 3: Dùng t hp phím Ctrl + O để mở. Ví dụ một đon Script file đc mở trong Matlab: * Function file: Tng t nh trong toán hc, các hàm (function) trong Matlab s nhn vào giá trị của các đi s và tr về giá trị tng ứng của hàm. Trình t to và thc thi một file hàm bao gồm các bc nh sau: - Bước 1: To hàm. Function file đc son tho trong ca s Editor. Mở ca s Editor, sau đó to Function file bằng cách: vào menu Home → New → Function (to t động) hoc gõ hàm theo cu trúc chun: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 28 CHNG 2. C S LÝ THUYT function [danh sách tham s ra] = tên hàm (danh sách tham s vào) - Bước 2: Lu function file đã son tho xong. Nh cách lu của Script file, khi lu hàm, Matlab s ly tên hàm làm tên file vi đuôi “.m”, ngi lp trình không nên sa li tên này để tránh ln lộn khi gi thc hin hàm. - Bước 3: Gi thc hin Function file. Thc hin tng t nh gi thc hin Script file vì đc lu di dng đuôi “.m”. Mở function file đã lu cũng đc thc hin nh khi mở Script file. Ví dụ một đon Function file đc mở và thc thi trong Matlab: Các đặc điểm của hàm: - Các hàm chỉ thông tin vi Matlab thông qua các bin truyền vào cho nó và các bin ra mà nó to thành, các bin trung gian ở bên trong hàm thì không tng tác vi môi trng Matlab. - Khi Matlab thc hin ln đu các function file, nó s mở file và dịch các dòng lnh của file đó ra một dng mã lu trong bộ nh nhằm mục đích tăng tc độ thc hin các li gi hàm tip theo. Nu sau đó không có s thay đi gì trong M-file, quá trình B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 29 CHNG 2. C S LÝ THUYT dịch s không xy ra ln thứ hai. Nu trong hàm có chứa li gi hàm M-file khác thì các hàm đó cũng đc dịch vào trong bộ nh. Bằng lnh clear function ta có thể xóa cỡng bức các hàm đã dịch, nhng vn gi nguyên các M-file. - Mi hàm có không gian làm vic riêng của nó (local workspace) tách bit vi môi trng Matlab (s dụng base workspace), mi quan h duy nht gia các bin trong hàm vi môi trng bên ngoài là các bin vào và ra của hàm đó. Nu bn thân các bin 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 bin của môi trng Matlab. Các bin của hàm s đc gii phóng ngay sau khi hàm thc thi xong nhim vụ, vì vy không thể s dụng thông tin của ln gi trc cho ln gi sau. - Các hàm có thể s dụng chung các bin vi hàm khác hay vi môi trng Matlab nu các bin đc khai báo là bin toàn cục. Để có thể truy cp đc các bin bên trong một hàm thì các bin đó phi đc khai báo là bin toàn cục trong mi 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 phi đc đt tên trùng vi tên của M-file. Các hàm khác đc khai báo thông qua câu lnh function đc vit sau hàm đu tiên. Các hàm con (local function) chỉ đc s dụng bởi hàm chính, tức là ngoài hàm chính ra thì không có hàm nào khác có thể gi đc chúng. Tính năng này cung cp một gii pháp hu hiu để gii quyt từng phn của hàm chính một cách riêng r, to thun li cho vic lp một file hàm duy nht để gii bài toán phức tp. 2.3.2.2 Mt s câu lnh c bn * Lnh for: - Công dụng: Dùng để thc hin 1 công vic cn lp đi lp li theo một quy lut, vi s bc lp xác định trc. - Cú pháp: for bin điều khiển = giá trị đu : giá trị cui, thc hin công vic; end - Giải thích: Công vic chính là các lnh cn thi hành, có thể có nhiều lnh, kt thúc lnh B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 30 CHNG 2. C S LÝ THUYT phi có du ; - 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 % phn kt qu: Nhóm Lam – My chao cac ban Nhóm Lam – My chao cac ban * Lnh function: - Công dụng: To thêm hàm mi. - Cú pháp: function s = n(x) Trong đó: + s: tên bin chứa giá trị tr về sau khi thi hành hàm. + n: tên gi nh. * Lnh input: - Công dụng: Dùng để nhp vào 1 giá trị. - Cú pháp: tên bin = input(‘promt’) tên bin = input(‘promt’, ‘s’) Trong đó: + tên bin là ni lu giá trị ngp vào. + ‘promt’: chui ký t mun nhp vào. + ‘s’: cho bit giá trị nhp vào là nhiều ký t. - Ví dụ 1: x = input(‘nhp giá trị của bin x: ’) % phn kt qu: nhp giá trị của bin x: 5 x = 5 B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 31 CHNG 2. C S LÝ THUYT - Ví dụ 2: tr_li = input(‘bn có mun tip tục không? ’,’s’) % phn kt qu: bn có mun tip tục không? không tr_li = không * Lnh if elseif else: - Công dụng: Thc hin lnh khi tha điều kin. - Cú pháp: if biểu thức lun lý 1 thc hin công vic 1; elseif biểu thức lun lý 2 thc hin công vic 2; else thc hin công vic 3; end - Giải thích: + Khi biểu thức lun lý 1 đúng thì thc hin công vic 1 tng t cho biểu thức lun lý 2. Nu c hai biểu thức sai thì thc hin công vic sau lnh else. + Biểu thức lun lý là các phép so sánh ==, , = + Công vic chính là các lnh cn thi hành, có thể có nhiều lnh, kt thúc lnh phi có du ; - Ví dụ: Vit chng trình nhp vào 2 s và so sánh hai s đó. a = input(‘Nhp a: ’); b = input(‘Nhp b: ’); if a > b disp(‘a ln hn b’); elseif a ==b B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 32 CHNG 2. C S LÝ THUYT disp(‘a bằng b’); else disp(‘a nh hn b’); end % phn kt qu: Nhp a: 4 Nhp b: 5 a nh hn b * Lnh while: - Công dụng: Dùng để thc hin 1 công vic cn lp đi lp li theo một quy lut, vi s bc lp không xác định, phụ thuộc vào biểu thức lun lý. - Cú pháp: while biểu thức lun lý thc hin công vic; end - Giải thích: + Biểu thức lun lý là các phép so sánh = =, , = + Công vic chính là các lnh cn thi hành, có thể có nhiều lnh, kt thúc lnh phi có du ; + Khi thc hin xong công vic thì quay lên kiểm tra li biểu thức lun lý, nu vn còn đúng thì tip tục thc hin, nu sai thì kt thúc. - Ví dụ: tính tng A = 1+1/2+1/3++1/n n = input(‘nhp vào s n: ’); a = 0; i = 1 while i <= n a = a + 1/i i = i + 1; B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 33 CHNG 2. C S LÝ THUYT end disp(‘ket qua:’); disp(a); % phn kt qu: nhap vao so n: 3 ket qua: 1.8333 2.3.3 Trình mô phng Simulink Simulink là một công cụ trong Matlab dùng để mô hình, mô phng và phân tích các h thng động vi môi trng giao din s dụng bằng đồ ha. Vic xây dng mô hình đc đn gin hóa bằng các hot động nhp chuột và kéo th. Simulink bao gồm một bộ th vin khi vi các hộp công cụ toàn din cho c vic phân tích tuyn tính và phi tuyn. Simulink là một phn quan trng của Matlab và có thể d dàng chuyển đi qua li trong quá trình phân tích, và vì vy ngi dùng có thể tn dụng đc u th của c hai môi trng. Simulink là thut ng mô phng d nh đc ghép bở hai từ Simulation và Link. Simulink cho phép mô t h thng tuyn tính, h phi tuyn, các mô hình trong miền thi gian liên tục hay gián đoán, hoc gồm c liên tục và gián đon. Để mô hình hóa, Simulink cung cp cho bn một giao din đồ ha để s dụng và xây dng mô hình s dụng thao tác “nhn và kéo” chuột. Vi giao din đồ ha ta có thể xây dng mô hình và kho sát mô hình một cách trc quan hn. Đây là s khác xa các phn mềm trc đó mà ngi s dụng phi đa vào các phng trình vi phân và phng trình sai phân bằng một ngôn ng lp trình Có thể mở Simulink bằng 2 cách: - Cách 1: Click vào biểu tng Simulink ở mục Home trên thanh công cụ: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 34 CHNG 2. C S LÝ THUYT - Cách 2: Từ ca s lnh (Command Window), gõ lnh Simulink và nhn enter: Sau khi khởi động Simulink ta đc màn hình ca s Simulink. Ca s này hot động liên kt vi ca s Matlab. Hình 2.17 Giao diện trình mô phỏng Simulink * Các khi chc năng trong th vin Simulink: Trình mô phng Simulink có các khi chức năng Block Library: phiên bn Matlab R2018a, khi to một trình mô phng Simulink mi, chúng ta phi click vào biểu tng Library Browser để mở th vin các khi chức năng. Từ ca s lnh ta thy đc các khi th vin: Khi nguồn (Sources), khi đu do (Sinks), Khi phi tuyn (Nonlinear), khi tuyn tính (Linear), khi đu ni (Connections), Ti th vin hin có rt nhiều khi s đồ để ta la chn, tuy nhiên trong gii hn đề tài chỉ xin gii thiu một s khi liên quan: + Sin Wave: Khi phát ra sóng có dng sin đc ly từ th vinDSP System Toolbox hoc DSP System Toolbox HDL Support vì đây là sóng sin dng s. Các thông s: Giá trị biên độ (Amplitude), tn s (Frequency – đn vị Hz), pha (Phase offet), thi gian ly mu (chỉ áp dụng cho h gián đon). B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 35 CHNG 2. C S LÝ THUYT Hình 2.18 Khối Sine Wave và thông số cài đặt + Scope: Khi scope có thể đc ly từ th vin HDL Coder hoc Simulink/Sinks. Khi này hiển thị dng tín hiu trong sut thi gian mô phng (ging nh Oscilloscope) + Random Source: Khi này đc ly 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ị ngu nhiên, có thể biểu trng cho nhiu Các thông s: loi nguồn (Source type), tn s ly mu (Sample Time), B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 36 CHNG 2. C S LÝ THUYT Hình 2.20 Khối Random Source và thông số cài đặt + Sum: Ngõ ra tng các ngõ vào, có chức năng cộng hai hay nhiều tín hiu li vi nhau. Khi này đc ly 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 hiu vào nhân vi một hằng s. Khi này đc ly từ Simulink/Math Operations. Các thông s: h s (Gain), phép nhân (Multiplication). B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 37 CHNG 2. C S LÝ THUYT Hình 2.22 Khối Gain và thông số cài đặt + ECG Signal Selector: Nguồn tín hiu ECG này đc Matlab xây dng nên có sn trong Matlab. Các tín hiu ECG đc s dụng trong vic phát triển và th nghim các thut toán x lý tín hiu y sinh chủ yu từ ba nguồn: 1) C sở d liu y sinh (ví dụ: C sở d liu lon nhịp MIT- BIH) hoc d liu ECG đc ghi li trc đó; 2) gi lp ECG; 3) Thu thp d liu ECG thi gian thc. Trong Matlab, các tín hiu ECG đc ghi li và mô phng trc đc s dụng. Các tín hiu đều có tn s ly mu là 360 Hz. • Một bộ d liu ECG thc đc ghi li đc ly mu từ một tình nguyn viên khe mnh vi nhịp tim trung bình là 82 nhịp mi phút (bpm). D liu ECG này đã đc lc trc và khuch đi bởi mt trc tng t trc khi đa nó vào ADC 12 bit. • Bn bộ tín hiu ECG tng hp vi nhịp tim trung bình khác nhau, từ 45 bpm đn 220 bpm. ECGSYN đc s dụng để to tín hiu ECG tng hp trong MATLAB. Di đây là các cài đt để to d liu ECG đc tng hp: • Tn s ly mu: 360 Hz. • Phụ gia đo ting ồn phân b đồng đều: 0,005 mV; • Độ lch chun của nhịp tim: 1 bpm. Th vin của Simulink bao gồm các khi chun trên, ngi s dụng có thể thay đi hay to ra các khi cho riêng mình. 2.3.4 Công c thit k b lc s FDATool ca Matlab 2.3.4.1 Gii thiu phng pháp thit k theo mô hình B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 38 CHNG 2. C S LÝ THUYT Thit k theo mô hình MBD (Model_Based Design) là phng pháp da vào mô hình để xây dng một h thng nào đó. Vi phng pháp này, bn thit k cho một thit bị đin t s mang tính tng quát cao, nó đc xây dng trên một h thng các khi và s tng tác gia các khi đó. Nói theo một góc độ khác thì: từ một ý tởng thit knó s đc cụ thể hoá bằng các mục tiêu kỹ thut cho thit bị, từ mục tiêu kỹ thut đós đc triển khai thành h thng các khi chức năng mà chức năng của từng khi s đc chỉ rõ trong bng giao nhim vụ và chỉ tiêu kỹ thut cho khi. Sau đó, ngi ta thit lp mi liên h gia các khi và to ra đc s đồ khi chi tit cho thit bị. Khi thit bị đã đc kiểm tra trên các phn mềm mô phng và cho kt qu là kh thi thì vic hin thc hoá thit k s có nhiều su hng khác nhau: Theo quan điểm của MBD thì bn thit k đó s đc chuyển sang ngôn ng cu trúc của “h thng thc thi phn cứng” sau đó chuyển tp tin này cho “h thng thc thi phn cứng” thc hin (công đon này ngi ta gi công đon nhúng cho thit bị). 2.3.4.2 Tng quan v hp công c thit k b lc s (FDATool) Công cụ thit k bộ lc s (Filrter Design & Analysis Tool – FDATool) cung cp cho ta nhng kỹ thut tiên tin để thit k, phân tích, mô phng các bộ lc s. Vi nhng kỹ thut tiên tin trong kin trúc và thit k bộ lc. Nó cho phép nâng cao kh năng x lý h thng s trong thi gian thc nh vi bộ lc thích nghi, bộ lc đa nhim và s chuyển đi gia chúng. Khi s dụng hộp công cụ điểm tĩnh (Fixed-Point Toolbox – FPTool) nó cho phép đn gin hoá vic thit k cũng nh phân tích nhng hiu ứng lng t của bộ lc s. Khi s dụng mã HDL (Filter Design HDL Coder) nó cho phép chuyển đi từ kiểu thit k bộ lc theo phng pháp chn đ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): + Phng pháp tiên tin thit k bộ lc s dng FIR bao gồm: gim thiểu về thứ t, về pha, về gn sóng, về na băng tn, về tiêu chun Nyquist và về pha phi tuyn. + Thit k bộ lc FIR vi hai kênh dn (hight pass_low pass) cho kt qu rt kh quan. + Phng pháp tiên tin thit k bộ lc IIR rt mnh trong lĩnh vc phân tn (equalizers), bán kính cc, to sn dc của đáp tuyn biên độ tn s, và các bộ lc răng lc. + Phân tích và hin thc hoá một cách chính xác du chm phy động (trong vit chng trình) cho bộ lc s. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 39 CHNG 2. C S LÝ THUYT + H tr và hin thc hoá ở các bc tip theo cho thit k: sắp đt và sa li các thông s đi vi bộ lc IIR (hiu chỉnh thit k). + Thc hin một cách chính xác du chm phy động để loi b nhiu do hồi tip gây nên (vi bộ lc IIR). + Chuyển đi một cách d dàng gia bộ lc IIR và bộ lc FIR cũng nh chuyển đi gia các bộ thông tn nh: thông cao, thông thp, thông di. + Phân tích và hin thc hoá một cách hin đi các thit k bộ lc s trên c sở LMS, RLS, miền tn s, chuyển đi nhanh và tham chiu tng quan. + To ra ngôn ng VHDL và Verilog từ các bộ lc đc thit k theo kiểu chn đ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 hiu là dãy vô tn, chúng ta phi chn thit k bộ lc theo phng pháp chn điểm động và phi chỉ rõ nhng mục tiêu, yêu cu kỹ thut, đáp tuyn biên độ tn s và phng pháp hin thc hoá nó. Còn khi thit k bộ lc theo phng pháp chn điểm tĩnh, chúng ta phi chn nhng cu trúc, nhng hiu ứng phù hp vì điều đó nh hởng ln đn cht lung của bộ lc. FDATool đa ra nhiều công cụ và mô hình để ta có thể la chn cho phù hp vi mục đích s dụng của mình. * Những cấu trúc cho bộ lọc rời rạc: Di đây s trình bày nhng cu trúc để thit k bộ lc FIR. Danh sách cu trúc, mô hình đc thit k sn (h mở) trong hộp công cụ của Matlab, ngi dùng có thể tham kho ở mục Functions Categorical (hàm chức năng tuyt đi trong bng 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 Cu trúc b lc FIR Ý nghƿa dfilt.dfasymfir Bộ lc FIR không đi xứng dfilt.dffir Bộ lc FIR tuyn tính dfilt.dffirt Bin đi của Bộ lc FIR tuyn tính dfilt.dfsymfir Bộ lc FIR đi xứng B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 40 CHNG 2. C S LÝ THUYT 2.3.4.3 Thit k b lc s dng giao din FDATool FDATool cho ta một giao din thit k bộ lc s rt mnh và thun tincho ngi s dụng, một cái rt hay của nó là ta có thể chuyển đi từ thit k bộ lc trên giao din thành ngôn ng lp trình để từ đó ta có thể đóng gói và s dụng nó trong nhng thit k phát triển cao hn. Có thể nói rằng: Thit k bộ lc trên giao din củaFDATool về mt chức năng thì gn nh ging vi thit k bộ lc bằng ngôn ng lp trình trừ một s hàm chức năng đc bit mà FDATool không thể có đc, bù vào đó là s rt trc quan và d hiểu. Để khởi động FDATool: chúng ta gõfdatool vào Command Window và nhn Enter. Một giao din đc hin 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 tp tin. + Edit: công cụ son tho. + Analysis: công cụ phân tích. + View: công cụ hiển thị. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 41 CHNG 2. C S LÝ THUYT + Window: Tng thích vi h điều hành Windows. + Help: công cụ tr giúp Trong khung Current Filter Information (thông tin về bộ lc), ta có: + Store Filter: lu bộ lc vào kho. + Filter manager: Qun lý các bộ lc đã đc lu gi. Trong khung Filter Specifications (thông s kỹ thut bộ lc) là hình nh thể hin các thông s kỹ thut của bộ lc các trc quan, giúp ngi dùng d s dụng. Trong khung Response Type (kiểu đáp ứng) bao gồm các đáp ứng: + Lowpass (bộ lc thông thp). + Highpass (bộ lc thông cao). + Bandpass (bộ lc thông di). + Bandstop (bộ lc chn di). + Differentiator (bộ vi phân). Trong khung Design Method (phng pháp thit k): cho ta la chn 2 kiểu bộ lc đó là bộ lc ...u vi nhiu, kt qu sau bộ cộng là tín hiu ECG bị nhiu tác động (đúng vi yêu cu kỹ thut ban đu đề ra). - Bộ lc FIR có nhim vụ chn lc tn s không thuộc yêu cu (nhiu) và gt b. - Khi hiển thị cho phép hiển thị ti đakt qu dng sóng của các điểm kiểm tra. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 69 CHNG 3. TÍNH TOÁN VÀ THIT K 3.2.3.2 Thit k, mô phng và chuyn mã VHDL * Thit k các b lc FIR: - Bộ lọc thông thấp: Ta gõ câu lnh fdatool vào ca s Command Window để mở FDATool. Tip theo đó, ta thit lp các thông s. Sau đó, click Design Filter nh hình di. Khi hoàn thành, ta có thể lu file vi tên lowpassecg.fda để s dụng cho nhng ln tip 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: Tng t nh bộ lc thông thp, sau khi mở FDATool, ta điền các thông s, click chn Design Filter sau đó lu li vi tên highpassecg.fda để tip tục s dụng cho nhng ln tip theo. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 70 CHNG 3. TÍNH TOÁN VÀ THIT 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: Tng t nh hai bộ lc trên, bộ lc thông di đc lu vi tên bandpassecg.fda. Hình 3.9 Thông số của bộ lọc thông dải dạng FIR * Mô phng thit k: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 71 CHNG 3. TÍNH TOÁN VÀ THIT K Để mô phng đc thit k này chúng ta chuyển thit k này thành khi chức năng s dụng trong Simulink (xem mục 2.4.5 để bit 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 đã lu trc đó ta đc giao din vi các thông s đã đc cài đt nh hình 3.7. Sau đó, ta chuyển toàn bộ thit k sang dng khi chức năng để mô phng trong simulink nh sau: Từ giao din FDATool của file lowpassecg.fda, ta chn công cụ Realize Model (thanh dc bên trái giao din). đây ta đt tên khi chức năng (block name) là: lowpass và chúng ta cn chn các yêu cu bằng cách click vào các ô yêu cu vi khi chức năng nh hình v thể hin. Sau đó ta click chn Realize Model. Hình 3.10 Chọn chế độ lọc thông thấp cho khối mô phỏng Khi đó Matlab s chy khi mô phng Simulink có sn khi chức năng của bộ lc lowpass. Hình 3.11 Khối lọc thông thấp trong Simulink B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 72 CHNG 3. TÍNH TOÁN VÀ THIT K Từ khi lc thông thp trên, ta xây dng h thng mô phng lc nhiu thông thp tín hiu đin tim ECG. Nh đã trình bày ở đề tài này, nhóm chỉ tp trung lc nhiu tín hiu đin nh hình: Hình 3.12 Thiết lập mô phỏng lọc nhiễu thông thấp ECG Chn các thông s kỹ thut của khi to nhiu (khi Sine) và ECG bằng cách click đúp vào các khi, bng các thông s cài đt s đc hiển thị nh hình: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 73 CHNG 3. TÍNH TOÁN VÀ THIT K - Bộ lọc thông cao: mục này, chúng ta thc hin các bc tng t nh ở bộ lc thông thp. Trc ht, chúng ta mở file highpassecg.fda đã lu trc đó s xut hin giao din vi các thông s đã đc cài đt nh hình 3.8. Sau đó, ta chuyển toàn bộ thit k sang dng khi chức năng để mô phng trong simulink. Tuy nhiên, ta đt tên khi 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 chy khi mô phng Simulink có sn khi chức năng của bộ lc highpass. Hình 3.14 Khối lọc thông cao trong Simulink B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 74 CHNG 3. TÍNH TOÁN VÀ THIT K Từ khi lc thông cao trên, ta xây dng h thng mô phng lc nhiu thông cao tín hiu đin tim ECG. Hình 3.15 Thiết lập mô phỏng lọc nhiễu thông cao ECG Chn các thông s kỹ thut của khi to nhiu (khi Sine) và ECG bằng cách click đúp vào các khi, bng 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 thc hin các bc tng t nh ở các bộ lc trên. Trc ht, chúng ta mở file bandpassecg.fda đã lu trc đó s xut hin giao din vi các thông s đã đc cài đt nh hình 3.9. Sau đó, ta chuyển toàn bộ thit k sang dng khi chức B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 75 CHNG 3. TÍNH TOÁN VÀ THIT K năng để mô phng trong simulink. Tuy nhiên, ta đt tên khi 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 chy khi mô phng Simulink có sn khi chức năng của bộ lc bandpass. Hình 3.17 Khối lọc thông cao trong Simulink Từ khi lc thông di trên, ta xây dng h thng mô phng lc nhiu thông di tín hiu đin tim ECG. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 76 CHNG 3. TÍNH TOÁN VÀ THIT K Hình 3.18 Thiết lập mô phỏng lọc nhiễu thông dải ECG Nhóm chn các thông s kỹ thut của khi to nhiu (khi Sine) và ECG đc hiển thị theo bng chn, hình bên trái là tn s cao và hình bên phi là tn s thp: * Mô phng tín hiu ECG + nhiu ngu nhiên: trên đã tin hành mô phng h thng lc nhiu tín hiu đin tim bị nhiu bởi tín hiu đin công nghip. Tuy nhiên, trong thc t chúng ta s còn gp nhiều nguồn nhiu B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 77 CHNG 3. TÍNH TOÁN VÀ THIT K khác nhau vi nhiều di tn s. Vì vy, nhóm cũng tin hành mô phng h thng lc nhiu tín hiu đin tim vi nguồn nhiu ngu nhiên. Tuy nhiên, kt qu đt đc không nh mong mun bởi nhóm gp rt nhiều khó khăn trong vic thit lp bộ lc thích hp. mức độ đề tài này, chỉ xin gii thiu qua. Các bc tin hành tng t nh các bộ lc trên, chỉ có điều thay tín hiu sine lng t bằng nguồn nhiu ngu nhiên (Random Source), ta có đc thit k và mô phng nh hình (bộ lc thông thp). Hình 3.19 Thiết lập mô phỏng lọc nhiễu ngẫu nhiên thông thấp ECG * Chuyn thit k sang mã VHDL: Để hin thc hoá trên FPGA, Matlab có phn mềm h tr tng tácvi Altera, nó cho phép to ra ngôn ng VHDL từ công cụ FDATool, h s (Coefficient) dùng trong phn mềm Quartus. Vì các bộ lc thông cao và thông di đc xây dng trên bộ lc thông thp. Nói cách khác bộ lc thông thp đc xem nh bộ lc c bn, từ đó có thể xây dng các bộ lc còn li. Vì vy, nhóm chúng tôi chỉ xin gii thiu cách chuyển mã VHDL từ công cụ FDATool của bộ lc thông thp. Có 2 cách chuyển mã VHDL từ công cụ FDATool của Matlab: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 78 CHNG 3. TÍNH TOÁN VÀ THIT K ❖ Cách 1: Từ bộ lc thông thp to ra từ trình mô phng simulink của Matlab, ta chn Code → HDL Code → Generate HDL. Sau đó file lowpass.vhd đc to theo tên của khi ở E:\hdl_prj\hdlsrc\mp. Vi đĩa E là đĩa lu simulink của bộ lc thông thp và mp là tên file simulink lu bộ lc thông thp. Tuy nhiên, chng trình VHDL s đc vit theo dng s đồ khi của bộ lc 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 din FDATool chn Targets → Generate HDL Khi đó giao din hin ra và ta thit lp các thông s nh sau: + Mục Language: VHDL + Name: lowpass (tùy từng bộ lc) + Folder: Để mc định hoc chn Browse, rồi chn địa chỉ lu mà ta cn. + Bên di có các thit lp khác: • Kin trúc bộ lc (Filter Architecture) • Cài đt toàn bộ (Global Settings) • Mô phng (Test Bench): chn HDL Test Bench, gõ lowpass_tb trong file name • Công cụ EDA (Electronic Design Automation - T động thit k đin t) Trong đó, chúng ta chủ yu quan tâm thit lp thông s cho các phn trong mục Global Settings, các phn còn li thng để mc định. Trong Global Settings, ta cài đt nh sau: General: ta gõ _entity thay cho _block (mc định) trong mục Entity conflict postfix, các phn còn li để mc định. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 79 CHNG 3. TÍNH TOÁN VÀ THIT 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 đã sn sàng kt hp vi phn mềmQuartus II của Altera. Chúng ta chuyển hai file này sang cho FPGA thc hin. 3.3 THI CÔNG H THNG Phn này s gii thiu và hng dn quá trình mô phng và thc thi chng trình bộ lc trên phn cứng FPGA, đây cũnglà mục đích chínhmà đề tài hng ti. Các bc thc hin vi các bộ lc tng t nhau nên nhóm chỉ xin trình bày cách thức thc hin trên bộ lc thông thp làm điển hình cho các bộ lc còn li. 3.3.1 Biên dch chng trình trên Quartus II Sau khi mở phn mềm Quartus II, ta s thy giao din ban đu cho phép to new project, mở tp đã làm trc đó hay mở hng dn s dụng. Ta có thể chnFile → New Project hoc chn Create a New Project từ giao din ban đu. Khi đó giao din New Project hin ra, ta đt tên và chn nh sau: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 80 CHNG 3. TÍNH TOÁN VÀ THIT K Chúng ta có thể đt tên và chn đng dn theo ý mun. Trong đề tài này, nhóm đt tên project là: LOCNHIEUTHONGTHAP có đng dn: E:\University\DATN\ CODE VHDL DEMO. Sau đó, ta chn Next. Giao din hin ra, sau đó, ta add hai file lowpass.vhd và lowpass_tb.vhd (nh hình di) 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à nhn Apply để hoàn tt. 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 chy đc trên FPGA (hãng Altera) vì các h s đc dùng là s thc. Nên trong thc t, để chy đc hai file trên, chúng ta phi chỉnh sa kiểu giá trị phù hp để thc hin đc trên FPGA. Đn đây ta đã có thể hin thc hoá bộ lc, song nh vy vic kiểm tra bộ lc trong ch độ thc là khó vì chúng ta phi có máy phát sin và thit bị to nhiu s. Vì vy ta to thêm bộ đm lên 8bit để đa vào bộ lc và s kiểm tra tín hiu sau bộ lc từ đóta có thể nhn xét đc kh năng làm vic của bộ lc mà ta vừa thit k. Công vic này ta tin hành nh sau: Từ Project ta chn new source và đt tên là count.vhd. Đồng thi, chúng ta phi vit chng trìnhfilterlowpass.vhd để kt ni các file count.vhd và lowpass.vhd li vi nhau hoc kt ni thông qua s đồ khi (xem mục 3.3.2). B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 81 CHNG 3. TÍNH TOÁN VÀ THIT K Sau đó, chúng ta chy kiểm tra li bằng nhiều cách nh clickProcessing → Start → Start Analysis & Synthesis (nhn t hp Ctrl + K), hay click chn icon Start Analysis & Synthesis trên thanh Standard hoc click chn Analysis & Synthesis trên thanh Tasks. Nu không có li thì s có du tích xanh hin lên ở khu vc Analysis & Synthesis trên thanh Tasks và một bng thông báo thành công. Hình 3.23 Chạy kiểm tra lỗi Analysis & Synthesis Tip theo, chúng ta tin hành gán chân cho thit bị. Chúng ta có thể tin hành gán từng chân cho kit FPGA Altera DE2–115 bằng tay. Tuy nhiên, cách này tn thi gian và có thể gây nhm ln nu có nhiều chân gán. Để giúp vic gán chân trở nên nhanh chóng và thun tin hn, 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 phn mềm Notepad++ copy file gán chân trên mng và lu li vi tên de2_115.qsf. Sau đó, chúng ta cũng mở file gán chân củaproject LOCNHIEUTHONGTHAP có đuôi “.qsf” và tin hành copy các chân cn gán, cũng nh sa đi cho ging vi tên các chân đã khai báo (có phân bit ch hoa và ch thng). Sau đó, lu li và chuyển sang quartus. giao din của Quartus, ta mở file gán chân bằng cách chnAssignments → Pin Planner (Ctrl+Shift+N) hay ta chỉ cn click vào icon Pin Planner trên thanh Standard. Sau đó, ta tin hành biên dịch bằng cách chn Processing → Start Compilation (Ctrl+L) hoc click đúp Compile Design trong Tasks, hay chỉ cn click icon Start B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 82 CHNG 3. TÍNH TOÁN VÀ THIT K Compilation trong thanh Standard. Khi đó, các chân gán bên Notepad++ s t động cp nht sang file gán chân trong quartus. Sau đó, ta chy Start Compilation hoc click đúp vào Compile Design để thc thi, nu ta nhn đc kt qu là các du tích màu xanh, báo hiu không li nh hình dicó nghĩa là chng trình có thể chy trên kit FPGA. Hình 3.24 Biên dịch lỗi chương trình 3.3.2 S đ khi trên Quartus Sau khi khởi động quartus, chúng ta vào File → New (Ctrl+N). Khi đó, một bng to các file mi s hin ra. Ta click đúp chn Block Diagram/Schematic File. Một file v s đồ khi s đc to vi đuôi “.bdf”. Hình 3.25 Giao diện vẽ sơ đồ khối B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 83 CHNG 3. TÍNH TOÁN VÀ THIT K Tip theo, chúng ta chuyển hai file count.vhd sang count.bdf và lowpass.vhd sang lowpass.bdf bằng cách click chn icon Symbol Tool trên thanh Block Editor. Khi đó bng Symbol hin ra, ta ly từng khi cn dùng trong Project của mục Libraries rồi click OK đem ra màn hình v s đồ khi. Để 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 đó kt ni chúng vi nhau nh hình: Hình 3.26 Vẽ sơ đồ khối trong Block Diagram Chúng ta lu tên file Block Diagram.bdf, để kiểm tra s kt ni gia hai modul này ta chn Block Diagram.bdf sau đó chy Anylysis & Synthesis để kiểm tra, kt qu phi đc test bằng du xanh. 3.3.3 Mô phng b lc dùng ModelSim 3.3.3.1 Tng quát v phn mm mô phng ModelSim ModelSim là chng trình mô phng và debug cho các thit k ASIC và FPGA cc kỳ mnh m và hiu qu, khi thit k FPGA chúng ta có thể dùng Modelsim để mô phng, kiểm tra, test chng trình ModelSim là môi trng debug cho các ngôn ng nh Verilog HDL, VHDL, System C. ModelSim hin nay có các phiên bn là PE, LE, SE, XE. ModelSim PE và LE dùng cho các thit k nh và trung bình, trong khi bn SE dùng cho các thit k FPGA ln hn. Các phiên bn PE và SE có tr phí, phiên bn XE và phiên bn Student Edition là min phí. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 84 CHNG 3. TÍNH TOÁN VÀ THIT K Hình 3.27 Giao diện phần mềm ModelSim version 6.5 3.3.3.2 Mô phng mch lc trên ModelSim Các bc mô phng mch lc thông thp: - Bước 1: Ti ca s giao din của phn mềm, trên thanh công cụ ta chn file → new → project. Một hộp thoi đc hin ra để đt tên cho project ti 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 thoi khác đc hin ra để add các file.vhd cn mô phng vào project đã to Hình 3.29 Hộp thoại add file cho project trong ModelSim - Bước 3: Tin hành hành add file Lowpass.vhd và file Lowpass_tb.vhd vào project. Trong đó file Lowpass_tb.vhd là file mô phng. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 85 CHNG 3. TÍNH TOÁN VÀ THIT K - Bước 4: Sau khi đã add file xong thì bắt đu compile cho tt c các file bằng cách: bm chn tt c file → chuột phi → compile → compile all. Khi nào hin dòng thông báo Compile of Lowpass_tb.vhd was successful (biên dịch file thành công) hin ra nghĩa là bn đã hoàn tt 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 nghim và kim tra - Tải cấu hình xuống FPGA: Sau khi biên dịch chng trình đã ht li, ta tin hành kích chuột vào biểu tng Programmer trên thanh công cụ của phn mềm Quartus II. Sau đó một bng đc hin ra là hình dng chip bn đã thit k. Tuy nhiên, lúc này phn mềm vn cha nhn bit đc cng USB Blaster của FPGA do đó ta cn phi chn: Hardware setup → chn USB Blaster[USB-0], rồi click Close đóng li. Sau đó bm start để bắt đu quá trình ti xung cu hình cho FPGA Hình 3.31 Quá trình tải cấu hình xuống FPGA Ti Progress chúng ta thy hin 100% succesfull đồng nghĩa đã hoàn tt quá hình ti xung cu hình cho FPGA. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 86 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ CHNG 4: KT QU - NHN XÉT - ĐÁNH GIÁ 4.1 KT QU 4.1.1 Kt qu mô phng b lc trên Matlab Để kt qu đc khách quan và có s so sánh hn, nhóm xin đa ra một vài trng hp kt qu của từng bộ lc vi vic thay đi các thông s của tín hiu ECG hay của nguồn sine hay có thể là tn s cắt của bộ lc: * Lc thông thp: - Trường hợp 1: Các thông s nh sau: + Bộ lc thông thp: Tn s ly mu: fs = 360Hz, tn s cắt fc = 30Hz. + Tín hiu ECG: Tn s ly mu: fs = 360Hz, nhịp tim: 82bpm. + Sóng sine: Tn s ly mu: fs = 360Hz, tn s: f = 60Hz, biên độ: A = 0.05 Trong môi trng simulink ta cho chy mô phng và mở hiển thị Scope bằng cách nháy đúp chuột vào khi Scope. Ta đc các dng 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 ĐIN T CÔNG NGHIP – Y SINH Trang 87 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ Kt qu mô phng đc hiển thị ở Scope vi dng sóng thể hin từ di lên nh sau: + Tín hiu ECG. + Tín hiu nhiu (sine lng t). + Tng của tín hiu ECG + nhiu (sine lng t). + Tín hiu ECG sau bộ lc. - Trường hợp 2: ở trng hp này, chúng ta s thay đi tn s sóng sine từ f = 60Hz thành f = 150Hz, tt c các thông s còn li gi nh trng hp 1. Trong môi trng simulink, ta cho chy mô phng đc dng 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: ở trng hp này, chúng ta s thay đi biên độ sóng sine từ A = 0.05 thành A = 0.8, tt c các thông s còn li gi nh trng hp 1. Trong môi trng simulink, ta cho chy mô phng đc dng sóng: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 88 CHNG 4. KT QU-NHN 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: ở trng hp này, chúng ta s thay đi bộ lc thông thp vi tn s cắt fc = 50Hz, tt c các thông s còn li gi nh trng hp 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 ĐIN T CÔNG NGHIP – Y SINH Trang 89 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ * Lc thông cao: - Trường hợp 1: Các thông s nh sau: + Bộ lc thông cao: Tn s ly mu: fs = 360Hz, tn s cắt fc = 11Hz. + Tín hiu ECG: Tn s ly mu: fs = 360Hz, nhịp tim: 82bpm. + Sóng sine: Tn s ly mu: fs = 360Hz, tn 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 trng simulink ta cho chy mô phng và mở hiển thị Scope bằng cách nháy đúp chuột vào khi Scope. Ta đc các dng sóng: Kt qu mô phng đc hiển thị ở Scope vi dng sóng thể hin từ di lênlà: + Tín hiu ECG. + Tín hiu nhiu (sine lng t). + Tng của tín hiu ECG + nhiu (sine lng t). + Tín hiu ECG sau bộ lc. - Trường hợp 2: ở trng hp này, chúng ta s thay đi tn s sóng sine từ f = 0.4Hz thành f = 0.015Hz, tt c các thông s còn li gi nh trng hp 1. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 90 CHNG 4. KT QU-NHN 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: ở trng hp này, chúng ta s thay đi biên độ sóng sine từ A = 0.5 thành A = 1.2, tt c các thông s còn li gi nh trng hp 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 ĐIN T CÔNG NGHIP – Y SINH Trang 91 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ - Trường hợp 4: ởtrng hp này, chúng ta s thay đi bộ lc thông cao vi tn s cắt fc = 11Hz thành fc = 0.5Hz và thay đi tn s sóng sine từ 0.4Hz thành 0.005Hz, tt c các thông s còn li gi nh trng hp 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 * Lc thông di: Vì bộ lc thông di có thể đc xây dng trên các bộ lc thông thp. Cũng nh, bộ lc thông di có tn s cắt nằm trong khong fc1 đn fc2. Nên vic mô phng bộ lc nhiu thông di ging nh các trng hp của lc thông thp và thông cao. Vì th, chúng ta chỉ xét một trng hp của bộ lc thông di. Để mô phng bộ lc nhiu thông di tín hiu ECG, nhóm chúng tôi chn các thông s nh sau: + Bộ lc thông di: Tn s ly mu: fs = 360Hz, tn s cắt fc1 = 10Hz, fc2 = 40Hz. + Tín hiu ECG: Tn s ly mu: fs = 360Hz, nhịp tim: 82bpm. + Sóng sine: Tn s ly mu: fs = 360Hz, tn s: f = 0.4Hz, biên độ: A = 0.5 B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 92 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ a. Lc nhiu tn s cao b. Lc nhiu tn s thp 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 lc thông thp + nhiu ngu nhiên: Trc ht, chúng ta cn cài đt các thông s: + Bộ lc thông thp và tín hiu ECG: nh ở mục bộ lc thông thp + sine. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 93 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ + Nguồn ngu nhiên: Loi nguồn (Source Type): Gaussian, phng pháp (Method): Ziggurat, trung bình (Mean): 1, tn s ly mu (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 thy dng sóng ra cha đt yêu cu đề ra, có thể do s chênh lch biên độ gia 2 sóng không đáng kể nên khó để lc.C húng ta th thêm vào các bộ nhân để khuch đi tín hiu 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 khuch đi tín hiu ECG lên 20 ln và khuch đi nguồn nhiu ngu nhiên lên 0.5 ln. Ta đc dng sóng nh sau: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 94 CHNG 4. KT QU-NHN 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 Ln này ta thy dng sóng đc ci thin hn. Tuy nhiên, ta có thể tăng độ khuch đi để kiểm tra mức độ bộ lc có thể lc đc. Chúng ta s gi nguyên độ khuch đi của tín hiu ECG và thay độ khuch đi của nguồn nhiu thành 1 ln. Ta đc dng 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 ĐIN T CÔNG NGHIP – Y SINH Trang 95 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ Ta thy chỉ tăng bộ khuch đi lên 0.9 thì bộ lc đã không thể lc thc s tt na. * B lc thông cao + nhiu ngu nhiên: Các thông s cài đt nh sau: + Bộ lc thôngcao và tín hiu ECG: nh ở mục bộ lc thông cao (vi fc=5Hz)+ sine. + Nguồn ngu nhiên: Loi nguồn (Source Type): Gaussian, phng pháp (Method): Ziggurat, trung bình (Mean): 1, tn s ly mu (Simple time): 1/360 Và thêm khi khuch đi tín hiu ECG lên 20 ln và khuch đi nguồn nhiu lên 0.5 ln. 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 dng 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 ĐIN T CÔNG NGHIP – Y SINH Trang 96 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ Tip theo chúng ta thay bộ khuch đi nhiu lên 0.75 ln để 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 lc thông di + nhiu ngu nhiên: Các thông s cài đt của bộ lc và ECG nh ở mục bộ lc thông di + sine, còn thông s nguồn nhiu thì ging ở lc thông thp và thông cao. Chúng ta thêm khi khuch đi tín hiu ECG lên 30 ln và khuch đi nguồn nhiu lên 0.5 ln. 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 ĐIN T CÔNG NGHIP – Y SINH Trang 97 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ Ta đc dng 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 Tip theo chúng ta thay bộ khuch đi nhiu lên 1 ln để 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 ĐIN T CÔNG NGHIP – Y SINH Trang 98 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ Nhận xét: Nhìn vào dng sóng của tín hiu đu ra so vi dng sóng củatín hiu đu vào của bộ lc ta thy tín hiu đu ra đáp ứng đc soviyêu cu kỹ thut đã đc đề ra cho bộ lc khá tt. Vy nên, thit k này hoàn toàn có thể đa vào để hin thc hoá trong FPGA. 4.1.2 Kt qu dng sóng mô phng trên ModelSim Để tin hành mô phng trên ModelSim, sau khi hoàn thành 4 bc ở mục 3.3.3, chúng ta chuyển sang ch độ library di góc màn hình: click vàowork → lowpass_tb. Trình mô phng đc hin ra. Chn ht tt c cácObjects → click chut phi → Add → To wave → Selected signals. Hộp thoi mô phngs hin ra, sau đó ta chn simulate → Run → Run all. Ta s đc hình dng các dng sóng nh hình: Hình 4.20 Dạng sóng mô phỏng trên ModelSim 4.2 NHN XÉT – ĐÁNH GIÁ Nhóm đã hoàn thành vic thit k và mô phng các bộ lc cho tín hiu đin tim trên Matlab và chuyển sang mã VHDL để thc thi trên FPGA. Tuy nhiên, khi thit k nhóm gp không ít khó khăn trong vic thit k bộ lc nhiu cho tín hiu ECG bị nhiu bởi nhiu ngu nhiên. Nh s h tr của thy, nhóm đã có thể thit k bộ lc thông thp, thông cao và thông di cho tín hiu ECG bị nh hởng bởi nhng tín hiu nhiu bt kỳ. Nh vy, sau hn 15 tun tìm hiểu tài liu chuyên môn, tài liu trên Internet cùng vi s giúp đỡ tn tình của thy hng dn, nhóm thc hin đề tài: “THIT K VÀ THI CÔNG B LC NHIU TÍN HIU ĐIN TIM DÙNG CÔNG NGH FPGA” đã hoàn thành xong một s chỉ tiêu đt ra trong thi gian quy định vi nhng nội dung sau: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 99 CHNG 4. KT QU-NHN XÉT-ĐÁNH GIÁ + Nắm đc kin thức về tín hiu đin tim ECG, các bộ lc thông thp, thông cao và thông di. + Nắm đc kin thức về thit k cũng nh mô phng các bộ lc trên Matlab và cách thức chuyển đi thit k bộ lc từ Matlab sang mã VHDL để thc thi trên kit FPGA. + Nắm đc kin thức c bn về kit FPGA DE2–115 Altera và có thể lp trình cũng nh thc thi bộ lc trên kit. + H thng lc nhiu cho tín hiu ECG hot động khá n định, cho tín hiu ra gn đúng vi tín hiu ban đu. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 100 CHNG 5. KT LUN VÀ HNG PHÁT TRIỂN CHNG 5: KT LUN VÀ HNG PHÁT TRIN 5.1 KT LUN Sau thi gian nghiên cứu, tìm hiểu vi s giúp đỡ của thy Nguyn Thanh Nghĩa, nhóm đã hoàn thành vic thit k và mô phng bộ lc nhiu tín hiu đin tim thông qua các bộ lc thông thp, thông cao và thông di và đã xut đc mã VHDL. Các bộ lc khi np vào FPGA trong thi gian dài và không phát sinh li khi hot động. Tuy nhiên, do thi gian có hn, nhóm vn cha kịp hoàn thành vic kt ni thc t các phn cứng. Di đây là đánh giá chung về u – nhc điểm của h thng: - u điểm của h thng: + Tín hiu đu ra tng đi chun xác. - Nhc điểm của h thng: + Quá trình x lý phức tp. + Chi phí khá đắt. 5.2 HNG PHÁT TRIN Trong đề tài này, nhóm đã thc hin thit k và mô phng bộ lc nhiu tín hiu đin tim ECG dùng công ngh Matlab và xut mã VHDL. Để phát triển đề tài thêm na, nhóm xin đề xut các ý tởng sau: + Tip tục nghiên cứu các gii pháp phn cứng và phng pháp x lí tín hiu đin mi để đa ra đc h đo ti u. + Lc nhiu các tín hiu khác bằng công ngh FPGA ví dụ nh tín hiu đin não để s dụng trong lĩnh vc y sinh – y t. + Giám sát và qun lý tín hiu ECG sau khi đc thu thp và lc nhiu bằng công ngh FPGA qua Internet. + Thu thp và lc nhiu tín hiu ECG và lc nhiu bằng FPGA bằng phng thức truyền không dây. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 101 TÀI LIU THAM KHO TÀI LIU THAM KHO [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 lun tt nghip, trng ĐH S phm Hà Nội 2, Hà Nội, 2010. [2] Nguyn Văn Thông, Thử nghiệm thiết kế dao động ký số trên FPGA, Khóa lun tt nghip, trng ĐH Công ngh, Hà Nội, 2008. [3] Trn Thanh Sn, 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, Lun văn Thc sỹ Kỹ thut, Hc vin Kỹ thut Quân s, Hà Nội, 2008. [4] Nguyn Quc Tun, Trn Quang Đt, Thiết kế trên FPGA để loại ồn cho tín hiệu ECG nhờ biến đổi sóng con, Tp chí Khoa hc ĐHQGHN, Trng Đi hc 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 lun Tt nghip, trng ĐH Công Ngh, Hà Nội, 2013. [6] Bộ môn đin t công nghip – y sinh, Tài liệu thực hành xử lý tín hiệu y sinh, Trng Đi hc S phm Kỹ thut, Tp HCM, 2018. [7] Bộ môn đin t công nghip – y sinh, Biomedical Signal Processing, Trng Đi hc S phm Kỹ thut, Tp HCM, 2018. B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 102 PH LC PH LC Code chng trình chính: Code chng trình con b lc thông thp: B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 103 PH LC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 104 PH LC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 105 PH LC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 106 PH LC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 107 PH LC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 108 PH LC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 109 PH LC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 110 PH LC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 111 PH LC B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 112 PH LC Code chng trình con b to nhiu (counter): B MÔN ĐIN T CÔNG NGHIP – Y SINH Trang 113 Powered by TCPDF (www.tcpdf.org)

Các file đính kèm theo tài liệu này:

  • pdfdo_an_thiet_ke_mo_phong_bo_loc_nhieu_tin_hieu_dien_tim_dung.pdf