Biến đổi Fourier thời gian ngắn

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nhận dạng tiếng Việt sử dụng biến đổi Wavelet và mô hình Markov ẩn Luận văn ThS Kỹ thuật Điện tử - Viễn thông 2 07 00 (Trang 67)

Chương 2 XỬ LÝ TIẾNG NĨI RÚT TRÍCH VECTOR ĐẶC TRƯNG

4.1 Mục đích và ứng dụng của phân tich wavelet

4.1.2 Biến đổi Fourier thời gian ngắn

Để khắc phục nhược điểm trên, Dennis Gobor (1946) đã sử dụng biến đổi Fourier để phân tích một vùng nhỏ của tín hiệu tại một thời điểm và gọi là kỹ thuật lấy cửa số tín hiệu. Đây chính là biến đổi Fourer thời gian ngắn, thực hiện ánh xạ một tín hiệu thành một hàm hai chiều thời gian – tần số

Hình 4.2. Biến đổi Fourier thời gian ngắn

STFT sử dụng các hàm cơ sở là những hàm mũ phức đã lấy cửa sổ và các hàm dịch của chúng để tạo nên biến đổi. Để có được biến đổi Fourier cục bộ, ta thực hiện như sau trước tiên, tín hiệu được nhân với một hàm cửa sổ (t-) và sau đố thực hiện biến đổi Fourier. Kết quả tạo ra một biến đổi hai chiều STFT   , .

Công thức 4.1   *    j I STFT , t .f t .e dt          

Để có được sự phân giải thời gian – tần số tốt, ta sử dụng cửa sổ Gausian và khi đó STFT được gọi là biến đổi Gabor. STFT được sử dụng để tạo ra giản đồ phổ trong phân tích thoại và cửa sổ hay được dùng là cửa sổ Hamming vì nó u cầu tính tốn ít hơn so với cửa sổ Gausian.

4.1.3. Biến đổi Wavelet.

Phân tích Wavelet ưu việt hơn STFT ở chỗ nó cung cấp mơt kỹ thuật lấy cửa sổ với kích thước cửa sổ có thể thay đổi được. Phân tích wavelet cho phép sử dụng khoảng thời gian dài trên một đoạn tín hiệu mà chúng ta mong muốn có thơng tin tần số thấp chính xác hơn. Và ngược lại sử dụng khoảng thời gian ngắn hơn ở nơi mà chúng ta muốn có thơng tin tần số cao rõ ràng hơn. Nói cách khác, phân tích wavelet cung cấp khả năng định vị tần số và định vị thời gian tốt hơn.

Hình 4.3 Phân tích Wavelet

Có một điểm chú ý ở đây là phân tích Wavelet khơng ánh xạ tín hiệu sang miền thời gian – tần số mà thay vào đó là miền thời gian – tỷ lệ (time-scale).

4.2. Các loại biến đổi Wavelet 4.2.1 Wavelet liên tục CWT 4.2.1 Wavelet liên tục CWT

Wavelet là những hàm cơ sở mn(t) liên tục theo thời gian. Cơ sở là tập các hàm độc lập tuyến tính dùng tạo ra hàm f(t) nào đó:

Cơng thức 4.2 f(t) = tổ hợp các hàm cơ sở =   , mn mn m n bt

Tính chất đặc biệt của cơ sở wavelet là tất cả các hàm mn(t)này được xây dựng từ một wavelet mẹ (t). Wavelet này là một sóng nhỏ được định vị, thay vì dao động mãi mãi, nó suy giảm nhanh xuống khơng. Thơng thường nó bắt đầu thời điểm t = 0 và kết thúc tại t = N.

Wavelet dịch 0n(t) bắt đầu tại t = n và kết thúc tại t = n + N, đồ thị của chúng được dịch sang phải n lần. Wavelet tỷ lệ m0(t) bắt đầu tại t = 0 và kết thúc tại t = N.2m, đồ thị của chúng được nén lại 2m lần.

Hình 4.5. Wavelet tỉ lệ

Một wavelet thuần mn(t) được nén lại 2m lần và dịch n lần

Công thức 4.3

  2m

mn t t n

  

