Spectral subtraction đối với phổ công suất

Một phần của tài liệu thuật toán spectral subtraction và wiener filtering. chương này đi sâu vào nghiên cứu nguyên lý cơ bản của từng thuật toán (Trang 51 - 55)

Thuật toán Spectral subtraction đối với phổ biên độ có thể được mở rộng sang miền phổ công suất. Vì trong một vài trường hợp, nó có thể làm việc tốt với phổ công suất hơn là với phổ biên độ. Lấy phổ công suất của tín hiệu bị nhiễu trong một khoảng ngắn, chúng ta bình phương |Y( ω)|, ta được:

2 2 2 2 2 Y (ω ) = = X (ω) + D(ω) +X (ω). D* (ω) +X * (ω)D(ω) X (ω) + D(ω ) + 2.Re{X (ω)D* (ω)} (3.7)

| D(ω) |2, X( ω). D ∗(ω)

X ∗(ω).D(ω) không thể tính được một cách trực tiếp và xấp xỉ bằng E{| D(ω) |2}, E{ X( ω). D ∗(ω) } và E{ X ∗(ω).D(ω) }, khi đó

E[.] là toán tử kỳ vọng. Bình thường thì E{| D(ω) |2} được ước lượng khi không ∧

có tiếng nói hoạt động và được biểu thị là | D(ω) |2. Nếu chúng ta thừa nhận d[n] = 0 và không có một sự tương quan nào với tín hiệu sạch x[n], thì E{

X( ω). D ∗(ω) } và E{ X ∗(ω).D(ω) } xem là 0. Khi đó phổ công suất của tín hiệu sạch có thể tính được như sau

^ ^

| X (ω) |2 =| Y (ω) |2 − | D(ω) |2

(3.8) Công thức trên biểu diễn thuật toán trừ phổ công suất. Như công thức trên, thì phổ công suất được ước lượng | X ∧ (ω) |

2 không được đảm bảo luôn là một số dương, nhưng có thể sử dụng phương pháp chỉnh lưu bán sóng như đã trình bày ở trên. Tín hiệu được tăng cường sẽ thu được bằng cách tính IDFT của

| X (ω) | (bằng cách lấy căn bậc hai của | X ∧ (ω) | 2 ), có sử dụng pha của tín hiệu tiếng nói bị nhiễu. Chú ý rằng, nếu chúng ta lấy IDFT cả hai vế của công thức (4.8) trên thì ta có một phương trình tương tự trong miền tự tương quan:

r^ ^ (m) =ryy (m) −r^ ^ (m) (3.9) Khi đó r^^ (m) , xx xx ryy (m) , r^^ (m) dd dd

là các hệ số tự tương quan của tín hiệu sạch, tín hiệu tiếng nói bị nhiễu, và tín hiệu nhiễu đã được ước lượng [23,24].

Công thức (1) có thể được viết theo dạng sau: ^ | X (ω) |2 =H 2 (ω) | Y (ω) |2 ( 3.10) Khi đó: H (ω) = ^ | D(ω) |2 1 − | Y (ω) | 2

(3.11)

Trong lý thuyết hệ thống tuyến tính, H( ω) là hàm truyền đạt của hệ thống. Trong lý thuyết của Speech enhancement, chúng ta xem H( ω) là hàm độ lợi hay hàm nén. Và H( ω) là một số thực và luôn luôn dương, và có giá trị nàm trong

phạm vị 0 ≤H (ω) ≤ 1 . Nếu nó có giá trị âm là do có sai sót trong quá trình ước lượng phổ của nhiễu. H( ω) được gọi là hàm nén là vì nó cho ta biết tỷ số giữa phổ công suất của tín hiệu được tăng cường với phổ công suất của tín hiệu bị nhiễu. Hình dạng của hàm nén là một đặc trưng duy nhất của mỗi thuật toán Speech enhancement.

Chính vì vậy mà chúng ta thường so sánh các thuật toán bằng cách so sánh các đáp ứng của hàm nén của chúng. Hệ số H( ω ) có giá trị thực nên biến đổi IDFT là h[n] đối xứng với nhau qua điểm 0 và không nhân quả. Trong miền thời gian thì h[n] được xem là một bộ lọc không nhân quả [25]. Nên sẽ có một phương pháp được đề xuất để hiệu chỉnh hàm H( ω ) để đáp ứng của nó trở thành

bộ lọc nhân quả trong miền thời gian.

Trường hợp chung thì thuật toán Spectral subtraction có thể được biểu diễn:

^ ^

| X (ω) | p =| Y (ω) | p − | D

) | p (3.12)

Trong đó p là số mũ công suất, với p = 1 là đó là phương pháp trừ phổ biên độ điển hình, p = 2 là phương pháp trừ phổ công suất.

Sơ đồ khối của thuật toán Spectral Subtraction :

Tín hiệu Ước lượng, cập nhật nhiễu Y (ω) ^ - | D(ω) | p bị nhiễu FFT |.|p + Pha của tín hiệu Tín hiệu sau khi

tăng cường IFFT |.|1/p

Hình 3.2 Sơ đồ khối của thuật toán Spectral subtraction [26]. (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu thuật toán spectral subtraction và wiener filtering. chương này đi sâu vào nghiên cứu nguyên lý cơ bản của từng thuật toán (Trang 51 - 55)