Công nghệ FPGA Hình 1.1: Chip FPGA Field Programmable Gate Arrays FPGA là một dòng chip logic số hiện đại có thể lập trình được, tức là ta có thể sử dụng chúng để lập trình cho hầu hết
Trang 1LỜI CAM ĐOAN
Tôi xin cam đaon luận văn là công trình nghiên cứu của riêng cá nhân tôi Kết quả của luân văn hoàn toàn là kết quả của tự bản thân tôi tìm hiểu, nghiên cứu dưới sự hướng dẫn của giáo viên hướng dẫn PGS.TS Nguyễn Quốc Cường
Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa học của luận văn này
Hà Nội, tháng 3 năm 2016
HỌC VIÊN
Vũ Thạch Dương
Trang 2Đồng thời, tôi cũng xin gửi lời cảm ơn đến toàn thể những thầy cô giáo trong viện Điện, những người đã trực tiếp giảng dạy, truyền đạt cho tôi nhiều
kiến thức quý báu
Cuối cùng tôi xin gửi lời cảm ơn chân thành tới gia đình và bạn bè Chính gia đình và bạn bè đã luôn là nguồn động viên hỗ trợ vô cùng to lớn giúp tôi có thêm động lực để hoàn thành luận văn này.
Học viên
Vũ Thạch Dương
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH VẼ 3
DANH MỤC BẢNG BIỂU 5
Chương 1: TỔNG QUAN VỀ CÔNG NGHỆ FPGA VÀ KIT PHÁT TRIỂN DE2 6
1.1 Công nghệ FPGA 6
1.2 Kit phát triển DE2 9
1.2.1 Giới thiệu chung 9
1.2.2 Tổng quan phần cứng tích hợp trên KIT DE2 11
1.3 Phần mềm Quartus II 12
Chương 2 : TỔNG QUAN VỀ NÂNG CAO CHẤT LƯỢNG TIẾNG NÓI 14
2.1 Giới thiệu chung 14
2.2 Các đặc điểm cơ bản của tiếng nói 15
2.3 Các nguồn nhiễu 17
2.4 Phân loại các phương pháp nâng cao chất lượng tín hiệu giọng nói 18 Chương 3: XÂY DỰNG ỨNG DỤNG NÂNG CAO CHẤT LƯỢNG GIỌNG NÓI 21
3.1 Thiết kế tổng quát 21
3.1.1 Tổng quan thiết kế và nguyên lý hoạt động của hệ thống 21
3.1.2 Hoạt động của hệ thống 23
3.2 Thiết kế module Audio_Controller 23
3.2.1 Giới thiệu chung về WM8731 24
3.2.2 Các chế độ hoạt động 26
3.2.3 Các thanh ghi thiết lập, điều khiển 28
3.2.4 Kết nối của WM8731 trong KIT DE2 30
3.2.5 Module Audio_Controller 31
3.3 Thiết kế module SDRAM 32
Trang 43.3.1 Giới thiệu chung về SDRAM trên KIT DE2 32
3.3.2 Module SDRAM 32
3.4 Thiết kế module FIR_Filter 34
3.4.1 Lý thuyết bộ lọc FIR thông dải 34
3.4.2 Module FIR_Filter 36
3.4.3 Sử dụng công cụ Matlab xây dựng thông số cho bộ lọc FIR 37
3.5 Thiết kế module Display 39
3.5.1.Giới thiệu chung chuẩn giao tiếp VGA trên KIT DE2 39
3.5.2 Module Display 40
3.6 Thiết kế module xử lý trung tâm “Core Controller” 41
Chương 4: KẾT QUẢ THỰC NGHIỆM 42
4.1 Các công việc thực hiện 42
4.1.1 Xây dựng Module Audio_Controller 42
4.1.2 Xây dựng Module Core Controller 45
4.2.3 Module FIR_Filter 47
4.2.4 Module SDRAM 48
4.2.5 Module display 49
4.2 Kết quả đạt được 50
4.2.1 Kết quả thiết kế trên phần mềm Quartus II 50
4.2.2 Kết quả chạy thực nghiệm trên Board DE2 51
KẾT LUẬN 52
TÀI LIỆU THAM KHẢO 53
Trang 5DANH MỤC HÌNH VẼ
Hình 1.1: Chip FPGA 6
Hình 1.2: Cấu trúc cơ bản của FPGA[10] 7
Hình 1.3: Cấu trúc cơ bản của FPGA[10] 8
Hình 1.4: Hình ảnh KIT DE2 của hãng Altera 9
Hình 1.5: Sơ đồ khối KIT FPGA -DE2 11
Hình 1.6: Giao diện khi khởi động của phần mềm Altera 12
Hình 2.1: Các nguồn tiếng ồn thường gặp[7] 18
Hình 3.1: Sơ đồ khối của hệ thống 21
Hình 3.2: Sơ đồ chân của vi mạch WM8731[11] 24
Hình 3.3: Sơ đồ cấu trúc của WM8731[11] 25
Hình 3.4: Chế độ Bypass [11] 26
Hình 3.5: Chế độ Sidetone[11] 27
Hình 3.6: Sơ đồ ghép nối của vi mạch WM8731 trên KIT DE2.[12] 30
Hình 3.7: Module Audio_Controller 31
Hình 3.8: Sơ đồ các chân của SDRAM được tích hợp trên KIT DE2[12] 32
Hình 3.9: Module SDRAM 33
Hình 3.10: Cấu trúc bộ lọc FIR thể hiện các bộ trễ 35
Hình 3.11: Sự thực hiện bộ lọc FIR dạng trực tiếp 36
Hình 3.12: Sự thực hiện ngang hàng của một bộ lọc FIR 36
Hình 3.13: Module FIR_Filter 37
Hình 3.14: Thiết kế bộ lọc bằng công cụ Matlab 38
Hình 3.15: Sơ đồ ghép nối IC xử lý hình ảnh ADV7123 trên KIT DE2.[12] 39
Hình 3.16: Module vga_adapter 39
Hình 3.17: Module display 40
Hình 3.18: Module xử lý trung tâm Core_controller 41
Hình 4.1: Module Audio_controller 43
Hình 4.2: Module Core Controller 45
Trang 6Hình 4.3: Sơ đồ máy trạng thái bên trong module xử lý trung tâm 47
Hình 4.4: Cấu trúc bên trong module FIR_Filter 48
Hình 4.5: Module SDRAM 49
Hình 4.6: Module Display 50
Hình 4.7: Hệ thống sau khi thiết kế bằng ngôn ngữ mô tả phần cứng 50
Hình 4.8: Chạy thực nghiệm hệ thống trên KIT DE2 51
Trang 7DANH MỤC BẢNG BIỂU
Bảng 3.1 Điều khiển chọn chế độ Bypass 26
Bảng 3.2 Điều khiển chọn chế độ Sidetone 28
Bảng 3.3 Điều khiển chọn chế độ phát qua DAC 28
Bảng 3.4 Các thanh ghi điều khiển WM8731[11] 29
Bảng 3.5 Các đường tín hiệu ghép nối với CODEC WM8731.[12] 30
Bảng 3.6 Các chân tín hiệu điều khiển ghép nối với SDRAM[12] 33
Bảng 3.7 Một vài cửa sổ thông dụng 35
Bảng 3.8 Các chân tín hiệu điều khiển ghép nối với cổng VGA[12] 40
Bảng 4.1 Bảng trạng thái của module Core Controller 46
Trang 8Chương 1: TỔNG QUAN VỀ CÔNG NGHỆ FPGA
VÀ KIT PHÁT TRIỂN DE2
1.1 Công nghệ FPGA
Hình 1.1: Chip FPGA
Field Programmable Gate Arrays (FPGA) là một dòng chip logic số hiện đại có thể lập trình được, tức là ta có thể sử dụng chúng để lập trình cho hầu hết các chức năng của bất kỳ một thiết kế số nào Programmable nghĩa là có thể lập trình được, người sử dụng có thể lập trình lại cho chip tại nơi nó được sử dụng với những ứng dụng cụ thể khác nhau chứ không cần phải nhất thiết sử dụng theo cấu hình được đưa ra tại nơi sản xuất FPGA được tạo thành từ một mảng (matrix hay array) các phần tử khả trình nên được gọi là Programmable Gate Array
Bản thương mại đầu tiên của FPGA được Xilinx giới thiệu vào năm
1984 Chip FPGA đầu tiên này chứa 64 phần tử logic khả trình và 58 đầu vào ra số Ngày nay, FPGA có thể chứa hàng trăm nghìn phần tử logic và hàng nghìn ngõ vào ra Phần lớn các sản phẩm FPGA trên thị trường hiện nay đều dựa trên công nghệ SRAM với 2 hãng sản xuất lớn nhất là Xilinx
và Altera Ngoài ra còn có các hãng khác sản xuất FPGA nhưng với mục đích chuyên dụng (Atmel, Actel, Lattice, SiliconBlue, )
Kiến trúc cơ bản của FPGA bao gồm 3 thành phần chính:
+ Khối logic có thể tái cấu hình - Configurable Logic Blocks (CLBs) thực hiện các chức năng logic
Trang 9+ Các kết nối khả trình bên trong - Programmable Interconnect có thể lập trình để kết nối các đầu vào và đầu ra của các CLB và các khối I/O bên trong
+ Các khối I/O cung cấp giao tiếp giữa các ngoại vi và các được tín hiệu bên trong
Dưới đây là sơ đồ cấu tạo một chip FPGA và các khối cấu thành của
nó
Khối logic có thể tái cấu hình
Mục đích của việc lập trình khối logic trong FPGA là để cung cấp các phép tính và các phần tử nhớ cơ bản, được sử dụng trong hệ thống số Một phần tử logic cơ bản gồm một mạch tổ hợp có thể lập trình, một Flip-Flop hoặc một chốt Ngoài khối logic cơ bản đó, nhiều chip FPGA hiện nay gồm một hỗn hợp các khối khác nhau, một số trong đó chỉ được dùng cho các chức năng cụ thể, chẳng hạn như các khối bộ nhớ chuyên dụng, các bộ nhân hoặc các bộ ghép kênh Tất nhiên, cấu hình bộ nhớ được sử dụng trên tất cả các khối logic để điều khiển các chức năng cụ thể của mỗi phần tử bên trong khối đó
Trang 10Kết nối khả trình
Các liên kết trong một FPGA dùng để liên kết các khối logic và I/O lại với nhau để tạo thành một thiết kế hoàn chỉnh Các liên kết khả trình bao gồm các bộ ghép kênh, các transistor và cổng đệm ba trạng thái Nhìn chung, các transistor và bộ ghép kênh được dùng trong một cụm logic để kết nối các phần tử logic lại với nhau, trong khi đó cả ba đều được dùng cho các cấu trúc định tuyến bên trong FPGA Một số FPGA cung cấp nhiều kết nối đơn giản giữa các khối logic, một số khác cung cấp ít kết nối hơn nên định tuyến phức tạp hơn
Trang 11Ngôn ngữ mô tả phần cứng (Hardware Description Language)
Ngôn ngữ mô tả phần cứng bao gồm VHDL, Verilog, SystemC và Handle - C thường được sử dụng để lập trình cho FPGA Kết quả của việc lập trình không chỉ là những dòng lệnh mà chính là cấu trúc các phần tử logic, các I/O được ghép nối với nhau với những ứng cụ thể khác nhau
Trong các ngôn ngữ lập trình cho FPGA thì phổ biến nhất là VHDL
và Verilog, hai ngôn ngữ này phát triển như là những chuẩn công nghiệp hiện nay ISE và Quartus là hai phần mềm lập trình cho chip FPGA của Xilinx và Altera đều hỗ trợ cả hai ngôn ngữ lập trình trên
Trong luận văn này, ngôn ngữ lập trình mà tôi lựa chọn sử dụng là ngôn ngữ Verilog
1.2 Kit phát triển DE2
1.2.1 Giới thiệu chung
Hình 1.4: Hình ảnh KIT DE2 của hãng Altera
Trang 12DE2 là một KIT FPGA của hãng Altera, đây là một KIT được dùng trong nghiên cứu và giảng dạy tương đối phổ biến Trong luận văn này, tôi lựa chọn KIT DE2 là công cụ để thực hiện việc nâng cao chất lượng của tín hiệu giọng nói
Chip FPGA được tích hợp trên mạch DE2 là Cyclone® II 2C35 FPGA trong gói pin 672 Tất cả các thành phần quan trọng trên mạch được kết nối với các pin của chip này, cho phép người sử dụng điều khiển tất cả các bộ phận bên ngoài trong các ứng dụng của KIT Với những ứng dụng đơn giản nhất, KIT DE2 có các công tắc, LED đơn, LED bảy thanh, LCD 16x02 Với những ứng dụng nghiên cứu cao hơn có SRAM, SDRAM, bộ nhớ Flash
DE2 còn được trang bị những phần cứng xử lý âm thanh, hình ảnh hiện đại Các thiết bị này dễ dàng sử dụng qua những kết nối chuẩn như microphone, line-in, line-out (24-bit audio CODEC), video -in (TV Decoler), và VGA (10-bit DAC) Những tính năng này có thể được sử dụng
để tạo ra ứng dụng xử lý âm thanh hình ảnh với chất lượng cao
Về mặt truyền thông, DE2 được hỗ trợ truyền thông theo chuẩn RS-
232, hiện đại hơn có cổng kết nối USB 2.0 (cả máy chủ và thiết bị), Ethernet 10/100Mbps, cổng hồng ngoại (IrDA) và một kết nối thẻ nhớ SD Ngoài ra, DE2 còn có hai khe cắm IDE 40pin để mở rộng kết nối khi cần thiết
Nói chung, DE2 có đầy đủ những hỗ trợ phần cứng cần thiết trong nghiên cứu, giảng dạy cho người học về công nghệ FPGA
Trang 13Hình 1.5: Sơ đồ khối KIT FPGA -DE2
1.2.2 Tổng quan phần cứng tích hợp trên KIT DE2
Các phần cứng được board DE2 cung cấp bao gồm:
Chip FPGA:
+ Altera Cyclone II 2C35 FPGA (33,216 phần tử logic, tổng cộng 483,840 bit RAM, 475 pin I/O, đóng gói chuẩn 672 pin) Đây chính là “bộ não” của KIT DE2, là nơi chứa các “cấu hình phần cứng” sau khi lập trình bằng ngôn ngữ mô tả phần cứng
+ Altera Serial Configuration device-EPCS-16 FPGA này có trách nhiệm quản lý cấu hình nối tiếp cho KIT
Trang 14+ 9 LED màu xanh lá
+ 24 bit CD-quality audio CODEC với các jack line-in, line-out, microphone
+ VGA DAC với đầu kết nối VGA-out
+ TV Decoder và đầu kết nối TV-in
Bộ tạo dao động 27MHz và 50 MHz , ngõ vào clock SMA bên ngoài
1.3 Phần mềm Quartus II
Hình 1.6: Giao diện khi khởi động của phần mềm Altera
Trang 15Phần mềm Quartus II là phần mềm tích hợp của hãng Altera Quartus
II là phần mềm hỗ trợ tất cả mọi quá trình thiết kế một mạch logic, bao gồm quá trình thiết kế, tổng hợp, sắp xếp, nối dây, cũng như mô phỏng (simulation), và lập trình lên thiết bị FPGA của hãng Altera trong đó có KIT đào tạo và phát triển DE2
Phần mềm này hỗ trợ các ngôn ngữ lập trình cho FPGA đang có hiện nay, giúp ta có thể lập trình theo ngôn ngữ nào mình mong muốn Ngoài ra, Quartus II còn chứa thư viện lớn các thiết kế trên FPGA cho người lập trình
có thể tham khảo
Đối với những hệ thống phức tạp như hệ thống trên FPGA thì mô phỏng chính xác nhất trước khi đi vào sản xuất thực tế là một yếu tố vô cùng quan trọng Công cụ hỗ trợ của Quartus II cho phép ta thấy được kết quả lập trình mô tả phần cứng một cách trực quan nhất Ngôn ngữ được lập trình được “cấu hình” thành các khối chức năng, module cho phép ta so sánh với ý tưởng thiết kế ban đầu
Trang 16Chương 2 : TỔNG QUAN VỀ NÂNG CAO CHẤT LƯỢNG
TIẾNG NÓI
Chương này đưa những giới thiệu tổng quan nhất về tiếng nói, các yếu tố ảnh hưởng đến chất lượng tiếng nói, từ đó đưa ra yêu cầu cần nâng cao chất lượng tiếng nói, và ứng dụng của việc nâng cao chất lượng này vào thực tế Đồng thời, nội dung trong chương cũng đưa ra các phương pháp nâng cao chất lượng tiếng nói hiện có, từ đó làm cơ sở để lựa chọn phương pháp nâng cao chất lượng tiếng nói trong các chương tiếp theo
2.1 Giới thiệu chung
Giao tiếp qua lời nói là một trong những nhu cầu thiết yếu của con người Mặc dù con người có những cách khác nhau để lấy thông tin từ thế giới bên ngoài cũng như truyền đạt những thông tin đó với nhau, tuy nhiên
có ba cách phổ biến nhất đó là qua lời nói, hình ảnh và văn bản Trong nhiều trường hợp, lời nói tỏ ra là phương pháp giao tiếp hiệu quả và thuận tiện nhất Lời nói không chỉ truyền tải nội dung ngôn ngữ, mà còn truyền đạt thông tin về cảm xúc, tâm trạng của người nói
Mặc dù vậy, truyền thông bằng lời nói lại có một nhược điểm lớn Khi người nói và người nghe ở gần với nhau trong một môi trường yên tĩnh, thì việc giao tiếp là khá dễ dàng và chính xác Nhưng trong một không gian lớn với nhiều tiếng ồn thì việc giao tiếp bằng giọng nói sẽ khó khăn hơn Như trong những bài phát biểu mang tính chất truyền thông, độ chính xác, rõ ràng, chất lượng của bài phát biểu giữ một vai trò rất quan trọng mà tín hiệu tiếng nói lại được thu phát với rất nhiều nguồn nhiễu khác nhau Điều đó đưa ra yêu cầu thiết thực là cần phải nâng cao chất lượng của việc thu phát tiếng nói
Nâng cao chất lượng của tiếng nói khi thu âm sẽ cải thiện chất lượng của bản thu, tăng hiệu suất mã hóa / nén Mục tiêu của nâng cao thay đổi
Trang 17tùy theo ứng dụng cụ thể, chẳng hạn như để giảm sự khó chịu cho người nghe, nâng cao hiệu suất của các thiết bị thông tin liên lạc bằng giọng nói
Vì thế nâng cao chất lượng tiếng nói là cần thiết, giúp khắc phục những hạn chế của hệ thống thính giác của con người
Trong nhiều năm gần đây, các nhà khoa học đã nghiên cứu và phát triển nhiều phương pháp để nâng cao chất lượng của các bản thu từ các bản thu có chất lượng thấp Tuy nhiên, do tính chất phức tạp của tín hiệu tiếng nói, nên việc khôi phục lại tín hiệu tiếng nói như mong muốn từ hỗn hợp nhiều nguồn nhiễu khác nhau vẫn là một thách thức to lớn trong nâng cao chất lượng tiếng nói phục vụ thông tin liên lạc
2.2 Các đặc điểm cơ bản của tiếng nói
Tiếng nói được tạo ra từ tư duy của con người dưới sự chỉ đạo của trung khu thần kinh, yêu cầu phát sinh tiếng nói được hệ thần kinh phát ra
và hệ thống phát âm thực hiện yêu cầu đó
Tiếng nói mà con người vẫn giao tiếp hàng ngày có bản chất là sóng
âm thanh lan truyền trong không khí Sóng này là sóng dọc sinh ra do sự dãn nở của không khí
Tín hiệu âm thanh nói chung là tín hiệu biến thiên liên tục về thời gian và biên độ, có dải tần số rất rộng Tuy nhiên tai người chỉ có thể nhận biết được các sóng âm có tần số trong khoảng 20 - 20000 (Hz) Những sóng âm có tần số lớn hơn 20000 Hz gọi là sóng siêu âm Những sóng có tần số nhỏ hơn 20 Hz gọi là sóng hạ âm Thực tế người ta có thể hạn chế dải tần số của tín hiệu tiếng nói trong khoảng từ 300 đến 3400 Hz Do đó, quá trình phân tích cũng như tổng hợp tiếng nói chỉ cần dùng một số các tham số nhất định cũng đủ để biểu diễn tín hiệu tiếng nói mà não người xử
lý.[7]
Trang 18Sóng âm thanh được phân biệt hai loại đặc tính là đặc tính vật lý và đặc tính âm học Trong phạm vi của luận văn này, ta chỉ đi xét đến đặc tính vật lý của âm thanh
Bản chất âm thanh tiếng nói là sóng cơ học nên có các tính chất cơ bản của sóng cơ học Tín hiệu âm thanh tiếng nói là một tín hiệu ngẫu nhiên không dừng, tuy nhiên những đặc tính của nó tương đối ổn định trong những khoảng thời gian ngắn (vài chục mili giây) Trong khoảng thời gian nhỏ đó tín hiệu gần tuần hoàn, có thể coi như tuần hoàn. [7]
Độ cao
Độ cao hay còn gọi là độ trầm bổng của âm thanh chính là tần số của sóng cơ học Âm thanh nào phát ra cũng ở một độ cao nhất định Độ trầm bổng của âm thanh phụ thuộc vào sự chấn động nhanh hay chậm của các phần tử trong không khí trong một đơn vị thời gian nhất định Nói cách khác, độ cao của âm phụ thuộc vào tần số dao động Đối với tiếng nói, tần
số dao động của dây thanh quy định độ cao giọng nói của con người và mỗi người có một độ cao giọng nói khác nhau. [7]
Độ cao của nữ giới thường cao hơn so với nam giới và độ cao tiếng nói của trẻ em cao hơn so với nữ giới, điều này cũng tương tự đối với tần
số của dây thanh. [7]
Trang 19quan trọng bằng giá trị tỉ đối của I so với một giá trị I0 nào đó chọn làm chuẩn [7]
Người ta định nghĩa mức cường độ âm L là logarit thập phân của tỉ
số I/ I0: (đơn vị mức cường độ là Ben - kí hiệu B)
L(B) = lg
Trường độ
Trường độ hay độ dài của âm phụ thuộc vào sự chấn động lâu hay nhanh của các phần tử không khí Cùng một âm nhưng trong các từ khác nhau thì độ dài khác nhau. [7]
và giữ lại các tín hiệu có ích [7]
Hình 2.1 Cho thấy các yếu tố ảnh hưởng đến tín hiệu tiếng nói trong quá trình truyền tại các giai đoạn khác nhau bởi các nguồn tiếng ồn khác nhau Những nguồn làm giảm cấp chất lượng tín hiệu giọng nói là sự ồn ào của môi trường trong quá trình thu, tiếng ồn nền, hiệu ứng đa loa, nhiễu
Trang 20trong quá trình truyền…Các tín hiệu nhiễu, tiếng ồn xung quanh cũng được thêm vào với tín hiệu mong muốn trong đường truyền
Hình 2.1: Các nguồn tiếng ồn thường gặp [7]
Bản chất của tiếng ồn là một yếu tố quan trọng trong việc quyết định phương pháp nâng cao chất lượng của tín hiệu tiếng nói Do đó, cần có một
mô hình, một mẫu của tiếng ồn để dựa vào đó tăng hiệu suất của hệ thống Khi có mô hình của nhiễu thì điều quan trọng là phân tích như thế nào Tiếng ồn khác nhau có thể phân loại dựa trên đặc tính thống kê, quang phổ hoặc không gian Căn cứ tính chất của các nguồn tiếng ồn, tiếng ồn có thể được phân loại như là tiếng ồn phụ xung quanh, tiếng ồn gây bởi loa, tiếng
ồn xung, tiếng ồn do đa loa, và tiếng ồn nhân lên theo loa Nói chung, việc
xử lý với các tiếng ồn động là tương đối khó khăn, do ta không chưa nhận dạng được đặc điểm của tiếng ồn và thời gian nó diễn ra Các phương pháp thông thường để ước lượng tiếng ồn từ khoảng thời điểm bắt đầu phải giả
sử không có tín hiệu tiếng nói Ngoài ra tín hiệu nhiễu là tín hiệu tương tự với những đặc tính thời gian, không gian, tần số khác nhau, đó cũng là điểm khó khăn trong việc loại bỏ, giảm bớt tác động của nhiễu. [7]
2.4 Phân loại các phương pháp nâng cao chất lượng tín hiệu giọng nói
Có nhiều cách để phân loại các phương pháp nâng cao tín hiệu giọng nói Rất khó để đưa ra một thuật toán ưu việt, điển hình để có thể thực hiện
Trang 21đồng nhất cho tất cả các loại tiếng ồn Do đó, một hệ thống nâng cao chất lượng giọng nói dựa trên một số giả thiết nhất định để bỏ qua một số những trở ngại phụ thuộc vào môi trường Nói chung việc thực hiện một hệ thống nâng cao chất lượng giọng nói được giới hạn bởi các yếu tố sau:
+ Hạn chế về số nguồn nhiễu có sẵn
+ Sử dụng các thông tin ban đầu khác nhau của các tín hiệu quan tâm
và các tín hiệu không mong muốn
+ Sử dụng thuật toán để hạn chế những tiếng ồn không tương quan Thông thường, việc nâng cao chất lượng giọng nói được chia ra các chiến lược xử lý khác nhau theo kỹ thuật đơn kênh hoặc đa kênh tăng cường. [7]
a Hệ thống xử lý đơn kênh
Trong hầu hết các ứng dụng thời gian thực như loa và nhận dạng lời nói, thông tin liên lạc, thiết bị điện thoại di động, thường chỉ sử dụng một kênh tín hiệu âm thanh đầu vào Các hệ thống này nhỏ gọn và tiết kiệm hơn
so với các hệ thống nhiều đầu vào Tuy nhiên, ta gặp khó khăn trong việc nâng cao chất lượng tín hiệu do không có tín hiệu tham chiếu với tiếng ồn
có sẵn, cũng như không có những “bản thu sạch” không có nhiễu để so sánh. [7]
Hiện nay có nhiều nghiên cứu về hệ thống xử lý đơn kênh trên thế giới đã và đang được phát triển Trong số đó có một số nghiên cứu nổi bật phải kể đến như:
+ Nghiên cứu nâng cao chất lượng giọng nói sử dụng phương pháp lọc “wavelet” của đại học Polandelphia, Mỹ. [7]
+ Nghiên cứu của đại học Griffith, Ấn Độ về nâng cao chất lượng giọng nói dựa trên bộ lọc Kalman hội tụ nhanh. [7]
+ Nhóm phân tích khoa học Bangalore, New Delhi đang làm việc về tăng cường chất lượng tiếng nói sử dụng mô hình hỗn hợp Gaussian. [7]
Trang 22b Hệ thống xử lý đa kênh
Những hệ thống này tận dụng lợi thế có nhiều tín hiệu đầu vào cho
hệ thống, và sử dụng các tín hiệu này làm các tín hiệu tham chiếu, từ đó loại bỏ những thành phần tiếng ồn không mong muốn Hệ thống xử lý đa kênh tác động vào các thuộc tính không gian của tín hiệu và nguồn tiếng
ồn, hạn chế nhược điểm của hệ thống kênh, đặc biệt là có thể giải quyết tốt hơn tính không dừng của tiếng ồn Những hệ thống này có xu hướng phức tạp hơn [7]
Trang 23Chương 3: XÂY DỰNG ỨNG DỤNG NÂNG CAO
CHẤT LƯỢNG GIỌNG NÓI
Trong chương này chúng ta sẽ sử dụng FPGA để xây dựng úng dụng nâng cao chất lượng giọng nói Đầu tiên ta sẽ đưa ra thiết kế tổng quan cho ứng dụng, từ đó đưa ra thiết kế cho những thành phần, module cấu thành lên toàn bộ hệ thống Nội dung của luận văn tập trung về nghiên cứu và triển khai các công việc để xây dựng ứng dụng xử lý âm thanh trên FPGA
và cụ thể là Kit DE2 của hãng Altera Sau đó, cũng trên nền thiết kế này ta thêm vào bộ lọc FIR thông dải để kiểm chứng hoạt động của hệ thống với chức năng nâng cao chất lượng giọng nói
3.1 Thiết kế tổng quát
3.1.1 Tổng quan thiết kế và nguyên lý hoạt động của hệ thống
Hệ thống được thiết kế với sơ đồ khối như sau:
Hình 3.1: Sơ đồ khối của hệ thống
Trang 24Trong thiết kế trên, ta thấy công việc cần làm là tạo ra các khối chức năng:
Trong thiết kế này chúng ta sử dụng board DE2 để thu tín hiệu từ Micophone sau đó xử lý và phát lại qua đường Line-out (Loa) Tín hiệu âm thanh được lưu trữ trong SDRAM hoặc có thể đưa ra ngoài thông qua thẻ
SD hoặc chuẩn UART…Ngoài ra, những thông số cơ bản trong quá trình hoạt động của hệ thống được đưa ra hiển thị trên màn hình theo chuẩn VGA, các LED bảy thanh để tăng tính trực quan
Trên board DE2 đã được tích hợp sẵn những IC chức năng để hỗ trợ thu phát âm thanh , truyền hình ảnh theo chuẩn VGA, cũng như RAM để lưu trữ dữ liệu Công việc của chúng ta là thiết kế những module điều khiển hoạt động hoạt động của những thành phần này thông qua việc sử dụng các switch có sẵn trên Board Đồng thời tích hợp thêm bộ lọc để nâng cao chất lượng giọng nói thu được Bộ lọc chúng ta lựa chọn ở đây là bộ lọc FIR thông dải
Trang 25+ Thu tín hiệu từ Microphone
+ Lưu tín hiệu thu được vào SDRAM
+ Nâng cao chất lượng giọng nói thu được bằng cách sử dụng bộ lọc thông dải
+ Phát tín hiệu thu được đã qua xử lý hoặc chưa qua xử lý (thông qua lựa chọn bằng switch)
+ Hiển thị dạng tín hiệu qua màn hình VGA
+ Cho phép chỉnh biên độ tín hiệu hiển thị, điều khiển thu, phát âm + Hiển thị địa chỉ SDRAM qua led 7 thanh
+ Cho phép truyền dữ liệu thu được
3.2 Thiết kế module Audio_Controller
Đây là Module có chức năng giao tiếp trực tiếp với IC WM8731, đồng thời nhận tín hiệu điều khiển từ module xử lý trung tâm “Core Controller” để truyền nhận dữ liệu về module xử lý trung tâm này Trước tiên ta đi tìm hiểu về WM8731 này
WM8731 là vi mạch tích hợp chuyên dụng để xử lý âm thanh của hãng Wolfson Microelectronics, được đóng gói dưới hai chuẩn là chân cắm (DIP) hoặc chân dán (SOP) WM8731 được tích hợp trên KIT DE2 để phục
vụ cho những ứng dụng xử lý âm thanh Dưới đây tôi đưa ra một số đặc điểm đáng chú ý, cần thiết khi giao tiếp với vi mạch này
Trang 263.2.1 Giới thiệu chung về WM8731
WM8731 là một audio CODEC tiêu thụ điện áp thấp được thiết kế đặc biệt cho sản phẩm di động như những sản phẩm MP3 Player và Mini-disc Player
CODEC bao gồm ngõ vào microphone tới ADC on-board, ngõ ra headphone từ DAC on board, bộ tạo dao động, định cấu hình giao diện âm thanh số và lựa chọn giao diện điều khiển 2 hay 3 dây MPU Nó hoàn toàn thích hợp để sử dụng như một phần của bộ vi xử lý, mạch điều khiển, và DSP chuẩn công nghiệp Trong KIT DE2 thì WM8731 đã được ghép nối sẵn để sử dụng theo giao diện điều khiển hai dây I2C
CODEC này bao gồm tín hiệu vào mono microphone và stereo line Line – In có thể điều chỉnh cấp độ âm thanh từ +12dB tới -34dB và mute Tín hiệu vào microphone có thể điều chỉnh từ -6dB đến 34dB Tất cả cài đặt bộ lọc tín hiệu vào được chứa vào trong thiết bị không cần thêm bất cứ thành phần bên ngoài nào
Trang 27Tín hiệu ra được cung cấp một bộ khuếch đại âm thanh, âm lượng tín hiệu ra headphone có thể điều chỉnh trong tín hiệu tương tự ở mức +6dB đến -73 dB và có thể mute
Ngõ ra số hóa sẵn có trong một số định dạng dữ liệu audio chế độ I2S, DSP, MSB-First, left justified và MSB-First, right justified Giao diện
âm thanh số có thể hoạt động cả 2 chế độ Master hoặc Slave