Một thuộc tính nổi bật của wavelet là tính trực giao (orthogonality). Các wavelet trực giao khi tính vơ hướng của chúng bằng khơng.

    n mn MN m t t dt  

 = tích vơ hướng của mn và MN(t) = 0

Nhờ đó, có thể tính được hệ số bmn một cách đơn giản hơn: nhân f(t) trong biểu thức (4.2) với MN(t) và lấy tích phân ta được:

Cơng thức 4.4       2 MN MN f tt dtt dt       

Nhờ tính trực giao, biểu thức (4.4) loại bỏ tất chuyển các tích phân ** với

MN, trừ trường hợp m = M và n = N, tương ứng sẽ tạo ra thành phần (MN(t))2. Khi đó bMN là tỷ số của hai tích phân trong biểu thức (4.4).

Năm bước để thực hiện CWT

Biến đổi Wavelet liên tục là tổng trên suốt khoảng thời gian của tín hiệu được nhân bởi phiên bản tỉ lệ và dịch của Wavelet. Quá trình này tạo ra các hệ số Wavelet là hàm của tỉ lệ và vị trí. Có năm bước để tạo ra CWT:

Bước 1, Lấy một Wavelet và so sánh với khởi đầu của một tín hiệu nguyên thủy.

Bước 2, Tính tốn giá trị C, đặc trưng cho tương quan gần của Wavelet với đoạn tín hiệu này: C càng lớn, càng có sự tương tự. Chính xác hơn, nếu năng lượng

của tín hiệu và Wavelet là bằng nhau, C có thể hiểu là hệ số tương quan. Kết quả sẽ phụ thuộc vào Wavelet mẹ.

Hình 4.6 Bước 1, So sánh wavelet với tín hiệu nguyên thủy

Bước 3, Dịch Wavelet về phía bên phải và lặp lại bước 1 và 2 cho đến khi hết tín hiệu

Hình 4.7 Bước 2, Dịch wavelet

Bước 4. Định tỉ lệ kéo dãn Wavelet là lặp lại tự bước 1 đến bước 3

Hình 4.8 Bước 4, định tỉ lệ Bước 5. Lặp lại các bước từ 1 đến 4 cho mọi tỉ lệ.

Sau khi hồn thành, ta sẽ có các hệ số ở các tỉ lệ khác nhau bởi các đoạn khác nhau của tín hiệu. Các hệ số tạo thành kết quả hồi quy của tín hiệu nguyên

thủy thực hiện trên các Wavelet. Bằng cách nào để cảm nhận các hệ số đó? Ta có thể tạo ra đồ thị với trục x thể hiện vị trí của tín hiệu theo thời gian, trục y đại diện cho tỉ lệ, màu sắc ở mỗi điểm (x,y) đại diện cho độ lớn của hệ số C. Đồ thị này còn được gọi là Scalogram của biến đổi Wavelet liên tục.

Hình 4.9 Scalogram của CWT

Các hệ số của biến đổi Wavelet liên tục vẽ ra chính xác hình ảnh thời gian-tỉ lệ của tín hiệu.

4.2.2 Biến đổi Wavelet rời rạc DWT

Tính tốn các hệ số Wavelet ở mọi tỷ lệ có thể là cơng việc mệt nhọc và phát sinh rất nhiểu dữ liệu. Ta có thể chọn một tập con các tỉ lệ và vị trí để giảm sự phức tạp tính tốn, gọi là phép biến đổi rời rạc DWT. DWT được xây dung dựa trên cấu trúc đa phân giải MRA.

Lọc một tầng: Các xấp xỉ và chi tiết

Với nhiều tín hiệu, nội dung tần số thấp là phần quan trọng nhất. Nó xác định tín hiệu. Nội dung tần số cao, nói cách khác chỉ làm tăng thêm hương vị. Ví như giọng nói con người. Nếu tách bỏ phần cao tần, giọng có khác nhưng vẫn có thể hiểu những gì đã nói. Tuy nhiên nếu loại bỏ thành phần tần số thấp đến một mức nào đó sẽ khơng nghe rõ nữa. Trong phân tích wavelet thường nói đến các xấp xỉ và chi tiết. Xấp xỉ ứng với thành phần tỉ lệ cao, tần số thấp, chi tíêt là thành phần tần số cao, tỷ lệ thấp.

