Chuỗi tín hiệu tiếng nói đưa vào máy tính có dạng hình sin. Do đó, ta sẽ tìm hai điểm dao động cùng pha, khoảng thời gian giữa hai điểm đó chính là chu kỳ T. Từ T, ta sẽ tìm ra tần số f.
Tuy nhiên cần chú ý rằng tín hiệu tiếng nói là sự tổng hợp của nhiều tần số
(xem hình vẽ), do đó, hai điểm dao động cùng pha được xét phải là 2 điểm cắt zero. Bên cạnh đó, ta cũng phải xác định đúng 2 điểm cắt zero để tạo thành chu kỳ của F0, vì các daođộng cộng hưởng cũng có thể gây ra điểm cắt zero.
Hình 2.15: hình dạng tín hiệu tiếng nói
1. Dò tìm điểm cắt zero thứ nhất theo một chiều nào đó (ví dụ đi lên như
trong hình vẽ), đặt tên làX1.
2. Dò tìm 2 điểm cắt zero cùng chiều tiếp theo, đặt tên là X2, X3. Với khoảng thời gian giữa X1X2 và X2X3 là tương đương nhau và nằm trong khoảng ngưỡng thời gian xác định chu kỳ.
3. Lần lượt so sánh biên độ các điểm tương ứng trong hai khoảng X1X2 và
X2X3. Gọi tổng bình phương các độ sai lệch biên độ làS.
4. Nếu S nhỏ hơn ngưỡng độ lệch (tức là hai khoảng X1X2 và X2X3 giống nhau) thì kết luận mỗi khoảng đó là một chu kỳ. Nếu không, thay đổi khoảng thời gian, nghĩa là dò tìm các điểm cắt zero khác.
Làm trơn kết quả F0 bằng bộ lọc median
Bộ lọc Median được dùng khá rộng rãi trong việc khử nhiễu. Nội dung kỹ
thuật được thể hiện như sau:
Để có một tín hiệu ra, một cửa sổ các tín hiệu vào liền nhau được chọn. Sắp xếp các dữ liệu trong cửa sổ tín hiệu kể trên.
Giá trị trung tâm của dãy đã sắp xếp được chọn làm median của tập hợp các mẫu trong cửa sổ.
Nói cách khác, bộ lọc median sẽ tính lại giá trị một điểm mẫu bằng cách lấy trung bình cộng của một sốđiểm mẫu chung quanh.
Đối với lọc median, phần mất nhiều thời gian nhất là bước thứ 2. Nếu độ dài của cửa sổ kể trên là tương đối lớn thì ta nên dùng thuật toán tìm median dựa trên tư
n f( n ) Hình 2.16a: Kết quả trích pitch n f( n ) = M e d ia n {f (n )}
Chương 3. N hận dạng tiếng nói