Cài đặt thuật toán nhận dạng trên DSP 6713 7 9-

Một phần của tài liệu Nghiên cứu hệ thống nhúng giám sát, điều khiển các thiết bị dân dụng bằng tiếng nói tiếng việt (Trang 80)

4.3.1. Thu tín hiệu âm thanh trên DSK 6713

Hai hàm chính input_sampleoutput_sample Có 2 phương pháp lập trình thu âm:

• Thu âm sử dụng ngắt. (Tín hiệu vào từ line in)

• Thu âm dùng vòng quét. (Tín hiệu vào từ MIC)

Thu âm sử dụng ngắt: Sau khi khởi tạo và cho phép ngắt, chương trình đợi trong một vòng lặp vô hạn đến khi sự kiện ngắt xuất hiện. Ngắt được thực hiện trong mỗi chu kì lấy mẫu (Ví dụ với tần số lấy mẫu là 8kHz thì chu kì là

0.125ms), tại mỗi thời điểm đó, giá trị của tín hiệu vào được đọc và đưa đến ADC của bộ mã hoá và gửi ra đến bộ DAC.

Hoàn toàn có thể đặt thêm các hệ số khuyếch đại cho việc thu và phát tín hiệu.

Thu âm sử dụng vòng quét: ADC lấy tín hiệu vào từ đường MIC IN. Sử dụng kĩ thuật vòng quét như một thủ tục liên tục để kiểm tra xem khi nào dữ liệu đã sẵn sàng. Đây là kĩ thuật đơn giản hơn kĩ thuật ngắt nhưng nó kém hiệu quả hơn do dữ liệu cần được kiểm tra liên tục để xác định xem khi nào nó sẵn sàng đểđược nhận hay để truyền đi.

Các hàm chính như input_sample, output_sample, comm_intr hay

comm_poll được định nghĩa sẵn trong file C6713dskinit.c . Điều này giúp cho các

chương trình nguồn giảm đi kích thước rất nhiều.

4.3.2. Cài đặt thuật toán trích đặc trưng MFCC và mạng Neuron lên

chip DSP

Toàn bộ chương trình xử lý được chuyển từ code Matlab thành dạng code C và nằm trong file mfcc_neuron.c.

Tín hiệu sau khi được thu sẽ được sử lý để trích đặc trưng MFCC, sẽ cho ra một vectơ hệ sốđặc trưng Ceptrals gồm 130 phần tử.

Mạng Neuron sau khi được huấn luyện bằng chương trình Matlab được lưu lại dưới dạng 4 ma trận W, L, B1, B2 trong các file text tương ứng : W.txt, L.txt, B1.txt, B1.txt và sẽ được chương trình C đọc vào.

Chương trình sẽ tính toán vector đặc trưng với mạng Neuron và đưa ra kết quả cuối cùng là từ nhận được.

Trong thực tế, chương trình tính hệ số MFCC trong C gặp phải những sai số tính toán dẫn đến sự sai lệch trong kết quả các hệ số MFCC.

Hình 4.7: Sai lệch khi tính hệ số MFCC bằng chương trình C

Do vậy, giải pháp thực hiện ở đây là sử dụng chương trình tính MFCC trong C để tính các hệ số rồi lưu lại ở dạng file .txt. Chương trình huấn luyện mạng Neuron trong Matlab sẽ sử dụng các hệ số này để huấn luyện mạng Neuron.

CHƯƠNG 5: KT QU VÀ HƯỚNG PHÁT TRIN

5.1. Nhn xét kết qu chung ca lun văn

Trong quá trình làm luận văn, học viên đã thu được nhiều kiến thức bổ ích bao gồm: Tìm hiểu được các đặt trưng của âm thanh và của tiếng nói; tìm hiểu lý thuyết của các thuật toán phân tích đặc trưng của âm thanh và của bài toán nhận dạng; nghiên cứu các dòng DSP và kỹ thuật lập trình nhúng, làm quen với phương pháp nghiên cứu và cách làm việc khoa học.

Luận văn đã thực hiện được việc thu thập và xây dựng cơ sở dữ liệu dùng cho việc huấn luyện và kiểm tra mô hình. Xây dựng thành công các mô hình nhận dạng tiếng nói dựa trên mô hình Markov ẩn và mô hình mạng Neuron, cụ thể là đã nhận dạng được các từ điều khiển rời rạc: Tắt, Bật, Chạy, Dừng, Tiền, Lùi, Trái, Phải, Trên, Dưới. Và đã tiến hành chạy thử nghiệm dựa trên các phương pháp phân tích đặc trưng của tín hiệu là LPC và MFCC.

Dựa trên cơ sở dữ liệu thu thập được đã đưa ra được một mô hình nhận dạng thích hợp nhất.

Đã viết xong chương trình nhận dạng để nạp lên vi xử lý DSP C6713.

