3.4.1 Sơ đồ khối phần cứng
Hình 3.9 Sơ đồ khối phần cứng
Tín hiệu ngõ vào được đưa vào ADC để chuyển sang dạng số. Tín hiệu số thu được sẽ được đưa vào bộ nhớ của CPU C5515 qua kênh I2S sử dụng truy cập bộ nhớ trực tiếp (DMA). Các giá trị mẫu mới sẽ được lưu trữ vào một bộ đệm vòng triple như hình 3.11. Tín hiệu lưu trong bộ đệm sẽ được đọc ra và phân khung. Sau khi phân khung, từng khung tín hiệu sẽ được đưa vào khối tách thuộc tính, sau đó đến khối ước lượng ngưỡng và quyết đinh. Ở khối này, căn cứ vào khoảng cách năng lượng băng con của khung hiện tại và mức ngưỡng mà ta phân loại khung đó có chứa tiếng nói hay không. Nếu là khung tiếng nói thì LED sẽ được bật sáng lên và ngược lại. Có thể xem sơ đồ khối quá trình xử lí của thuật toán ở hình 2.6.
3.4.2 Thực hiện phân khung tín hiệu bằng bộ đệm triple
Giả sử bộ đệm 0 đang được dùng để ghi dữ liệu vào, bộ đệm 1,2 được dùng để đọc dữ liệu ra theo thứ tự mẫu như hình vẽ. Khi ghi đầy bộ đệm 0, ngắt DMA được phát sinh sẽ báo cho CPU biết, khi đó CPU sẽ thực hiện xoay bộ đệm, để bộ đệm đọc dữ liệu vào lúc này là bộ đệm 2, bộ đệm để đọc các mẫu ra là bộ đệm 0, và 1. Dữ liệu được đọc ra sẽ được nhân với cửa sổ Hamming để thực hiện phân khung. Bộ đệm được thiết kế như vậy để thực hiện phân khung tín hiệu tiếng nói một cách hiệu quả và nhanh chóng trong thời gian thực.
Hình 3.10 Đọc ghi dữ liệu từ bộ đệm xoay vào/ra triple, và thực hiện phân khung với cửa sổ Hamming 256 mẫu, các khung chồng lên nhau 50%
3.4.4 Trích thuộc tính
Sơ đồ khối của khối trích thuộc tính
Hình 3.11 Sơ đồ khối của khối tính khoảng cách năng lượng
Tín hiệu sau khi phân khung được chuyển sang miền tần số và tính khoảng cách năng lượng giữa hai băng con theo công thức (2.3):
2 2 1 1 1 1 ( ) ( ) ( ) a a M M k k M a a D i X k X k M M M
Khoảng cách năng lượng giữa các băng con có dải động rất lớn do đó cần được nén lại bằng hàm tansig để dễ dàng xử lí trong CPU như công thức (2.4) trong chương 2:
Biến đổi Fourier rời rạc
Tính khoảng cách năng lượng hai băng con
Nén dải đồng và làm trơn Begin
( ) ( ) 1 ( ) 1 D i c D i e D i e Hình 3.12 Đồ thị hành tansig
3.4.5 Quyết định tiếng nói
Hình 3.13 Sơ đồ khối quyết định tiếng nói
3.4.6 Khối tính và cập nhật ngƣỡng thích nghi
Thực hiện như mô tả ở chương 2:
+ Sắp xếp các giá trị D is( ) trong bộ đệm thứ b theo chiều tăng dần, tạo ra
( ')
s
D i (i' [1.... Nf]).
+ Quyết định mức ngưỡng thích nghi Tq b( )( )i : Tq b( )( )i D is( ') |i'q b( ) Begin
End
Tính ngưỡng và cập nhật ngưỡng
Thuộc tính > Ngưỡng
Xuat VAD = 1 Xuat VAD = 0
Hệ số q b( ) được lựa chọn tùy theo các giá trị trong bộ đệm b sao cho sự khác nhau giữa hai thông số đặc trưng D is( ') lớn nhất và nhỏ nhất tại 5 khung đã được sắp xếp lại và liên tiếp nhau với một mức ngưỡng được quyết định trước .Quá trình kiểm tra này từ điểm bắt đầu của bộ đệm và dừng lại khi sự khác nhau giữa các thông số đặc trưng lớn hơn ngưỡng hoặc kết thúc bộ đệm. Khi đó, q b( )i', nếu D is( ')D is( ' 4) . Giá trị được chọn là 0.015.
Tài liệu tham khảo
[1] B.Planner (2005), “An introduction to speech recognition”
[2] A. Benyassine et al. (1997), “ITU-T Recommendation G.729 Annex B: A silence compression scheme for use with G.729 optimized for V.70 digital simultaneous voice and data applications”, IEEE Communications Magazine, vol. 35, no. 9, pp. 64–73.
[3] ETSI (2003), “Speech Processing, Transmission and Quality Aspects (STQ), Distributed speech recognition, Advanced frontend feature extraction algorithm, Compression algorithms”, ETSI ES 202 050 V1.1.3, pp 14-15 and pp 40-41.
[4] Jiang Shaojun, et al. (2004), “A new algorithm for voice activity detection based on Wavelet transform”, Proc. IEEE IMVSP, pp 222-225.
[5] Nguyễn Trí Phước, Trần Lê Anh Thư, Nguyễn Ngọc Như Trang, “Đánh giá thuật toán phát hiện tiếng nói dùng ngưỡng thích nghi và mạng neutron trong miền wavelet”, Hội nghị sv nghiên cứu khoa học lần thứ 7.