Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 154 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
154
Dung lượng
2,53 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCK KHOA HÀ HOÀNG KHA ĐỀ TÀI THIẾT KẾ GIẢI THUẬT NHẬN DẠNG TIẾNG NÓI TRÊN FPGA ĐIỀU KHIỂN ROBOT FPGA BASED DESIGNS FOR ROBOT COMMUNICATIONS CHUYÊN NGÀNH: KỸ THUẬT VÔ TUYẾN ĐIỆN TỬ MÃ SỐ: 2.07.01 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH 12-2002 LỜI CẢM ƠN Xin chân thành cảm ơn Thầy Tiến só Lê Tiến Thường tận tình hướng dẫn, cung cấp tài liệu đóng góp ý kiến quý báu giúp hoàn thành luận văn Xin chân thành cảm ơn tất thầy côâ bạn bè đồng nghiệp Trường Đại học Bách Khoa quan tâm giúp đỡ tạo điều kiện để hoàn thành chương trình học Cao học Tháng 12 năm 2002 Hà Hoàng Kha LỜI NÓI ĐẦU Nhận dạng tiếng nói lónh vực nghiên cứu quan trọng phát triển thập niên qua Mục đích hệ thống nhận dạng tạo máy giao tiếp với người cách tự nhiên hiệu Các hệ thống nhận dạng có nhiều ứng dụng vô to lớn lónh lực sống, ứng dụng quan trọng tạo hệ robot thông minh nhận tạo “nghe”, “hiểu”, “hoạt động” theo thông tin từ tiếng nói, nói để trao đổi thông tin máy máy với người Các robot trao đổi thông tin gọi robot communications Đã có nhiều nhà nghiên cứu xây dựng giải thuật nhận dạng cho robot communications với kết khả quan, nhiên giải thuật hầu hết thực máy tính với trợ giúp mạnh công cụ tính toán dung lượng nhớ Việc chuyển kết thực máy tính thành vi mạch để ứng dụng vào thực tế gặp nhiều khó khăn, cần nhiều thời gian chi phí Tuy nhiên, năm gần đây, với phát triển công nghệ ASICs (Application Specific Integrated Circuits) mở hướng phát triển cho công nghệ kỹ thuật điện tử số đại Với thiết bị lập trình CPLD (Complex Programmable Logic Device), FPGA (Field Progammable Gate Array) cho pheùp thiết kế thử nghiệm hệ thống số tiện lợi rẻ tiền, đặc biệt với ngôn ngữ mô tả phần cứng HDL (Hardware Description Languages) trình sản xuất IC nhanh chóng tiện lợi Với ưu điểm trên, công nghệ FPGA trở thành giải pháp hiệu việc thử nghiệm thiết kế vi mạch ứng dụng Với đề tài : “THIẾT KẾ GIẢI THUẬT NHẬN DẠNG TIẾNG NÓI TRÊN FPGA ĐỂ ĐIỀU KHIỂN ROBOT” Luận án xây dựng giải thuật nhận dạng tiếng nói tiếng Việt theo hướng kết hợp mẫu, dựa đặc trưng lượng tiếng nói, tốc độ biến thiên qua zero, phổ lượng tín hiệu công cụ phân tích wavelets rời rạc với cấu trúc dãy lọc hai kênh Toàn giải thuật viết ngôn ngữ mô tả phần cứng chuẩn VHDL cài đặt thử nghiệm FPGA Việc xây dựng chương trình FPGA ngôn ngữ VHDL tiền đề cho việc thiết kế IC chuyên dụng nhận dạng tiếng nói tiếng Việt Phần trình bày luận án gồm nội dung sau: Chương 1: Giới thiệu khái quát lịch sử phát triển robot, trình bày mô hình robot communications, tổng quan phương pháp nhận dạng tiếng nói khó khăn xây dựng hệ thống nhận dạng Chương 2: Trình bày vấn đề tạo tiếp nhận tiếng nói người, đặc trưng ngữ âm tiếng Việt Chương 3: Lý thuyết xử lý tín hiệu tiếng nói, bao gồm số hoá tín hiệu tiếng nói, tiền xử lý, đặc trưng thời gian ngắn lượng frame, tốc độ biến thiên qua zero, phân tích lượng frame mô hình dãy lọc, thực dãy lọc biến đổi Haar wavelets Chương 4: Các vấn đề kỹ thuật nhận dạng so sánh mẫu: giải thuật tách điểm đầu cuối, kỹ thuật canh lề chuẩn hoá thời gian dùng giải thuật quy hoạch động, luật định nhận dạng Chương 5: Trình bày phát triển kỹ thuật EDA (Electronics Design Automation), cấu trúc ứng dụng thiết bị logic số lập trình, ưu điểm hạn chế ngôn ngữ mô tả phần cứng VHDL Chương 6: Thiết kế thực giải thuật nhận dạng tiếng nói theo hướng kết hợp mẫu FPGA để điều khiển cánh tay robot Giải thuật xây dựng dựa đặc trưng ZCR (Zero Crossing Rate), lượng frame, ước lượng formant waveletes rời rạc Chương 7: Nhận xét kết quả, ưu điểm hạn chế thực giải thuật FPGA, đề xuất hướng phát triển đề tài PREFACE Speech recognition is an important area of research for the last several decades The major goal of speech recognition is to create machines that can interface with people naturally and efficiently Speech recognition systems have very important applications in many of aspects of our daily life The study of speech recognition is part of a quest for “artificially intelligent” machines that can “hear”, understand” and “act upon” spoken information, and “speak” in completing the information exchange The machines are called robot communications Many researchers have developed the speech recognition algorithms for robot communications with relatively efficient recognition results But, most algorithms were programmed in high-level computing languages with supporting the computation power and memory of a computer Producing these systems in the integrated circuits to apply in the real word is difficultly and costly However, in recent years, successful developments in ASIC technology have opened a new tendency in the modern digital electronic design High-density programmable logic Devices, including CPLD (Complex Programmable Logic Device), FPGA (Field Programmable Gate Array) allow designing and testing the digital systems quickly and effectively Specially, with standard hardware description language, VHDL, converting a design from a programmable logic to an ASIC implementation is feasible So, FPGA is particularly suited for designing and testing application digital circuits The thesis, “FPGA based designs for robot communications”, develops a speech recognition algorithm for Vietnamese language based on pattern recognition approach The features of the speech such as short time energy, zero crossing rate and spectrum of signal from discrete wavelet transform are parameters to be recognized Realizing the speech recognition system on FPGA with VHDL is the initial step to design integrated circuits for recognizing Vietnamese speech The thesis is organized into seven chapters: Chapter 1: Introduces generally about history of robot developments, robot communication model The global view of speech recognition approaches to speech recognition and difficulties in building speech recognition system Chapter 2: Presents the speech production process in human being and the acoustic-phonetic features of the sound in Vietnamese language Chapter 3: Presents the digital signal processing including: sampling, shortterm features energy frame, and correlation, zero crossing rate.) Specially, introduces method to speech spectral analysis with filter bank model and discrete wavelets transform Chapter 4: Discusses the problems in pattern comparison techniques: end point detection, the algorithms to time aligning and normalizing, and discusses dynamic time warping algorithms Chapter 5: Presents the advances in Electronics Design Automation, introduces the architecture and applications of some programmable logic devices And show the strengths and weaknesses of VHDL Chapter 6: Design completely the speech recognition systems and configured on FPGA to control robot communications Presents detailed algorithms to extract the features spectrum, ZCR of speech and implementation results Chapter 7: Comments on the speech recognition system, show the strengths and weaknesses of implementation speech recognition on FPGA., and proposes the future trends of thesis THIEÁT KEÁ GIẢI THUẬT NHẬN DẠNG TIẾNG NÓI TRÊN FPGA ĐIỀU KHIỂN ROBOT TÓM TẮT Hệ thống nhận dạng tiếng nói xây dựng dựa đặc trưng tiếng nói làm sở nhận dạng Về mặt ngữ âm tiếng nói tạo luồng không khí từ phổi kích thích dây đới dao động tạo hợp âm có tần số nhiều hoạ tần Các khoang cộng hưởng quan phát âm khuếch đại vài thành phần tần số làm suy hao thành phần tần số lại, từ tạo tiếng nói khác Các thành phần tần số cộng hưởng có khuynh hướng hình thành toàn phổ tần tín hiệu tiếng nói, gọi formant Do formant đặc trưng quan trọng để phân biệt âm tiết với Tuy nhiên tiếng nói tín hiệu không dừng, có đặc trưng biến đổi theo thời gian, để phân tích tiếng nói cần phải khảo sát khoảng thời gian ngắn, gọi frame, đặc trưng frame coi không thay đổi Một công cụ xử lý tín hiệu hiệu để phân tích tín hiệu không dừng biến đổi wavelets, phân tích đa phân giải, có tính định vị miềm thời gian tần số Để việc phân tích xử lý tín hiệu thời gian thực cần phải có cấu trúc phần cứng xử lý song song, thiết bị logic lập trình PLD (Programmable Logic Device) chọn giải pháp hiệu Kết hợp đặc tính phân tích đa phân giải, biến đổi wavelets với cấu trúc xử lý song song FPGA giải pháp đại hiệu cho việc xây dựng hệ thống nhận dạng tiếng nói tiếng Việt dựa đặc trưng: lượng frame, ZCR (Zero Crossing Rate) , formant để làm sở nhận dạng Hệ thống nhận dạng tiếng nói thực gồm ba bước: lấy mẫu nhiễu môi trường, huấn luyện nhận dạng Trong giai đoạn lấy mẫu nhiễu môi trường, lượng nhiễu ZCR lưu trữ làm sở cho việc tách âm tiết Trong trình huấn luyện đặc trưng tiếng nói trích lưu trữ sở liệu Trong giai đoạn nhận dạng, đặc trưng tiếng nói so sánh với đặc trưng sở liệu để tìm từ có đặc trưng gần Sau cùng, tiếng nói nhận dạng giải mã thành lệnh tương ứng để điều khiển robot FPGA BASED DESIGNS FOR ROBOT COMMUNICATIONS ABSTRACT Speech recognition system is built based on the features of speech to recognize According to acoustic phonetic theory, speech is generated by the airflow from the lung, which excite vocal cords vibrating to produces a series of sounds, which have the fundamental frequency and many harmonics The resonant cavities of the human vocal organ will amplify some frequencies to form the overall spectrum, called formants The formant is a very important feature to distinguish between syllables However, speech is a non-stationary signal which features vary slowly in time So, it needs to be analyzed and processed in short-time periods, called frame, and the characteristics of frame are considered stationary Wavelet is a good signal processing method for non-stationary signal analysis with good resolution in time and frequency To process signal in real time needs hardware architectures which can process parallel Programmable logic devices are chosen as effective solutions Implementation of multiresoulution signal processing in parallel processing architecture of FPGA is a modern and effective solution for building a speech recognition system The speech recognition system implemented in this thesis is a speakerdependent, isolated word system The fundaments for recognizing are the features: short-time energy, zero-crossing rate, and formants The system has three operating modes: noise sample, voice training, and recognition In noise sample mode, the number of zero-crossing and energy of the noise is found to set the threshold for word boundary detection In training phase, speech signal is processed to extract important features to store in memory During the recognition stage, systems compares an unknown input word to a library of stored words to find the closet match After all, word recognized is decoded into appropriate commands to control robot MỤC LỤC Chương 1: 1.1 1.2 1.3 1.4 1.5 3.1 3.2 3.3 3.4 3.5 Giới thiệu robot Lịch sử phát triển robot Mục đích sử dụng robot Định nghóa phân loại robot Cấu trúc hệ thống robot Các tthế hệ robot Robot communications Hệ thống nhận dạng tiếng nói Các hướng nhiên cứu nhận dạng tiếng nói Mô hình nhận dạng tiếng nói Phân loại hệ thống nhận dạng tiếng nói Các khó khăng việc nhận dạng itếng nói Các yếu tố ảnh hưởng mức độ phức tạp chất lượng hệ thống nhận dạng Chương 2: 1.1 1.2 1.3 1.4 1.5 2.1 2.2 2.3 2.4 TỒNG QUAN ROBOT COMUNICATION VÀ HỆ THỐNG NHẬN DẠNG TIẾNG NÓI 1 4 6 10 11 11 ĐẶC TRƯNG NGỮ ÂM TIẾNG VIỆT Các vấn đề tiếng nói Bộ Máy phát âm người Cơ chế phát âm Bản chất tiếng nói Các đặc trưng vất lý Phân loại tiếng nói Cơ sở ngữ âm tiếng Việt Khái niệm âm tiết m tố nhận diện âm tố m vị Hệ thống âm vị tiếng Việt 13 13 14 15 15 16 17 17 20 24 25 Chương 3: 3.1 3.2 3.3 3.4 3.5 4.1 4.2 5.1 5.2 5.3 5.4 5.5 Số hoá tín hiệu Pre-emphasis Xử lý tín hiệu thời gian ngắn Frmae tiếng nói Năng lượng thời gian ngắn Tốc độ biến thiên qua zero Hàm tương quan thời gian ngắn Hàm sai biệt biên độ trung bình Phân tích phổ dãy loc Các dãy lọc sử dụng nhận dạng tiếng nói Thực dãy lọc Phân tích wavelets rời rạc Khai triển chuỗi tín hiệu Xử lý tín hiệu đa tần Cơ sở wavelets rời rạc Bộ lọc hai kênh Dãy lọc cấu trúc Chương 4: 5.1 5.2 35 37 38 38 40 41 42 43 44 47 50 51 51 52 54 61 65 CANH LỀ VÀ CHUẨN HOÁ THỜI GIAN TRONG HỆ THỐNG NHẬN DẠNG KẾT HP MẪU Giới thiệu Tách điểm đầu cuối Các độ lệch nhận dạng tiếng nói Canh lề chuẩn hoá theo thời gian Phép co giãn thời gian động Giải thuật DTW đối xứng Giải thuật DTW bất đối xứng Mô hình nhận dạng theo hướng kết hợp mẫu Chương 5: 1.1 1.2 PHÂN TÍCH VÀ XỬ LÝ TÍN HIỆU TIẾNG NÓI 66 67 70 73 77 77 80 82 THIẾT KẾ HIỆN ĐẠI TRÊN FPGA NGÔN NGỮ MÔ TẢ PHẦN CỨNG Sự phát triển ứng dụng kỹ thuật EDA Phương pháp thiết kế từ đỉnh xuống Thiết kế ASIC Các thiết bị lập trình dung lượng cao-FPGA 84 84 85 86 ii FPGA ứng dụng cho robot communications - Bộ lọc thông thấp: ⎧1 / h [n ] = ⎨ ⎩ - HD: TS Lê Tiến Thường n = −1,0 nơi khác Bộ lọc thông cao: ⎧ 1/ ⎪ h [n ] = ⎨- 1/ ⎪ ⎩ n=0 n = −1 nôi khác Từ (6.4) ta thấy, lọc thông thấp tính giá trị trung bình (average) hai mẫu liên tiếp, lọc thông tính giá trị sai biệt (difference) hai mẫu liên tiếp Vậy tính hệ số xấp xỉ giá trị trung bình hai mẫu liên tiếp, cáùc hệ số chi tiết giá trị sai lệch hai mẫu liên tiếp Lặp lại trình phân tích cho thành phần xấp xỉ, ta cấu trúc phân tích wavelets Hình 6.21 cấu trúc wavelets mức, tức có nhánh phân tích Hình 6.21-Cấu trúc phân tích wavelets tầng Thiết kế giải thuật 127 KS Hà Hoàng Kha FPGA ứng dụng cho robot communications HD: TS Lê Tiến Thường Hình 6.22- Kết mô biến đổi wavelets rời rạc tầng Các thành phần sau khai triển wavelets lần lược cho qua chỉnh lưu toàn sóng để dịch băng tần tín hiệu xuống tần số thấp tạo ảnh tần số cao Tiếp theo, lọc thông thấp sử dụng để loại bỏ ảnh tần số cao, thành phần tần số thấp lượng phổ tín hiệu dãy tần (xem chương 3) Hình 6.23- Ước lượng lượng phổ dãy tần Thiết kế giải thuật 128 KS Hà Hoàng Kha FPGA ứng dụng cho robot communications 6.3.6 HD: TS Lê Tiến Thường Khối điều khiển huấn luyện Chức khối điều khiển huấn luyện điều khiển ghi đặc trưng (ZCR, hay formant) frame âm tiết vào RAM Trong mode huấn luyện, nhận tín hiệu phát điểm đầu âm tiết, hệ thống chờ trình phân tích frame hoàn thành, cho lưu đặc trưng vào frame địa tương ứng với lệnh huấn luyện Quá trình ghi kết thúc nhận tín hiệu báo kết thúc âm tiết từ khối tách điểm đầu cuối Beginword=0 Reset=1 frame=0 Beginword=1 Chờ frame frame=1 Chuẩn bị ghi RAM Bắt đầu Tất output=0 Chunk=0 frame=0 & endword=0 Kết thúc Clearendpoint=1 từ endword=1 Reset spectrum spo