Vấn đề nhận dạng tiếng nói nói riêng và xử lý tiếng nói nói chung là một vấn đề khó. Nó đòi hỏi tầm kiến thức của người tham gia nghiên cứu phải rộng đồng thời phải nắm vững về xử lý tín hiệu. Các kỹ thuật lập trình nhúng và DSP cũng là một mảng không dễ. Chính vì thế, luận văn đã đi có phần hơi dàn trải và chưa giải quyết được trọn vẹn vấn đề nào. Tuy nhiên, học viên rất hứng thú với lĩnh vực mà mình đang nghiên cứu. Chính vì vậy, tôi rất hy vọng được tiếp tục hoàn thiện những vấn đề còn chưa thấu đáo đó.

5.2. Phương hướng tiếp theo

5.2.1. Cải tiến thuật toán

• Tiến hành xây dựng và thử nghiệm thuật toán với toàn bộ CSDL các từ vựng đã xây dựng.

• Khắc phục các sai số do chuyển đổi thuật toán từ Matlab sang C để cài đặt cho DSP. Tối ưu code để việc thực hiện được nhanh hơn.

• Xây dựng một số bộ lọc cho DSP

• Hoàn thiện bài toán nhận dạng trên DSP.

• Sử dụng thuật toán so sánh thời gian động DTW trong khâu tiền xử lý tín hiệu nhằm nâng cao độ chính xác. Có thể mô tả ý tưởng của thuật toán này như sau:

Cũng xét với bài toán nhận dạng 10 từ điều khiển như chương 3 đã xây dựng. Tuy nhiên, ởđây, chúng ta không xây dựng một mạng Neuron cho cả 10 từ và mỗi đầu ra tương ứng với một từ mà ta sẽ xây dựng 10 mạng neuron riêng biệt cho từng từ. Như vậy, khối lượng tính toán ở phần mô hình mạng cũng sẽ không thay đổi bởi vì mỗi mạng neuron chỉ có 1 đầu ra.

Quá trình học đối với mỗi từ sẽ cho ta mô hình của 1 mạng neuron (Ni) và độ dài thời gian chuẩn của từng từ (Ti). Từ đó ta có mô hình nhận dạng cho một từ như sau:

Hình 5.1: Mô hình nhận dạng kết hợp DTW và mạng Neuron cho 1 từ

Trong mô hình này tín hiệu tiếng nói đưa vào có độ dài T, kết quảđầu ra thu được gồm 3 thông số:

- Kết quả nhận dạng (true/false)

- Sai số do làm tròn kết quả nhận dạng. - Sai số thời gian so với từđược giả thiết.

Trong đó Kết quả nhận dạng là quan trọng và được xét trước tiên. Nếu kết quả là False thì tiếng nói đưa vào mô hình không phải là từ của mô hình nên không xét đến hai tham số tiếp theo. Nếu kết quả là True thì phải sử dụng 2 tham số tiếp theo để tiếp tục so sánh. Tiếng nói cần nhận dạng được đưa qua cả 10 mô hình ứng với 10 từ. Mô hình nào cho kết quả tốt nhất thì kết luận đó là từ được nhận dạng cho tín hiệu tiếng nói đưa vào.

5.2.2. Thiết kế hệ nhúng tự chủ

Kết quả nghiên cứu của luận văn này mới chỉ dừng lại ở việc test thuật toán trên một KIT phát triển DSP sẵn có của hãng Texas Instrument. Chính vì vậy, để có thểđưa ra được những sản phẩm hữu dụng thực sự và có giá thành cạnh tranh thì còn rất nhiều việc phải làm. DTW1 (T1) MFCC Mô hình mạng Neuron N1 Làm tròn (0, 1) Tính sai số thời gian (T-T1)/T1 (%) Sai số làm tròn (%) Tín hiệu vào (T) Mô hình nhận dạng cho 1 từ

Hướng phát triển tiếp theo của đề tài là phải thiết kế một hệ nhúng độc lập có cài đặt thuật toán nhận dạng tiếng nói trong phương thức điều khiển giám sát của nó.

Trong quá trình thực tập làm luận văn, học viên đã cố gắng nghiên cứu và làm việc nghiêm túc để hoàn thành yêu cầu của đề tài, từ đó thu được những kiến thức và những kinh nghiệm rất bổ ích. Tuy nhiên, trong quá trình làm việc, cũng như trong bản thân luận văn này không tránh khỏi những thiếu sót, do vậy sự chỉ bảo, góp ý của các thầy, cô giáo sẽ là sự giúp đỡ và là những ý kiến vô cùng quí báu để luận văn được hoàn thiện hơn và tiếp tục phát triển.

TÀI LIU THAM KHO

[1]. Klaus Finkenzeller, RFID Handbook: Fundamentals and Applications in

Contactless Smart Cards and Identification, Second Edition. New York:

Wiley, 2003.

[2]. Tan Phu Vuong, Identification et Tracabilité par Radio Fréquence, Maitre de conférences de l’INPG. http://web.media.mit.edu/~jrs/WISP-IEEE-TIM.pdf http://buyrfid.righttag.com/ http://www.hightechaid.com/standards/RFID_Standards_SC31.htm http://picvietnam.com/ http://dientuvietnam.net/ http://vnpro.org/forum/

Một phần của tài liệu Nghiên cứu hệ thống nhúng giám sát, điều khiển các thiết bị dân dụng bằng tiếng nói tiếng việt (Trang 80)

Tải bản đầy đủ (PDF)

(87 trang)