b. Các phiên bản của PSOLA
2.3.1.1 Phân tích PSOLA
Phân tích PSOLA bao gồm việc phân tích một tín hiệu s(t) thành các tín hiệu thành phần si(t) bằng cách sử dụng cửa sổ h(t): Si(t) = h(t – mi)s(t). Trong đó mi
được gọi là các điểm mốc (markers) phải thoảmãn các điều kiện sau: + mi – mi-1 phải gần với chu kỳ cơ bản.
+ Phải gần với điểm có biên độ cực đại (maxima energy). Điều kiện này được đưa ra để tránh làm hỏng tín hiệu khi lấy cửa sổ.
Sau khi tìm được chu kỳcơ bản T0(t) và hàm năng lượng e(t), các điểm mốc mi
sẽđược xác định theo hai bước sau:
+ Bước 1: Tìm cực đại địa phương của hàm năng lượng.
Vì các điểm mốc phải gần các điểm có năng lượng cực đại nên bước đầu tiên là tìm các cực đại này. Xét vector l= [ l,0, l,1,…, l,i,…], trong đó l,i - l,i-1 = T0i-1. Xung quanh thời điểm l,i xét khoảng thời gian Il,i = �, − 0−1
� ,�, + 0−1� , ở � , ở đây α được gọi là độ mở rộng (extent). Trong mỗi khoảng Il,i gọi thời điểm có năng lượng lớn nhất là tl,i. Với vector L tính tổng giá trịnăng lượng tại các thời điểm tl,i: Ńl = �( , ). Cuối cùng chọn ra bộńi = tl’,i mà tại đó Ńlđạt cực đại.
Trang 28
Hình 2.9: Xác định cực đại địa phương của hàm năng lượng
+ Bước 2: Tối ưu tính tuần hoàn và năng lượng cực đại.
Hai tiêu chuẩn này phải được tối ưu đồng thời vì các điểm mốc mi, vừa phải đồng bộ với tần số cơ bản vừa phải gần với các điểm có năng lượng cực đại. Có thể dùng giải thuật bình phương nhỏ nhất để tối ưu. Gọi milà các điểm mốc phải tìm, ńi
là giá trị vừa tìm được trong bước 1, T0i là chu kỳ cơ bản ứng với ńi. Dùng giải thuật bình phương nhỏ nhất để tìm mi sao cho mi – mi-1 ≈ T0i-1 và mi = ńi. Hàm phải tìm cực tiểu bây giờ sẽ là:
Trang 29
trong đó M là một ma trận tam giác với đường chéo chính có dạng [1+ 2+ … 2+ 1+ ], tam giác trên và dưới có dạng [-1 -1 … -1 -1].