Thuyết minh Thuật toán Điều chế Delta độ dốc biến đổi liên tục (Continuously Variable Slope Delta modulation) 1. Lượng tử hóa vi sai Lượng tử hóa vi sai là một kỹ thuật mã hóa trong đó sự khác biệt giữa mẫu hiện tại và giá trị dự đoán cho mẫu tiếp theo được lượng tử hóa. Loại lượng tử hóa này có lợi vì dải động của tín hiệu chênh lệch (phương sai) nhỏ hơn so với tín hiệu đầu vào chưa được xử lý. Do đó, cần ít mức lượng tử hóa hơn để giữ nguyên Tỷ lệ tín hiệu trên nhiễu (SNR). Ngoài ra, số lượng mức lượng tử hóa có thể giữ nguyên cho phép mã hóa tín hiệu khác biệt bằng cách sử dụng tất cả băng thông có sẵn, dẫn đến độ phân giải cao hơn và chất lượng tín hiệu được cải thiện. GIẢI MÃ MÃ HÓA x(n) d(n) c(n) + Q Q -1 d QD (n) x QD (n) + - x PD (n) P(z) Q -1 x P (n ) P(z) x Q (n ) d Q (n) + GIẢI MÃ Hình 1: Sơ đồ khối lượng tử hóa vi sai. Hình 1 là sơ đồ khối minh họa hệ thống lượng tử hóa vi sai. Tất cả các tín hiệu được biểu diễn bằng các ký hiệu thời gian rời rạc với ý nghĩa: 𝑥(𝑛) là biểu diễn rời rạc của 𝑥(𝑡). Chú ý bộ giải mã nằm trong đường phản hồi của bộ mã hóa. Vì vậy, bộ giải mã đang thực hiện nghịch đảo của bộ mã hóa. Khối có nhãn 𝑸 chuyển đổi tín hiệu sai biệt 𝑑(𝑛) sang dạng biểu diễn nhị phân phù hợp để truyền dẫn và khối có nhãn 𝑸−𝟏 thực hiện điều ngược lại. Trong thực tế, quá trình chuyển đổi 𝑑(𝑛) thành 𝑐(𝑛) và trở lại 𝑑𝑄𝐷 (𝑛) là một yếu tố quan trọng trong mô hình không lý tưởng của lượng tử hóa vi phân. Tuy nhiên, phân tích cơ bản của hệ thống được đơn giản hóa bằng cách giả sử các khối 𝑸 và 𝑸−𝟏 triệt tiêu nhau, tức là 𝑸(𝒛)𝑸−𝟏 (𝒛) = 𝟏, suy ra 𝑫𝑸 (𝒛) = 𝑫(𝒛). Sử dụng giả định này, hàm truyền của bộ mã hóa trong điều kiện miền 𝒛 là: 𝑯𝑬𝑵𝑪 (𝒛) = Thật vậy: 𝑪(𝒛) = 𝑸(𝒛)[𝟏 − 𝑷(𝒛)] 𝑿(𝒛) (1) 𝐂(𝐳) = 𝐐(𝐳)𝐃(𝐳) = 𝐐(𝐳)[𝐗(𝐳) − 𝐗 𝐏 (𝐳)] = 𝐐(𝐳)[𝐗(𝐳) − 𝐏(𝐳)𝐗 𝐐 (𝐳)] = 𝐐(𝐳){𝐗(𝐳) − 𝐏(𝐳)[𝐗 𝐏 (𝐳) + 𝐃𝐐 (𝐳)]} = 𝐐(𝐳){𝐗(𝐳) − 𝐏(𝐳)[𝐗 𝐏 (𝐳) + 𝐃(𝐳)]} = 𝐐(𝐳){𝐗(𝐳) − 𝐏(𝐳){𝐗 𝐏 (𝐳) + [𝐗(𝐳) − 𝐗 𝐏 (𝐳)]}} = 𝐐(𝐳){𝐗(𝐳) − 𝐏(𝐳)𝐗(𝐳)} Suy ra: 𝐇𝐄𝐍𝐂 (𝐳) = 𝐂(𝐳) = 𝐐(𝐳)[𝟏 − 𝐏(𝐳)]. ∎ 𝐗(𝐳) Hàm truyền của bộ giải mã là: 𝐇𝐃𝐄𝐂 (𝐳) = 𝐗 𝐐𝐃 (𝐳) 𝟏 = 𝐂(𝐳) 𝐐(𝐳)[𝟏 − 𝐏(𝐳)] (2) Thật vậy: 𝐗 𝑸𝑫 (𝐳) = 𝐗 𝑸𝑫 (𝐳) 𝑷(𝒛) + 𝐃𝑸𝑫 (𝐳) = 𝐗 𝑸𝑫 (𝐳) 𝑷(𝒛) + 𝑪(𝒛)𝑸−𝟏 (𝒛) Suy ra: 𝐗 𝑸𝑫 (𝐳)[𝟏 − 𝑷(𝒛)] = 𝑪(𝒛)𝑸−𝟏 (𝒛) Suy ra: 𝑯𝑫𝑬𝑪 (𝒛) = 𝐗 𝑸𝑫 (𝐳) 𝟏 = .∎ 𝑪(𝒛) 𝑸(𝒛)[𝟏 − 𝑷(𝒛)] Từ (1) và (2) ta có: 𝑯(𝒛) = 𝑯𝑬𝑵𝑪 (𝒛)𝑯𝑫𝑬𝑪 (𝒛) = 1, suy ra 𝐗 𝑸𝑫 (𝐳) = 𝑿(𝒛). Như vậy, tín hiệu được khôi phục sau bộ mã hóa. Trong mô hình trên: 𝑸(𝒛) được gọi là Bộ lượng tử 𝑷(𝒛) được gọi là bộ dự đoán và thường có dạng 𝑷(𝒛) = ∑𝑷𝟎 𝒂𝒌 𝒛−𝒌 , với 𝒂𝒌 là hệ số trọng số của 𝒛−𝒌 . Đây chính là đáp ứng của bộ lọc FIR hữu hạn. 2. Điều chế Delta (DM) DM là một lược đồ lượng tử hóa vi phân sử dụng lượng tử hóa hai mức (tức là lượng tử hóa một bit). Bằng cách sử dụng một bit duy nhất để đại diện cho mỗi mẫu, tốc độ mẫu và tốc độ bit là tương đương. Do đó, tốc độ lấy mẫu liên quan trực tiếp đến chất lượng tín hiệu (SNR). Ngoài ra, Băng thông của tín hiệu đầu vào và giới hạn băng tần của đầu ra là những yếu tố quan trọng trong việc xác định chất lượng tín hiệu. Thuật toán DM đầu tiên được hình thành vào năm 1946. Trong 50 năm qua, hai thuật toán; Linear DM (LDM) và CVSD, đã nhận được sự quan tâm đáng kể từ những người quan tâm đến các phương pháp hiệu quả để số hóa giọng nói. LDM là dạng DM cơ bản nhất, ít phức tạp nhất. Do đó, hướng dẫn này sẽ cố gắng cung cấp hiểu biết về LDM làm nền tảng để hiểu các thuật toán DM phức tạp hơn. Thuật toán CVSD, một tiêu chuẩn đã được chấp nhận và được ứng dụng rất nhiều trong cả lĩnh vực quân sự và dân sự cũng sẽ được đề cập. 2.1. DM tuyến tính Bộ điều chế DM tuyến tính là bộ lượng tử hóa vi sai, trong đó bộ dự báo 𝑷(𝒛) có dạng FIR bậc nhất và Bộ lượng tử 𝑸 là Bộ lượng tử hai mức (1 bít). Tức là: 𝑷(𝒛) = 𝒂𝒛−𝟏 𝟏, nếu 𝐝(𝐧) ≥ 𝟎 𝑸(𝒅(𝒏)) = { 𝟎, nếu 𝐝(𝐧) ≤ 𝟎 Hình 2 là sơ đồ mô tả các thuật toán bộ mã hóa và giải mã LDM. MÃ HÓA x(n) GIẢI MÃ d(n) + c(n) Q Q -1 d QD (n) + x QD (n) LPF x QDF (n) Q -1 az -1 x PD (n) d Q (n ) BỘ TÍCH PHÂN x P (n ) az -1 x Q (n ) + BỘ TÍCH PHÂN Hình 2: Sơ đồ khối LDM. Trong bộ mã hóa, hàm truyền giữa 𝑑𝑄 (𝑛) và 𝑥𝑃 (𝑛) được biểu diễn như sau: 𝐗 𝑷 (𝐳) 𝒂𝒛−𝟏 = 𝐃𝑸 (𝐳) 𝟏 − 𝒂𝒛−𝟏 (3) Trong bộ giải mã, hàm truyền giữa 𝑑𝑄𝐷 (𝑛) và 𝑥𝑄𝐷 (𝑛) được biểu diễn như sau: 𝐗 𝑸𝑫 (𝐳) 𝟏 = 𝐃𝑸𝑫 (𝐳) 𝟏 − 𝒂𝒛−𝟏 (4) Phương trình (3) và (4) biểu diễn các tích phân thời gian rời rạc (nếu 𝒂 = 𝟏). Nếu 𝒂 < 𝟏, chúng sẽ là các bộ tích phân suy giảm. McDonald và Noll đều đề xuất 𝐚 = 𝟏 để đạt được dự đoán tối ưu. Một bộ tích phân thuần túy (𝒂 = 𝟏) sẽ gây ra lỗi bit, tràn bit nhanh hơn so với 𝒂 < 𝟏. Trong thực tế, giá trị của 𝒂 < 𝟏 được ưu tiên hơn. Bộ lượng tử 𝑸 trong hình 2 hoạt động giống như một bộ so sánh. Khi đầu vào 𝑑(𝑛) vượt quá 0, nó sẽ xuất ra logic 1, khi đầu vào nhỏ hơn 0 thì đầu ra là logic 0. Do đó, đầu ra của 𝑸 là một bit đơn, cho biết dấu của 𝑑(𝑛). Bộ lượng tử nghịch đảo 𝑸−𝟏 chuyển đổi mức logic thành delta 𝑑𝑄 (𝑛) như được hiển thị trong bảng dưới đây. Dấu của 𝑑(𝑛) 𝑐(𝑛) 𝑑𝑄 (𝑛) - 0 -∆ + 1 ∆ Giá trị của ∆ đóng một vai trò quan trọng trong hoạt động của LDM. Nếu ∆ là tương đối nhỏ, việc theo dõi các tín hiệu thay đổi chậm, biên độ thấp là khá tốt. Nhưng nếu biên độ tín hiệu biến đổi nhanh và đột ngột, sự theo dõi nói chung kém. Khi DM không thể theo kịp với tín hiệu đầu vào, một hiện tượng được gọi là quá tải dốc sẽ xảy ra, như thể hiện trong Hình 3. 𝐐 (𝐧) QUÁ TẢI DỐC QUÁ TẢI DỐC Hình 3: Quá tải dốc trong LDM. Việc tăng giá trị của ∆ có thể làm giảm bớt ảnh hưởng của quá tải dốc nhưng lại tạo ra một vấn đề mới; nhiễu lượng tử. Với ∆ có biên độ lớn, các tín hiệu có biên độ thấp sẽ không được lượng tử hóa ở mức đủ tốt và chúng sẽ xuất hiện dưới dạng nhiễu lượng tử, xem Hình 4. Dạng nhiễu lượng tử chỉ đơn giản là một chuỗi các bít 1 - 0 đan xen cho biết biên độ tín hiệu đầu vào không thay đổi. Vì mẫu bit 1 - 0 đan xen có giá trị trung bình bằng 0, tín hiệu ra sau bộ giải mã sẽ có tích phân về 0. x Q (n ) x(t) Nhiễu lượng tử Hình 4. Nhiễu lượng tử trong LDM. 2.2. CVSD Các vấn đề về nhiễu lượng tử và quá tải dốc có thể được giảm thiểu đáng kể bằng cách thực hiện các điều chỉnh động đối với bước lượng tử ∆ của bộ định lượng. Các thuật toán DM thích ứng (ADM) cố gắng thực hiện điều này bằng điều chỉnh ∆ nhỏ đối với các tín hiệu thay đổi chậm và lớn đối với các tín hiệu thay đổi nhanh. Thuật toán ADM được công bố rộng rãi nhất được là CVSD. Nó được Greefkes và Riemens đề xuất lần đầu tiên vào năm 1970. Trong thuật toán CVSD, các thay đổi của ∆ thích ứng dựa trên ba hoặc bốn kết quả mẫu đầu ra trước đây (tức là 𝑐(𝑛), 𝑐(𝑛 − 1) , 𝑐(𝑛 − 2) , 𝑐(𝑛 − 3) ). Hình 5 và Hình 6 cho thấy sơ đồ khối của các thuật toán mã hóa và giải mã CVSD tương ứng. Lưu ý rằng chỉ có ba mẫu cuối cùng của 𝑐(𝑛) được sử dụng ở đây. x(n) d(n) c(n) +_ Q x P (n) d Q (n ) I1 ±1 x L ∆ z -1 x + I2 ∆MIN ∆MAX Q -1 Hình 5: Sơ đồ khối bộ mã hóa CVSD. z -1 c(n) L z -1 ±1 d QD (n) x ∆ z -1 x QD (n) LPF x QDF (n) I1 + x I2 ∆MAX ∆MIN Q -1 Hình 6: Sơ đồ khối bộ giải mã CVSD. Khối có nhãn 𝑸−𝟏 , trước đây được hiển thị trong Hình 2, đã được thay thế bằng hai khối trễ một mẫu ghép nối tiếp (𝒛−𝟏 ) và các khối logic AND để phát hiện khi nào xảy ra hiện tượng ba chuỗi liên tiếp của c(n) cùng là 1 hoặc 0. Chiều cao của bước lượng tử tối thiểu và tối đa được đặt bằng ∆𝑀𝐼𝑁 và ∆𝑀𝐴𝑋 , tương ứng. Khi các chuỗi của ba số 0 hoặc ba số 1 liên tiếp không xảy ra trong một khoảng thời gian đủ lâu để đầu ra của bộ tích phân 𝑰𝟐 giảm xuống gần bằng 0, thuật toán khi đó sẽ tương đương với LDM. Hằng số thời gian cho bộ tích phân 𝑰𝟐 và bộ tích phân 𝑰𝟏 thường lần lượt là 4 ms và 1 ms. Trong tài liệu CVSD, bộ tích phân 𝑰𝟏 thường được gọi là bộ tích phân cơ bản (principle integrator) và bộ tích phân 𝑰𝟐 là bộ tích phân âm tiết (syllabic integrator). Cái gọi là tích phân âm tiết bắt nguồn từ độ dài của âm tiết. Trên thực tế, một âm tiết có thời lượng khoảng 100 mili giây, tuy nhiên, sự thay đổi về cao độ theo thứ tự thì lại khoảng 10 mili giây. Do đó, 4 ms dường như là tốt nhất đối với hằng số thời gian (cao độ) của bộ tích phân âm tiết. Khối có nhãn 𝑳 thực hiện chuyển đổi mức đơn giản (tức là khi 𝑐(𝑛) = 1, đầu ra 𝑳 bằng 1; khi 𝑐(𝑛) = 0, đầu ra 𝑳 bằng −1 ). Thuật toán CVSD này còn được gọi là “DM được điều khiển bằng kỹ thuật số”. Hình 7 hiển thị đầu ra của bộ tích phân 𝑰𝟏 (𝑥𝑃 (𝑛) trong bộ mã hóa và 𝑥𝑃𝐷 (𝑛) trong bộ giải mã). Khi so sánh với Hình 3 và Hình 4, độ quá tải dốc và nhiễu lượng tử được giảm bớt. x P (n) x(t) Hình 7: Nhiễu lượng tử trong CVSD. 3. Tài liệu tham khảo [1] Continuously Variable Slope Delta Modulation: A Tutorial. MX-COM Inc. www.mxcom.com.