Hình 4.10 Lọc một tầng cho xấp xỉ và chi tiết

Tín hiệu nguyên thủy gốc S đi qua 2 bộ lọc có đặc tính bù nhau và phân tách thành 2 tín hiệu. Nếu thực hiện cơng việc này với tín hiệu số thực ta sẽ tăng gấp đôi số dữ liệu ban đầu. Giả sử có 1000 mẫu thì đầu ra mỗi đầu là 1000 mẫu và tổng cộng là 2000 mẫu. Vì vậy ta cần giảm tần số lẫy mẫu (downsampling) đễ giữ nguyên số mẫu.

Hình 4.11 Giảm tần số lấy mẫu

Phân tách đa mức

Q trình phân tách có thể được lặp lại, với xấp xỉ hồn tồn được tách ra, do đó một tín hiệu được tách thành nhiều thành phần phân giải thấp hơn. Nó được gọi là cây phân tách Wavelet.

Hình 4.12 Phân tách đa mức

Quá trình phân tách về lý thuyết có thể lặp lại mãi mãi. Trong thực té, sự phân tách có thể xử lý cho đến khi chi tiết riêng chứa một mẫu hoặc pixel. Trong thực hành, bạn chọn một số thích hợp các mức dựa trên tính tự nhiên của tín hiệu, hoặc là tiêu chuẩn thích hợp như Entropy.

Tái tạo Wavelet

Quá trình kết hợp các thành phần tín hiệu thành tín hiệu nguyên thủy gọi là quá trình tái tạo hay tổng hợp Wavelet ứng vói biến đổi Wavelet ngược IDWT

Hình 4.13 Tái tạo wavelet

Trong khi phân tích Wavelet bao hàm lọc và hạ mẫu, quá trình tái tạo Wavelet bao gồm sự tăng mẫu (Upsampling) và lọc.

Hình 4.14 Tăng mẫu

4.2.3 Biến đổi Wavelet gói

Phương pháp Wavelet gói là một sự mở rộng của phân tách Wavelet. Trong đó, phần xấp xỉ chính nó lại được phân thành xấp xỉ và chi tiết mức hai và quá trình cứ được lặp lại. Trong phân tách n mức, có n + 1 cách để phân tích hoặc mã hóa tín hiệu. Trong phân tích wavelet gói, các chi tiết cũng giống như các xấp xỉ là có thể phân tích. Cây phân tách Wavelet là một phần của cây nhị phân hoàn hảo.

4.3 Sử dụng biến đổi Wavelet để xử lý nhiễu và nâng cao chất lượng tiếng nói

4.3.1 Phương pháp truyền thống của Dohono và Johnstone

Nhiễu ảnh hưởng nhiều đến hiệu quả xử lý tín hiệu, ví dụ như nhận dạng tiếng nói trong mơi trường thời gian thực. Có ba nhân tố chính của nhiễu đó là:

- Nhiễu thêm vào trong tín hiệu như tiếng quạt gió, ơ tơ, tàu hoả

- Nhiễu gắn liền với thiết bị ghi âm

- Sự biến đổi các mức tiếng nói sinh ra từ người nói (giọng yếu hay giọng khoẻ), sự thay đổi hướng hay khoảng cách đến micro,...

Vì vậy triệt nhiễu và nâng cao chất lượng tiếng nói là một bước quan trọng trong hệ thống nhận dạng tiếng nói, đặc biệt là nhận dạng thời gian thực.

Có nhiều phương pháp triệt nhiễu trong đó triệt nhiễu bằng wavelet (wavelet denosing) là một phương pháp mạnh được sử dụng rộng rãi trong thời gian gần đây.

Ta phân tích nhiễu của tín hiệu, sau đó là các hàm tương quan đặc tính xác suất, phổ, và các hàm phân phối. Về tổng thể, với một tín hiệu thời gian rời rạc một chiều các tần số cao ảnh hưởng tới các chi tiết ở mức đầu (giá trị nhỏ của j), trong

khi các tần số thấp ảnh hưởng tới các mức sâu nhất (các giá trị lớn của j) và các xấp xỉ kết hợp.

Mơ hình chung cho tín hiệu nhiễu là

Cơng thức 4.5

Trong đó Sk là tín hiệu tiếng nói sạch, nk là nguồn nhiễu độc lập với phương sai k (n2

= 1) (giả sử nk là nhiễu trắng). Mục đích của wavelet denoising là tối ưu sai số trung bình phương E(s^, s2

)

Cơng thức 4.6

Ý tưởng của phương pháp

Sử dụng DWT để phân tách tín hiệu thành phần chi tiết và xấp xỉ. Phần xấp xỉ là thơng tin quan trọng cịn phần chi tiết là các thông tin đặc trưng và cũng đồng thời chứa nhiễu.

Khi những thành phần chi tiết nhỏ hơn một mức cho phép nào đó (gọi là ngưỡng) chúng ta có thể loại bỏ nó mà khơng làm ảnh hưởng nhiều đến tín hiệu ban đầu. Vì vậy ý tưởng lấy ngưỡng các hệ số wavelet là cách để loại bỏ những thành phần chi tiết không quan trọng được coi là nhiễu.

Nguyên tắc khử nhiễu

Bước 1. Phân tách: Chọn một Wavelet, chọn mức N. Tính phân tách

Wavelet của tín hiệu s ở mức N.

Bước 2. Đặt ngưỡng các hệ số chi tiết: Với mỗi mức từ 1 đến N, chọn

một ngưỡng và áp dụng đặt ngưỡng cho các hệ số chi tiết.

Bước 3. Tái tạo: Tính tốn tái tạo Wavelet sử dụng các hệ số xấp xỉ

ban đầu ở mức N và các hệ số chi tiết đã chỉnh sửa ở các mức 1 đến N. Hai điểm cần được định rõ là cách chọn ngưỡng và cách thực hiện định ngưỡng.

Đặt ngưỡng cứng hay ngưỡng mềm?

Cho t là biểu diễn ngưỡng. Tín hiệu ngưỡng cứng là x nếu x > T, là 0 nếu

x <= T. Tín hiệu ngưỡng mềm nếu sign(x -T) nếu x > 0 và là 0 nếu x <= T. T

được xác định theo Dohono và Jonhstone [21]

Công thức 4.7

(độ lệch chuẩn )

Hình 4.15 Quá trình đặt ngưỡng với mức ngưỡng cứng với T=0.4.

4.3.2 Phương pháp khử nhiễu kết hợp kỹ thuật trừ phổ và wavelet

Hình 4.16. Sơ đồ khối hệ thống khử nhiễu kết hợp kỹ thuật trừ phổ và wavelet

a, Khối trừ phổ:

Nếu chúng ta biễu diễn tín hiệu tiếng nói s(k) và nhiễu là n(k) thì tín hiệu lẫn nhiễu là x(k)

Công thức 4.8

x(k) = s(k) + n(k)

Tín hiệu sau khi cửa sổ hố là

0 1 -1 0 1 -1 -0.5 0.5 0 1 -1 0 1 -1 -0.5 0.5

Công thức 4.9

xw(k) = sw(k) + nw(k)

Phổ của tín hiệu lẫn nhiễu là

Công thức 4.10

2 2 2 * *

|Xw( ) |w |S ww( ) | |N ww( ) | S w N ww( ). w( )S w N ww( ). w( )

Nếu chúng ta cho rằng n(k) có trung bình bằng 0 và khơng tương quan với s(k) thì * *

( ). ( ) ( ). ( )

w w w w

S w N wS w N w tiến tới 0. Do vậy ta có Cơng thức 4.11 2 2 2 | ( ) |S w |X w( ) |  E|N w( ) |  Công thức 4.12 2 2 2 2 | ( ) | | ( ) | | ( ) | 1 ( ) | E N w S w X w X w            Công thức 4.13 2 2 | ( ) |S w |X w( ) | . ( )G w

Gọi G(w) là hệ số trọng số phổ. Như vậy có thể thấy rằng tín hiệu sau khi được loại trừ nhiễu phải dương nên biến đổi Wiener là

Công thức 4.14 G = Max 2 2 | ( ) | 1 , 0 ( ) | E N w X w           

Sử dụng phương pháp VAD và phổ năng lượng được xác định theo công thức Công thức 4.15  2 2 1 2 1 .| ( )| (1 )| ( ) | _ _ 2 | ( )| | ( ) | n n N w X w No Voice Detected w N w Otherwise N w       

Đơn giản hoá 4.14 bằng biến đổi hàm trọng số ta có

G = Max 1 ( ), ( ) PSD PSD N w X w           

Với  là hệ số ước lượng trên và  là sàn phổ được chọn tương ứng. Việc lựa chọn các hệ số trên tiến hành qua thực nghiệm sao cho khơng làm biến dạng tín hiệu sau khi trừ phổ.

Việc lựa chọn tham số tương ứng với một trong 2 trường hợp đó là có tín hiệu và khơng có tín hiệu tiếng nói. Trong khoảng có tín hiệu tiếng nói để lấy được tiếng nói chất lượng thì ngưỡng trên  cần chọn gần 1 và ngưỡng dưới  được chọn lớn hơn 0.2. Giá trị thực nghiệm chọn ở đây là 0.9 và 0.5, trong khoảng lặng khơng có tín hiệu tiếng nói thì chọn >1, <0.2

Hình 4.17 Sơ đồ chi tiết khối trừ phổ

b, Khối biến đổi Wavelet (Wavelet transform): Sử dụng phân rã wavelet gói

phân rã tín hiệu thành các băng tần critical. Sơ đồ thực thi dùng cấu trúc cây đa phân giải 6 mức, sử dụng các bộ lọc 16-tap FIR nhận được từ wavelet Deubechies.

Biến đổi wavelet WT được sử dụng để phân giải tín hiệu thành các băng con.

Cơng thức 4.17

trong đó {Cim} là các hệ số phân rã với i tương ứng với băng con, m ứng với vị trí trên trục thời gian. Với tín hiệu tiếng nói lấy mẫu 8KHz, kết quả phân rã là 18 băng con FFT Trừ phổ nhiễu IFFT Ước lượng phổ nhiễu x(n) X(w) S(w) s(n) |N(w)|

c, Khối ước lượng ngưỡng phụ thuộc thời gian – tần số (thereshold estimation): Phương pháp ước lượng ngưỡng truyền thống của Dohono – Johnstone

chỉ phù hợp với nhiễu dừng hoặc biến đổi chậm. khơng thích hợp để khử nhiễu với tín hiệu tiếng nói . Phương pháp sử dụng ở đây của Qiang Fu [24] ước lượng độ lệch chuẩn  cho mỗi bank con trên trục thời gian.

Điều đó được thực hiện bắt đầu bằng cách phân đoạn bank con thứ i của các hệ số được phân rã Cim thành các khung Lifrm và các đoạn L iseg . Gọi là mức nhiễu ước lượng của khung thứ p và bank thư i, được ước lượng bằng các hệ số đứng trước trong đoạn với . Trước hết ta sắp xếp các hệ số theo thứ tự . Với q là một số nguyên (0<q<1), hệ số lượng tử cho đoạn là . Nhiễu được ước lượng:

Công thức 4.18

Cuối cùng ngưỡng nhiễu được ước lượng là:

Cơng thức 4.19

Hình 4.18 Ước lượng ngưỡng cho khung thứ p và bank con thứ i.

Một vấn đề tồn tại là tiếng nói sau khi được tổng hợp lại gặp phải một hiệu ứng gọi là “musical noise” làm cho chất lượng tiếng nói khơng còn tự nhiên sau khi khử nhiễu. Để khắc phục, Ephraim và Malah đã phát triển một kỹ thuật đặt ngưỡng

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nhận dạng tiếng Việt sử dụng biến đổi Wavelet và mô hình Markov ẩn Luận văn ThS Kỹ thuật Điện tử - Viễn thông 2 07 00 (Trang 67)

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

(120 trang)