Báo Cáo Đề Tài 2023.Pdf

43 2 0
Báo Cáo Đề Tài 2023.Pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 MỤC LỤC Trang LỜI NÓI ĐẦU Chương 1 TỔNG QUAN VỀ HỆ THỐNG THÔNG THOẠI TRÊN TÀU BIỂN VÀ TÍN HIỆU TIẾNG NÓI 3 1 1 Tổng quan về hệ thống thông thoại trên tàu biển 3 1 2 Nâng cao chất lượng tiếng nói là[.]

MỤC LỤC Trang LỜI NÓI ĐẦU Chương 1: TỔNG QUAN VỀ HỆ THỐNG THƠNG THOẠI TRÊN TÀU BIỂN VÀ TÍN HIỆU TIẾNG NÓI 1.1 Tổng quan hệ thống thông thoại tàu biển 1.2 Nâng cao chất lượng tiếng nói gì? 1.3 Lý thuyết tín hiệu nhiễu 1.4 Tổng quan tín hiệu tiếng nói nhiễu 11 1.5 Kết luận chương 14 Chương 2: THUẬT TOÁN NÂNG CAO CHẤT LƯỢNG TIẾNG NÓI 15 2.1 Khái quát thuật tốn nâng cao chất lượng tiếng nói 15 2.2 Thuật toán trừ phổ 18 2.3 Thuật toán Wiener Filtering 22 2.4 Overlap Adding q trình xử lý tín hiệu tiếng người 24 2.5 Ước lượng cập nhật nhiễu 26 2.6 Kết luận chương 27 Chương 3: MÔ PHỎNG VÀ ĐÁNH GIÁ THUẬT TOÁN 28 3.1 Quy trình mơ đánh giá thuật tốn 28 3.2 Chương trình mơ đánh giá thuật toán 35 3.3 Kết luận chương 41 LỜI NÓI ĐẦU Hệ thống thông thoại tàu biển giúp trì thơng tin nội tàu, truyền đạt mệnh lệnh huy, trao đổi thông tin hiệp đồng hoạt động ngày kíp tàu Tuy nhiên, môi trường hoạt động tàu biển chịu tác động nhiều loại tiếng ồn với cường độ cao, tồn thời gian dài tiếng ồn động máy tàu, tiếng sóng biển, gió bão… gây nhiều khó khăn việc truyền đạt thơng tin tiếng nói Từ vấn đề đặt tìm giải pháp để khử tiếng ồn, nâng cao chất lượng tiếng nói cho hệ thống thơng thoại giúp cho việc truyền đạt thông tin nội tàu diễn thuận lợi Thực tế có nhiều thuật tốn nâng cao chất lượng tiếng nói đời Tuy khơng thể bảo tồn y ngun tín hiệu ban đầu sử dụng thuật toán ta tăng cường chất lượng tiếng nói giảm bớt nhiễu để tín hiệu sau xử lý đến người nghe mang đầy đủ nội dung thơng tin Do tơi chọn nội dung “Phương pháp nâng cao chất lượng tiếng nói ứng dụng hệ thống thông thoại tàu biển” làm đề tài nghiên cứu Đề tài gồm chương: Chương 1: Tổng quan hệ thống thông thoại tàu biển tín hiệu tiếng nói Chương giới thiệu chức năng, cấu tạo, nguyên lý hệ thống thông thoại tàu biển cần thiết phải nâng cao chất lượng tiếng nói cho hệ thống Đồng thời giới thiệu số khái niệm tín hiệu, tín hiệu tiếng nói tìm hiểu loại nhiễu Chương 2: Thuật toán nâng cao chất lượng tiếng nói Chương giới thiệu khái quát số thuật tốn nâng cao chất lượng tiếng nói, tiêu chí đánh giá chất lượng thuật tốn, sâu vào nghiên cứu nguyên lý thuật toán trừ phổ thuật tốn lọc Wiener Chương 3: Mơ đánh giá thuật tốn Chương thực mơ khử nhiễu cho tín hiệu tiếng nói bị nhiễu mơi trường tàu biển thuật tốn trừ phổ thuật toán lọc Wiener phần mềm Matlab Đồng thời đánh giá, so sánh kết thu tiêu chí đánh giá chất lượng tiếng nói Đề tài thực thuật toán trừ phổ thuật toán lọc Wiener giúp nâng cao chất lượng tiếng nói mơi trường tiếng ồn tàu biển, ứng dụng vào hệ thống thông thoại tàu biển Qua đưa kết đánh giá làm sở để đánh giá, so sánh tính hiệu hai thuật tốn Chương TỔNG QUAN VỀ HỆ THỐNG THÔNG THOẠI TRÊN TÀU BIỂN VÀ TÍN HIỆU TIẾNG NĨI 1.1 Tổng quan hệ thống thông thoại tàu biển 1.1.1 Nhiệm vụ chức hệ thống Đối với tàu biển, đặc biệt loại tàu quân tàu Hải qn, ngồi việc trì thơng tin liên lạc tàu với tàu, tàu với bờ thiệt bị sóng vơ tuyến việc trì liên lạc nội thủy thủ tàu vô quan trọng Trên tàu thường chia thành nhiều khoang hầm tương ứng với nhiều vị trí hoạt động thủy thủ việc trì liên lạc thủy thủ phải thông qua hệ thống thông thoại nội Hệ thống thông thoại nội hệ thống vô quan trọng, dùng để tổ chức liên lạc vị trí huy vị trí chiến đấu nhằm mục đích bảo đảm cho hoạt động chiến đấu hàng ngày kíp tàu Nếu khơng có tổ chức thơng thoại nội khơng thể điều khiển: - Sự làm việc số hiệu chiến đấu chuyển trạng thái công; - Sự làm việc đài huy tàu điều kiện hàng hải phức tạp; - Sự làm việc đài huy kíp tàu chuẩn bị chiến đấu, chuẩn bị biển; - Sự làm việc đài huy (vị trí điều khiển ngành máy tàu) đấu tranh bảo vệ sức sống tàu (chống cháy, chống chìm ) 1.1.2 Sự cần thiết phải nâng cao chất lượng tiếng nói cho hệ thống Tín hiệu tiếng nói biến đổi thành tín hiệu điện nhờ micro theo đường dẫn tín hiệu, sau đơn giản khuếch đại đưa loa mà không thơng qua xử lý tín hiệu tiếng nói khác Vì ngồi tín hiệu âm thành cịn có tiếng ồn từ mơi trường xung quanh lọt vào micro khuếch đại gây khó khăn cho người thu nghe, ảnh hưởng lớn đến chất lượng thông thoại Môi trường làm việc tàu biển mơi trường có cường độ tiếng ồn cao đặc biệt tàu hành trình liên tục Tiếng ồn chủ yếu gây hoạt động máy tàu, cường độ tiếng ồn có khác biệt lớn khoang chức năng, phụ thuộc nhiều vào khả cách âm khoang Khu vực hầm máy thường xuyên có ngưỡng ồn vượt tiêu chuẩn cho phép ảnh hưởng đến khoang lân cận có khoang vị trí huy ngành máy Những vị trí ngồi trời, mặt boong cịn chịu tiếng ồn sóng biển, gió bão làm ảnh hưởng không nhỏ đến chất lượng thông thoại với vị trí khác tàu Qua phân tích ta thấy việc nâng cao chất lượng tiếng nói hay nói cách khác khử ồn, khử nhiễu cho hệ thống thông thoại nội tàu cần thiết Vì phạm vi đề tài nghiên cứu số phương pháp nâng cao chất lượng tiếng nói để ứng dụng vào nâng cao chất lượng tiếng nói cho hệ thống thơng thoại tàu biển Nâng cao chất lượng tiếng nói liên quan đến việc cải thiện cảm nhận tiếng nói bị suy giảm chất lượng có mặt nhiễu tiếng nói Mục đích nâng cao chất lượng tiếng nói cải thiện chất lượng tính dễ nghe tiếng nói bị suy giảm nhiễu Sự cải thiện chất lượng mà tốt làm giảm khó khăn cho người nghe nghe nhiều trường hợp cịn giúp cho người nghe nghe mơi trường có nhiễu với mức độ cao nhiễu tồn thời gian dài tiếng ồn máy tàu gây 1.2 Nâng cao chất lượng tiếng nói gì? Nâng cao chất lượng tiếng nói liên quan đến việc cải thiện cảm nhận tiếng nói bị suy giảm chất lượng có mặt nhiễu tiếng nói Trong hầu hết ứng dụng, mục đích nâng cao chất lượng tiếng nói cải thiện chất lượng tính dễ nghe tiếng nói bị suy giảm nhiễu Sự cải thiện chất lượng mà tốt làm giảm khó khăn cho người nghe nghe nhiều trường hợp cịn giúp cho người nghe nghe mơi trường có nhiễu với mức độ cao nhiễu tồn thời gian dài Các thuật toán nâng cao chất lượng tiếng nói làm giảm nén nhiễu đến mức độ xem thuật toán nén nhiễu Trong nhiều trường hợp, cần thiết việc tăng cường tín hiệu tiếng nói xuất tín hiệu tiếng nói hình thành vùng có nhiễu ảnh hưởng nhiễu kênh truyền thơng Có nhiều kịch u cầu đặt Speech enhancement nhiều trường hợp khác nhau, ví dụ thơng tin thoại, hệ thống điện thoại tế bào chịu ảnh hưởng nhiễu từ ô tô, nhà hàng… truyền đến đích Chính mà thuật tốn nâng cao chất lượng tiếng nói sử dụng để cải thiện chất lượng tiếng nói điểm thu, mặt khác, sử dụng khối tiền xử lý hệ thống mã hố tiếng nói dùng điện thoại tế bào chuẩn Khi nhận dạng tiếng nói, tiếng nói bị nhiễu tiền xử lý thuật toán nâng cao chất lượng trước nhận dạng Trong thông tin liên lạc hàng không, kỹ thuật nâng cao tiếng nói cần sử dụng để cải thiện chất lượng tính dễ nghe tiếng nói phi cơng bị ảnh hưởng nhiễu buồng lái Vì mà nâng cao chất lượng tiếng nói cần thiết thông tin liên lạc quân Trong hệ thống hội nghị qua thoại, nguồn nhiễu xuất vùng truyền đến tất vùng khác Các thuật tốn nâng cao chất lượng tiếng nói sử dụng tiền xử lý làm nhiễu tiếng trước khuếch đại Như ví dụ minh họa mục tiêu thuật tốn tăng cường tuỳ thuộc vào ứng dụng mà dùng Xét phương diện lý tưởng, mong muốn Speech enhancement cải thiện chất lượng tính dễ nghe hay suốt tiếng nói Tuy nhiên, xét phương diện thực tế thuật tốn Speech enhancement cải thiện chất lượng tiếng nói Nó làm giảm nhiễu tiếng nói làm gia tăng thêm độ méo tín hiệu tiếng nói, điều làm giảm tính dễ nghe tiếng nói Do đó, yêu cầu việc thiết kế thuật tốn Speech enhancement phải đảm bảo nén nhiễu không gây méo cảm nhận tín hiệu tiếng nói Giải pháp tổng quát vẩn đề Speech enhancement phụ thuộc lớn vào ứng dụng cần sử dụng, vần đề nguồn nhiễu giao thoa gây nhiễu, mối liên hệ nhiễu tín hiệu sạch, số microphone cảm biến có Sự giao thoa xem nhiễu xem tín hiệu tiếng nói, tuỳ thuộc vào mơi trường ta xét, xem tranh chấp speaker Đặc tính âm nhiễu cộng thêm vào tín hiệu âm hình thành phịng bị dội âm Hơn nữa, nhiễu có tính tương quan khơng tương quan mặt thống kê với tín hiệu Số lượng microphone có khả ảnh hưởng đến tính hiệu thuật tốn Speech enhancement 1.3 Lý thuyết tín hiệu nhiễu 1.3.1 Định nghĩa tín hiệu Tín hiệu dùng để đại lượng vật lý mang tin tức Về mặt toán học, ta mơ tả tín hiệu hàm hay nhiều biến độc lập (theo biến thời gian, không gian hay biến độc lập khác) Chẳng hạn như, hàm: x(t) = 20t2 mơ tả tín hiệu biến thiên theo biến thời gian t Hay ví dụ khác, hàm: s(x, y) = 3x + 5xy + y2 mơ tả tín hiệu hàm theo hai biến độc lập x y, x y biểu diễn cho hai toạ độ mặt phẳng Hai tín hiệu ví dụ lớp tín hiệu biểu diễn xác hàm theo biến độc lập Tuy nhiên, thực tế, mối quan hệ đại lượng vật lý biến độc lập thường phức tạp nên biểu diễn tín hiệu hai ví dụ vừa nêu Lấy ví dụ tín hiệu tiếng nói, biến thiên áp suất khơng khí theo thời gian Chẳng hạn ta phát âm từ “away”, dạng sóng biểu diễn hình 1.1 Hình 1.1 Tín hiệu tiếng nói 1.3.2 Phân loại tín hiệu - Phân loại theo thời gian: + Tín hiệu tương tự (liên tục): tín hiệu có biến thời gian liên tục (nhận giá trị khoảng giá trị đó) + Tín hiệu rời rạc: tín hiệu có biến độc lập thời gian nhận số giá trị (Ví dụ: Các số thị trường chứng khốn, số liệu khí tượng…) Nghĩa tín hiệu biểu diễn dãy số, hàm tín hiệu có giá trị xác định thời điểm định Tín hiệu rời rạc (cịn gọi tín hiệu lấy mẫu) thu cách lấy mẫu tín hiệu liên tục - Phân loại theo biên độ: + Tín hiệu liên tục theo biên độ: tín hiệu mà hàm biên độ nhận giá trị Ví dụ: Hàm x(t) = sin(t) nhận giá trị khoảng [-1,1] + Tín hiệu rời rạc theo biên độ hay gọi tín hiệu lượng tử hố: tín hiệu mà hàm biên độ nhận giá trị định Ví dụ: x(t) = với t < x(t) = với t ≥ Từ người ta đưa khái niệm tín hiệu số tín hiệu tương tự Tín hiệu tương tự tín hiệu có thời gian biên độ liên tục, tín hiệu số tín hiệu có thời gian biên độ rời rạc Ta khái quát phân loại tín hiệu theo biên độ thời gian bảng bên dưới: Tín hiệu tương tự Tín hiệu rời rạc Tín hiệu lượng tử Tín hiệu số Hình 1.2 Hình dạng loại tín hiệu Bảng 1.1 Khái quát phân loại tín hiệu theo biên độ thời gian Tín hiệu tương tự Tín hiệu rời rạc (lấy mẫu) Tín hiệu lượng tử Tín hiệu số Biên độ Liên tục Liên tục Rời rạc Rời rạc Thời gian Liên tục Rời rạc Liên tục Rời rạc 1.3.3 Tín hiệu rời rạc Là tín hiệu biểu diễn dãy giá trị (thực phức) với phần tử thứ n ký hiệu x(n) x = { x(n) } n = -∞ +∞ Thơng thường tín hiệu rời rạc có cách lấy mẫu tín hiệu liên tục thực tế Phương pháp lẫy mẫu thường gặp lấy mẫu tức thời điểm lấy mẫu cách khoảng Ts gọi chu kỳ lấy mẫu Tín hiệu liên tục Xa (t) Lấy mẫu t = nTs Tín hiệu rời rạc Xs (nTs ) = X(n) Hình 1.3 Lấy mẫu dạng tín hiệu Với: Ts chu kỳ lấy mẫu, n số nguyên; F =1/Ts gọi tần số lấy mẫu Ví dụ: Tín hiệu nhiệt độ tín hiệu liên tục Tại trạm khí tượng 15 phút người ta ghi lại nhiệt độ lần Như tức thực thao tác lẫy mẫu tín hiệu nhiệt độ với chu kỳ lẫy mẫu Ts = 15 phút, số liệu thu tín hiệu nhiệt độ rời rạc Để tín hiệu khơi phục lại sau lấy mẫu tần số lấy mẫu phải tuân theo định lý lấy mẫu Nyquist - Shannon Đinh lý phát biểu sau: Một hàm số tín hiệu x(t) không chứa thành phần tần số lớn giá trị Fm biểu diễn xác tập giá trị với chu kỳ lấy mẫu T = 1/(2 F ) Như vậy, tần số lấy mẫu phải thoả mãn điều kiện F ≥ 2F Tần số giới hạn F/2 gọi tần số Nyquist khoảng (-F/2; F/2) gọi khoảng Nyquist Thực tế, tín hiệu trước lấy mẫu bị giới hạn lọc để tần số tín hiệu nằm khoảng Nyquist 1.3.4 Hệ thống xử lý tín hiệu số - Hệ thống đặc trưng toán tử T làm nhiệm vụ biển đổi tín hiệu vào x thành tín hiệu y Một hệ thống xử lý tín hiệu xác lập mối quan hệ tín hiệu vào tín hiệu y = T[x] - Các hệ thống xử lý tín hiệu: + Hệ thống tương tự: Tín hiệu vào tương tự; + Hệ thống rời rạc: Tín hiệu vào rời rạc; + Hệ thống số: Tín hiệu vào tín hiệu số - Dưới ví dụ mơ hình hệ thống xử lý tín hiệu số Tín hiệu số Tín hiệu tương tự Tín hiệu LPF S&H ADC DSP Tín hiệu tương tự Tín hiệu LPF DAC Tín hiệu tương tự Tín hiệu số Hình 1.4 Mơ hình hệ thống xử lý tín hiệu số thực tế - LPF (Low Pass Filter): Bộ lọc thông thấp để loại bỏ nhiễu đảm bảo định lý Nyquist Shannon - S&H (Sampling and Hold): Mạch trích giữ mẫu giữ cho tín hiệu ổn định q trình chuyển đổi sang tín hiệu số - ADC (Analog to Digital Converter): Bộ chuyển đổi tương tự thành số - DAC (Digital Signal Processing): Bộ chuyển đổi số thành tương tự - DSP (Digital Signal Processing): Xử lý tín hiệu số 1.3.5 Phép biến đổi fourier tín hiệu rời rạc DTFT Phép biến đổi áp dụng để phân tích cho tín hiệu hệ thống Nó dùng trường hợp dãy rời rạc dài vô hạn khơng tuần hồn −𝑗𝛺𝑛 DTFT: 𝑋(𝛺) = ∑∞ 𝑛=−∞ 𝑥[𝑛]𝑒 Ta nhận xét thấy tín hiệu rời rạc miền thời gian DTFT lại liên tục tuần hồn miền tần số DTFT hàm phức theo biến tần số thực Ta gọi DTFT phổ phức (complex spectrum) hay ngắn gọn phổ tín hiệu rời rạc x[n] a Sự hội tụ phép biển đổi Fourier Không phải tất DTFT tồn (hội tụ) DTFT hội tụ khi: ∞ | ∑ 𝒙[𝒏]𝒆−𝒋𝜴𝒏 | < ∞ 𝒏=−∞ ∞ ∞ | ∑ 𝒙[𝒏]𝒆−𝒋𝜴𝒏 | < ∑ |𝒙[𝒏]𝒆−𝒋𝜴𝒏 | 𝒏=−∞ Ta ln ln có: 𝒏=−∞ −𝒋𝜴𝒏 −𝒋𝜴𝒏 |∑ ∞ | < ∑∞ | 𝒏=−∞ 𝒙[𝒏]𝒆 𝒏=−∞|𝒙[𝒏]| |𝒆 −𝒋𝜴𝒏 |∑ ∞ | < ∑∞ 𝒏=−∞ 𝒙[𝒏]𝒆 𝒏=−∞|𝒙[𝒏]| b Phép biến đổi Fourier ngược Ta thấy X(Ω) hàm tuần hoàn với chu kỳ 2π, ejΩ tuần hoàn với chu kỳ 2π: 𝑒 𝑗𝛺 = 𝑒 𝑗(𝛺+2𝜋) = 𝑒 𝑗𝛺 𝑒 𝑗2𝜋 = 𝑒 𝑗𝛺 Do dải tần số tín hiệu rời tạc dải tần rộng 2π, thường chọn là: (-π, π) hay (0, 2π) Vậy ta triển khai X(Ω) thành chuỗi Fourier khoảng thời gian (-π, π) hay (0, 2π) điều kiện tồn X(Ω) thoả mãn Các hệ số Fourier x[n], ta tính x[n] từ X(Ω) theo cách sau: Nhân vế biểu thức DTFT với 𝑒 𝑗Ω𝑙 lấy tích phân khoảng 2𝜋 (-π, π) ta có: ∞ 𝜋 𝜋 𝑗𝛺𝑙 ∫ 𝑋(𝛺)𝑒 𝑑𝛺 = ∫ [ ∑ 𝑥[𝑛] 𝑒 −𝑗𝛺𝑛 ] 𝑒 𝑗𝛺𝑙 𝑑𝛺 = 𝑥[𝑙] 2𝜋 −𝜋 2𝜋 −𝜋 𝑛=−∞ Thay = n thay cận tích phân, khơng thiết phải (-π, π) mà cần khoảng cân 2π, ta biểu thức tính biến đổi Fourier ngược (IDTFT) sau: 𝑥[𝑛] = ∫ 𝑋(𝛺)𝑒 𝑗𝛺𝑛 𝑑𝛺 2𝜋 2𝜋 Ta tính IDTFT hai cách: tính trực tiếp tích phân trên, hai chuyển biến đổi Z tính biến đổi Z ngược Tuỳ vào trường hợp cụ thể mà ta chọn phương pháp cho thuận tiện c Các tính chất phép biến đổi Fourier Nếu 𝑥[𝑛] ↔ 𝑋(𝛺) 𝑥1 [𝑛] ↔ 𝑋1 (𝛺) 𝑥2 [𝑛] ↔ 𝑋2 (𝛺) ta có: - Tính tuyến tính: ax1 [𝑛] + 𝑏𝑥2 [𝑛] ↔ aX1 (𝛺) + 𝑏𝑋2 (𝛺) - Tính dịch thời gian: 𝑥[𝑛 − 𝑛0 ] ↔ 𝑒 −𝑗𝛺𝑛 𝑋(𝛺) Qua ta thấy dịch chuyển tín hiệu miền thời gian không ảnh hưởng biên độ DTFT, nhiên pha thêm lượng - Tính dịch tần số: 𝑒 𝑗𝛺𝑛 𝑥[𝑛] ↔ 𝑋(𝛺 − 𝛺0 ) - Tính chập thời gian: 𝐹 x1 [𝑛] ∗ x2 [𝑛] ↔ 𝑋1 (𝛺)𝑋2 (𝛺) - Tính nhân thời gian: x1 [𝑛] x2 [𝑛] ↔ ∫ 𝑋1 (𝜆)𝑋2 (𝛺 − 𝜆)d 𝜆 2𝜋 2𝜋 d Phân tích tần số (phổ) cho tín hiệu rời rạc Trong miền tần số, tín hiệu có đặc điểm riêng Ví dụ như, tín hiệu sin có tần số đơn, nhiễu trắng chứa tất thành phần tần số Sự biến thiên chậm tín hiệu tần số thấp, biến thiến nhanh xung nhọn tần số cao Như xung vng chẳng hạn, chứa tất tần số tần số cao Phổ tín hiệu mô tả chi tiết thành phần tần số chứa bên tín hiệu Ví dụ tín hiệu xung vng, phổ tất đỉnh nhọn sóng sin riêng kết hợp lại hợp với tạo xung vuông Thơng tin quan trọng nhiều lý Ví dụ, thành phần tần số mẫu nhạc cho ta biết đặc trưng loa, để từ sản xuất ta lại có cải tiến cho hay Để dự đoán ảnh hưởng lọc tín hiệu, cần phải biết khơng chất lọc mà phải biết phổ tín hiệu e Phổ tín hiệu phổ pha Phổ tín hiệu gồm hai phần: phổ biên độ (magnitude spectrum) phổ pha (phase spectrum) Phổ biên độ độ lớn thành phần tần số Phổ pha quan hệ pha thành phần tần số khác Cơng cụ để tính phổ tín hiệu rời rạc khơng tuần hồn DTFT Để tính phổ tín hiệu, ta qua hai bước: tính DTFT tín hiệu X(Ω), hai tính biên độ pha X(Ω) 𝑋(𝛺) = |𝑋(𝛺)|𝑒 𝑗𝜃(𝛺) Ở |𝑋(𝛺)| phổ biên độ 𝜃(𝛺) phổ pha 10 Start Khai báo, khởi tạo cá tham số đầu vào Đọc file tín hiệu file nhiễu x = length(cleanfile); y = length(noisefile); x> addnoise_asl(‘input.wav’, ‘0.wav’, ‘0_5.wav’, 5); Hình 3.3 Phổ tín hiệu 29 Hình 3.4 Phổ nhiễu ồn máy tàu Hình 3.5 Phổ tín hiệu bị nhiễu SNR = 5dB 3.1.2 Xử lý nâng cao chất lượng tiếng nói a Thuật tốn trừ phổ Hình 3.6 biểu diễn lưu đồ thuật tốn trừ phổ File tín hiệu đầu vào chia thành khung với kích thước 20 ms/khung Lựa chọn sổ Hamming với tỷ lệ chồng lấn 50% Cửa sổ tránh gián đoạn phần đầu phần cuối khung liệu Giả sử khung đầu có nhiễu, khơng có xuất tiếng nói, tính cơng suất nhiễu trung bình ban đầu phục vụ cho việc ước lượng nhiễu Xử lý khung đầu tiên, thực biến đổi Fourier nhanh cho khung với mục đích biến đổi tín hiệu từ miền thời gian sang miền tần số Xác định tham số trừ phổ tính SNR cho khung để tiến hành thuật toán VAD Nếu SNR khung nhỏ ngưỡng cho trước kết luận khung khơng có xuất tiếng nói tiến hành cập nhật lại cơng suất nhiễu trung bình Tiến hành tương tự cho khung cịn lại sau biến đổi IFFT nối khung lại nhận tín hiệu tăng cường cuối Trong thuật toán VAD sử dụng phương pháp cập nhật nhiễu trực tuyến Đây phương pháp thực liên tục việc cập nhật phổ nhiễu chu kỳ trích mẫu song song với việc thực thuật tốn xử lý tín hiệu tiếng nói Căn để thực việc cập nhật nhiễu trực tuyến phát tiếng nói với mục đích cập nhật phổ nhiễu khoảng chu kỳ khơng có tiếng nói 30 Thuật tốn nâng cao chất lượng tiếng nói theo phương pháp trừ phổ dựa nguyên lý sau: giả sử tín hiệu nhiễu có dạng cộng tính, ta ước lượng phổ tín hiệu cách trừ ước lượng phổ tiếng nói có nhiễu cho ước lượng phổ nhiễu Phổ nhiễu ước lượng cập nhật khoảng thời gian khơng có tiếng nói Quy luật cập nhật nhiễu trực tuyến lớp thuật toán trừ phổ định theo công thức tài liệu tham khảo: 𝟐 ̄ ∑𝒆𝒊 𝝎𝒌 =𝒃𝒌 |𝒀𝟏 (𝝎𝒌 )| > 𝑺𝑵𝑹𝒊 (𝒅𝑩) = 𝟏𝟎 𝒍𝒐𝒈𝟏𝟎 ( 𝒆𝒊 𝑻𝒉𝒓𝒆𝒔 ) ∑𝝎𝒌 =𝒃𝒌|𝑫𝒊 (𝝎𝒌 )|𝟐 < 𝑫(𝒊) = √𝜷 |𝑫(𝒊 − 𝟏)|𝟐 + (𝟏 − 𝜷)|𝒀(𝒊)|𝟐 Trong đó: + Thres: giá trị ngưỡng định tín hiệu vào có nhiễu hay gồm tín hiệu có ích + 𝑌𝑘2 (𝑖): cơng suất phổ tín hiệu gồm tiếng nói nhiễu + Dk(i): cơng suất phổ nhiễu khung thứ I (tần số k) + B: số làm mịn (smoothing constant) chọn dải (0specsub(‘0_5.wav’, ‘ss_0_5.wav’) Phổ file tín hiệu sau xử lý biểu diễn hình 3.7 Hình 3.7 Phổ file tín hiệu bị nhiễu tiếng ồn máy tàu sau xử lý thuật tốn trừ phổ 31 Start Chia tín hiệu đầu vào thành N khung, khung dài 20ms Giả sử khung có nhiễu Biến đổi FFT, tính cơng suất nhiễu trung bình D i=0 (Xử lý khung đầu tiên) + Biến đổi FFT tính Y + Tính X = Y-D + Tính SNR phục vụ VAD VAD: SNR wiener_as ( ‘0_5.wav’, ‘wf_0_5.wav’); Hình 3.8 Phổ tín hiệu sau thuật tốn dùng lọc Wiener mức SNR = 5dB 33 Start Chia tín hiệu đầu vào thành N khung, khung dài 20ms Giả sử 120ms có nhiễu Biến đổi FFT, tính cơng suất nhiễu trung bình D i=0 + Biến đổi FFT + Tính Posteri SNR + Tính Priori SNR S Cập nhật nhiễu: Tính D VAD: Có tiếng nói Đ Tính Gain Function G(ω) = (SNRpri)/(1+SNRpri) + Tính X = G*Y + Lưu lại G posteri SNR phục vụ xử lý khung + i = i+1 Đ i>[Sig,Bak,Ovl] = composite(‘input.wav’, ‘wf_0_5.wav’); Sig = 3.8609 ; Bak = 2.7585 ; Ovl = 3.2578 >>[Sig,Bak,Ovl] = composite(‘input.wav’, ‘wf_1_10.wav’); Sig = 3.7075; Bak = 2.8352; Ovl = 3.1396 Ta dùng hàm đánh giá để tối ưu tham số cho thuật tốn trừ phổ 3.2 Chương trình mơ đánh giá thuật toán 3.2.1 Giới thiệu lập trình giao diện người dùng GUI Matlab Xây dựng chương trình mơ đánh giá thuật tốn nâng cao chất lượng tiếng nói phần mềm Matlab Đây khơng ngơn ngữ lập trình, phần mềm ứng dụng tính tốn hiệu mà cịn công cụ linh hoạt giúp cho việc thực giải thuật xử lý nhanh chóng dễ hiểu Mơi trường Matlab mơi trường lập trình đánh giá cao nhờ nhiều lợi như: - Ngôn ngữ dễ hiểu, khơng địi hỏi biết nhiều thủ tục, câu lệnh, giúp người học ngôn ngữ dễ dàng Ngôn ngữ Matlab giống với C chương trình Matlab dịch thành chương trình C - Tổ chức nhớ để lưu trữ mảng tốt, cách tính mảng Matlba thực nhanh - Có thể nhanh chóng thấy kết lệnh nên dễ dàng kiểm tra chương trình Đa số ngơn ngữ khác cần phải biên dịch chương trình khơng có lỗi chạy chạy chế độ Debug tốn thời gian - Các công cụ phát triển Matlab dễ dàng, toolbox có số lệnh, lệnh đặt file test đơn giản 35 - Công cụ Simulink theo Matlab giúp mô hệ vật lý để quan sát kết máy, không cần chế độ phần cứng - Matlab hỗ trợ giao diện người dùng GUI (Graphical User Interface) giao diện đồ họa có điều khiển nhiều công cụ người dùng lập tình sẵn Hầu hết GUI thực (trả lời) lệnh người dùng thông qua tác động người dùng lên giao diện, người sử dụng không cần biết cấu trúc chương trình thực GUI thực thông qua hàm CALLBACK, người dùng tác động lên giao diện cách khác nhau, hàm CALLBACK gọi để thực thi Sử dụng cơng cụ có sẵn GUI Matlab để lập trình Ưu điểm cách dễ thực hàm FUNCTION GUI tự tạo sẵn Để làm việc với GUI, cửa sổ Command Window Matlab ta gõ câu lệnh “>>guide” cửa sổ GUIDE Quick Start Trong hình 3.14 cửa sổ GUIDE Quick Start Hình 3.10 Cửa sổ GUIDE Quick Start Trên cửa sổ GUIDE Quick Start có nhiều lựa chọn theo khuôn mẫu sau: - Create New GUI: Tạo hộp thoại GUI theo loại sau - Blank GUI (Default): Hộp thoại GUI trống khơng có điều khiển uicontrol - GUI with Uicontrols: Hộp thoại GUI với vài uicontrol button, Chương trình chạy - GUI with Axes and Menu: Hộp thoại GUI với uicontrol axes button, menu để hiển thị đồ thị - Modal Question Dialog: Hộp thoại đặt câu hỏi Yes, No 36 Cửa sổ giao diện thiết kế GUI giống với chương trình lập trình giao diện Visual Basic, Visual C++, Hình 3.11 Cửa sổ thiết kế GUI Trên hình 3.11, kéo thả ‘control’ vào cửa sổ thiết kế tùy theo mục đích sử dụng Các ‘control’ bao gồm: - Push Button: Là nút nhấn, nhấn vào thực thi cấu trúc hàm Callback - Slider: Là trượt cho phép người dùng di chuyển trượt (hay giá trị) để thực thi lệnh - Radio Button: Giống Checkbox thường sử dụng để tạo lựa chọn nhất, tức lần chọn số nhóm nhiều nút Khi chọn cịn lại nhóm bị bỏ chọn - Check Box: Sử dụng để đánh dấu tích vào thực kiểm tra nhiều ô để thực thi - Edit Text: Là nơi kí tự nhập vào từ người dùng thay đổi - Static Text: Là kí tự thông qua Callback thông thường để viết nhãn cho biểu tượng, người dùng thay đổi nội dung - Pop-up Menu: Mở danh sách lựa chọn người dùng nhấp chuột vào Chỉ chọn mục danh sách mục - List Box: Là hộp thoại danh sách mục, cho phép người dùng chọn hay nhiều mục 37 - Axes: Đây giao diện đồ họa hiển thị hình ảnh, có nhiều thuộc tính bao gồm: khơng gian 2D (theo trục đứng ngang), 3D (hiển thị không gian chiều) - Panel: Tạo mảng nhóm biểu tượng lại với giúp ta dễ kiểm soát thao tác di chuyển - Button Group: Quản lý lựa chọn nút Radio Button - ActiveX Control: Quản lý nhóm nút chương trình liên quan với Active - Toggle Button: Là nút nhấn có điều kiện, nhấp chuột nhả ra, nút nhấn giữ lệnh thực thi, nhấp chuột vào lần thứ 2, nút nhấp nhả ra, hủy bỏ lệnh vừa thực thi 3.2.2 Xây dựng chương trình mơ đánh giá GUI Hình 3.12 giao diện chương trình mơ đánh giá thuật toán nâng cao chất lượng tiếng nói ứng dụng hệ thống thơng thoại nội tàu biển viết GUI Quy trình đánh giá thuật toán tiến hành theo bước Hình 3.12 Giao diện chương trình mơ đánh giá thuật tốn nâng cao chất lượng tiếng nói Trên giao diện chương trình ta thực theo quy tình sau: Bước 1: Nhấn vào nút “Tạo tín hiệu đầu vào” giao diện cho đồ thị biểu diễn hình dạng phổ file tín hiệu ‘input.wav’ (hình 3.13) Đồng thời nút “Listen” ra, nhấn vào để nghe file tín hiệu Hoặc thu file âm nhấn vào nút “Thu âm” 38 Hình 3.13 Tạo tín hiệu vào Bước 2: Tại bước ta tạo file tín hiệu có nhiễu Đầu tiên menu “Nguồn nhiễu” ta chọn nguồn nhiễu sau: máy tàu, sóng biển gió bão Sau ta chọn tỉ số SNR nằm khoảng từ 0dB đến 10dB menu “SNR” Cuối ta nhấn nút “Chèn nhiễu” chương trình tiến hành chèn nhiễu tiếng ồn vào file tín hiệu lấy bước để tạo file tín hiệu bị nhiễu Đồng thời giao diện chương trình vẽ hình dạng phổ file tín hiệu bị nhiễu Ta nhấn vào nút “Listen” để nghe file tín hiệu bị nhiễu (hình 3.14) Hình 3.14 Lựa chọn nguồn nhiễu mức SNR để chèn nhiễu vào file tín hiệu 39 Bước 3: Ta sử dụng thuật toán trừ phổ lọc Wiener để tiến hành lọc nhiễu cho file tín hiệu bị nhiễu tạo bước Tại Button Group “Thuật toán” ta nhấn vào hai Radio Button “Spectral Subtraction” để chọn sử dụng thuật toán trừ phổ, nhấn vào Radio Button “Wiener Filtering” để lựa chọn sử dụng thuật tốn lọc Wiener Sau ta nhấn vào nút “Xử lý” chương trình tiến hành khử nhiễu cho file tín hiệu bị nhiễu Đồng thời giao diện chương trình vẽ hình dạng phổ file tín hiệu sau xử lý xong Ta nhấn vào nút “Listen”, nghe file tín hiệu sau xử lý đưa cảm nhận hiệu thuật toán cách so sánh với file tín hiệu đầu vào (hình 3.15) Hình 3.15 Xử lý tín hiệu bị nhiễu thuật tốn trừ phổ thuật tốn lọc Wiener Bước 4: Thơng qua tiêu chí độ méo tín hiệu tiếng nói (SIG), nhiễu (BAK) hiệu ứng tổng thể (OVL) ta đánh giá, so sánh hiệu nâng cao chất lượng tiếng nói thuật tốn trừ phổ thuật tốn lọc Wiener Tại Button Group “Tiêu chí đánh giá” ta lựa chọn tiêu chí “SIG”, “BAK”, “OVL” Sau ta nhấn vào nút “Đánh giá, so sánh”, giao diện chương trình vẽ đồ thị đánh giá hiệu hiệu khử nhiễu với mức SNR từ 0dB đến 10dB Để đánh giá hiệu xử lý với nguồn nhiễu khác nhau, menu “Nguồn nhiễu” bước ta chọn nguồn nhiễu: máy tàu, sóng biển sau nhấn lại vào nút “Đánh giá, so sánh” Đồ thị đánh giá vẽ đường, đường đánh giá cho thuật toán trừ phổ, đường đánh giá cho thuật tốn lọc Wiener Vì hai đường vẽ đồ thị nên ta dễ dàng đưa so sánh hiệu hai thuật tốn nói (hình 3.16) Vì ta đánh giá theo nhiều mức SNR khác tương ứng với nhiều file nhiễu cần xử lý nên hệ thống khoảng 10 giây kết biểu diễn dạng đồ thị 40 Hình 3.16 Đánh giá, so sánh hiệu khử nhiễu 3.3 Kết luận chương Nội dung chương đề cập đến vấn đề gồm: xây dựng lưu đồ thuật toán trừ phổ, thuật tốn lọc Wiener chương trình mơ phỏng, khảo sát, đánh giá phần mềm Matlab Các kết nhận sau mô phần mềm Matlab cho thấy hiệu hai thuật toán nâng cao chất lượng tiếng nói đáp ứng mức mơi trường tiến ồn tàu biển (máy tàu, sóng biển gió bão) Với điều kiện tiếng ồn biến đổi chậm cường độ ồn khơng q lớn thuật toán cho hiệu tốt Thuật toán lọc Wiener cho hiệu khử nhiễu tốt thuật toán trừ phổ 41 KẾT LUẬN Thông thoại nội tàu biển dạng thơng tin vơ quan trọng, ảnh hưởng trực tiếp đến khả huy hiệp đồng hoạt động sinh hoạt ngày tàu Tuy nhiên mơi trường biển có nhiều loại nhiễu ồn với cường độ ảnh hưởng đến chất lượng tiến nói gây khó khăn cho người nghe Vì việc nghiên cứu đưa thuật toán nâng cao chất lượng tiếng nói đưa vào ứng dụng nâng cao chất lượng cho hệ thống thông thoại tàu biển cần thiết Đồ án thực vấn đề: - Tìm hiểu nghiên cứu thuật toán trừ phổ thuật toán lọc Wiener nâng cao chất lượng tiếng nói - Xây dựng lưu đồ thuật tốn từ xây dựng chương trình mơ Matlab - Thực tạo tín hiệu có nhiễu xử lý tín hiệu hai thuật tốn nói - Thực đánh giá hiệu hai thuật tốn mơi trường nhiễu mức nhiễu khác tàu biển từ đưa so sánh chất lượng hai thuật tốn nâng cao chất lượng tiếng nói - Nghiên cứu, thiết kế giao diện GUI Trong nghiên cứu tiến hành thực hoá thuật tốn nâng cao chất lượng tiến nói mạch DSP, FPGA, đóng vai trị khối tiền xử lý, đặt sau khuếch đại micro tổng đài hệ thống thông thoại nội tàu biển 42 TÀI LIỆU THAO KHẢO [1] Trần Minh Tuân, Các hệ thống liên lạc nội tàu, Học viện Hải quân, 2008 [2] Đào Văn Lân, Hoàng Văn Phúc, Vũ Hỏa Tiễn, Đánh giá hiệu cập nhật nhiễu trức tuyến thuật toán nâng cao chất lượng tiếng nói, ECIT 2015 [3] Nguyễn Quốc Trung, Xử lý tín hiệu lọc số (Tập 1), Nxb Khoa học kỹ thuật, 2006 [4] Philipos C.Loizou, Speech Enhancement Theory and Practice, CRC Press, Taylor and Francis Group, 2013 [5] Yi Hu, Philipos C Loizou, Sudjective comparison and evaluation of speech enhancement algorithms, 2007 (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2098693/) 43

Ngày đăng: 05/07/2023, 10:42

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan