1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP

4 101 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 655,2 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ý tưởng trong bài báo là sử dụng mã Polar để mã hóa khung dữ liệu MELP (Mixed-Excitation Linear Predictive) bằng cách chọn các bít dữ liệu theo thứ tự ưu tiên để gán vào các kênh ảo theo thứ tự chất lượng tốt đến giảm dần, đề xuất này mang lại độ lợi mã hóa đến 0,8 dB ở vùng Eb/N0 cao (khoảng 7dB) so với mã Hamming (7,4), với độ phức tạp chấp nhận được. Mời các bạn cùng tham khảo!

Trang 1

Ứng dụng mã cực (Polar) trong mã hóa tiếng nói

tốc độ thấp theo chuẩn MELP

Nguyễn Anh Hào và Phạm Xuân Nghĩa

Khoa Vô tuyến điẹn tử, Học viện Kỹ thuật quân sự Email: hao6379@gmail.com, nghiapx@mta.edu.vn

Abstract— Ý tưởng bài báo là sử dụng mã Polar để mã hóa

khung dữ liệu MELP (Mixed-Excitation Linear Predictive) bằng

cách chọn các bít dữ liệu theo thứ tự ưu tiên để gán vào các kênh

ảo theo thứ tự chất lượng tốt đến giảm dần, đề xuất này mang lại

độ lợi mã hóa đến 0,8 dB ở vùng E b /N 0 cao (khoảng 7dB) so với

mã Hamming (7,4), với độ phức tạp chấp nhận được

Keywords- Mã Polar, mã thoại tốc độ thấp, MELP

I GIỚITHIỆU

Mã phân cực (Polar Code - PC) được Arikhan giới thiệu

năm 2009 là một bộ mã tuyến tính và được chứng minh có thể

đạt chất lượng trên kênh trên kênh nhị phân không nhớ rời rạc

B-DMC tiếp cận đến giới hạn Shannon Đối với cấu trúc một

khung mã hóa thoại theo chuẩn MELP (2400 bps) gồm các bit

thông tin có vai trò quan trọng khác nhau, tác động đến chất

lượng tiếng nói sau khôi phục là khác nhau

Phần còn lại của bài báo có bố cục như sau: Mục 2 trình

bày tổng quan về mã phân cực, đồng thời phân tích, đánh giá

chất lượng của mã phân cực trên kênh AWGN, mục 3 trình bày

về mã MELP, mục 4 trình bày đề xuất ứng dụng mã MELP,

cuối cùng là phần Kết luận

II TỔNGQUANVỀMÃPHÂNCỰC(POLAR)

Ý tưởng chính của mã phân cực là từ một kênh B-DMC W

thể tạo ra N các kênh ảo (virtual channels) WN ( i ) ,

1 i   N thông qua một phép biến đổi tuyến tính sao cho

N các kênh này được phân cực Có nghĩa là thông tin tương

hỗ của chúng I(W ) sẽ hoặc tiến tới 0 hoặc tiến tới 1 (phân

cực) [1] Hình 1 mô tả quá trình phân cực kênh của kênh nhị

phân đối xứng có xác suất xóa bằng 0.5

Quá trình biến đổi của bộ mã được thực hiện nhờ phép biến

đổi n

2

G gọi là phép mũ Kronecker bậc n của ma trận

2

G :

Để xây dựng mã phân cực cần phải đánh giá thông tin tương

hỗ của các kênh ảo Thay vì việc tính toán thông tin tương hỗ

khá phức tạp, [1] đã sử dụng tham số Bhattachryya Z(W )

để tính toán sự phân cực của các kênh Các kênh có i

N Z(W )

có giá trị nhỏ là các kênh có độ tin cậy cao, các kênh có

i N Z(W ) lớn là kênh có độ tin cậy thấp

Hình 1: Ví dụ về phân cực của kênh BEC với xác suất xóa 0.5

Mã phân cực sử dụng đặc tính phân cực với các kênh có độ tin cậy cao sẽ được sử dụng để truyền tin còn các kênh có độ tin cậy thấp sẽ được đóng băng “frozen” Các bit đóng băng là các bit không mang tin và được giả thiết là máy thu đã biết trước

Bộ giải mã do Arikhan đưa ra là bộ giải mã xóa tuần tự SC (Successive Cancellation) trong đó quá trình giải mã được thực hiện tuần tự từ U ,U , ,U 1 2 N Thực tế quá trình giải mã chỉ thực hiện đối với các bit mang tin U ,1 j   j i 1 Các bít còn lại là các bit đóng băng Bộ giải mã SC tạo ra N

u của uN

dựa trên quan trắc đầu ra kênh yN Bộ giải mã thực hiện N

các quyết định cho từng ui Nếu ui là bit đóng băng thì bộ giải mã cố định ui bằng giá trị biết trước tại máy thu Nếu ui

là bit tin, bộ giải mã chờ sử dụng tất cả các bit đã ước lượng trước đó

2

1 0 G

1 1

  

Trang 2

Đặc điểm quan trọng của mã phân cực là việc phân cực các

kênh sẽ tạo ra những kênh tốt và những kênh xấu Việc mã

hóa sẽ được thực hiện bằng cách phát các bit mang tin tức trên

các kênh tốt, có nghĩa là Ui được chọn là bit mang tin nếu

i

i

I(U ;Y ,U) tiến tới 0 Chú ý rằng I(U ;Y ,Ui N i 1)

tương ứng với việc giải mã U i với đầu vào Y và các bít đã

giải mã trước đó Ui 1 Ở đây, chúng ta sẽ khảo sát tỷ lệ lỗi

bit theo vị trí trong từ mã khi dùng mã phân cực trên kênh

AWGN và thuật toán giải mã SC Hình 2 và 3 mô tả tỷ lệ lỗi

với từng vị trí bít mã trong từ mã có độ dài 128 bít, tỷ lệ mã

hóa là 1/2 trên kênh AWGN; với tỷ số tín tạp lần lượt là

SNR=0 và SNR=2

0

500

1000

1500

2000

2500

3000

3500

4000

Bit Index

Khao sat so loi bit theo vi tri

Hình 2: Tỷ lệ lỗi theo vị trí bít tin của mã PC với N=128, K=64;

truyền trên kênh AWGN; SNR=0dB Số bit kiểm tra: 10000

0

100

200

300

400

500

600

700

Bit Index

Khao sat so loi bit theo vi tri

Hình 3: Tỷ lệ lỗi theo vị trí bít tin của mã PC với N=128, K=64;

truyền trên kênh AWGN; SNR=2dB Số bit kiểm tra: 10000

Từ kết quả trên các Hình 2 và Hình 3 ta có nhận xét sau:

- Tỷ lệ lỗi bit giảm rất nhanh khi SNR tăng

- Vị trí bit thông tin đầu tiên luôn có tỷ lệ lỗi lớn nhất

- Luôn tồn tại một vị trí bit thông tin có tỷ lệ lỗi nhỏ nhất (nhỏ

hơn nhiều lần giá trị trung bình) (vị trí bít số 61 trên Hình 3)

- Vị trí bit thông tin có tỷ lệ lỗi bit nhỏ nhất không phải vị trí kênh có giá trị phân cực lớn nhất

III MÃTHOẠITỐCĐỘTHẤPCHUẨNMELP2400 Được phát minh năm 1995 do Alan McCree, mã dự đoán tuyến tính kết hợp với bộ kích thích (MELP) là một chuẩn mã hóa tiếng nói của Bộ Quốc Phòng và Chính Phủ Mỹ, được ứng dụng chủ yếu trong các ứng dụng quân sự và thông tin vệ tinh,

âm thanh bảo mật và các thiết bị vô tuyến bảo mật

Theo [2], [3], mã MELP dựa trên mô hình tham số mã dự đoán tuyến tính (LPC - Linear Prediction Coding) và có cải tiến, bổ xung thêm năm đặc trưng nữa để khắc phục các nhược điểm của mã LPC; đó là Bộ trộn kích thích, chuỗi xung ngẫu nhiên, bộ lọc phổ thích nghi tăng cường, trải phổ xung và mô hình năng lượng Fourier, một khung dữ liệu MELP được tạo thành từ đoạn dữ liệu âm thanh trong khoảng thời gian 22.5ms, trong đó gồm 180 mẫu với tốc độ lấy mẫu là 8,000 mẫu/giây Sau khi qua quá trình phân tích, tính toán ra các đặc trưng, đoạn dữ liệu này sẽ được mã hóa bằng 54 bit rồi truyền

đi, vậy tốc độ dữ liệu (54 bit/22,5ms tương đương 2400 bit/ 1giây) Phạm vi, giá trị cụ thể của các tham số được cho trong Bảng 1

Bảng 1: Bảng cấp phát số bit dùng cho các tham số MELP [2]

Trong bài báo này, chúng tôi xét trường hợp 54 bit âm câm (Unvoice), số lượng bit thực chất chứa thông tin là 41, còn lại

13 bit dùng để bổ sung mã FEC; cụ thể trong tiêu chuẩn MELP sử dụng mã Hamming như sau:

- Lấy 12 bit hệ số LPC (LSF - Line Spectrum Frequency) đầu tiên: chú ý là các bit này trong cấu trúc MELP được xếp theo thứ tự quan trọng (ưu tiên); dùng ba bộ mã H(7,4) để mã hóa, như vậy sau mã hóa tăng thêm 9 bit

- Tiếp tục lấy 4 bit hệ số khuếch đại (G1) và dùng một bộ mã H(8,4) để mã hóa; như vậy sau mã hóa tăng thêm 4 bit Các bit còn lại truyền trực tiếp, như vậy tổng số bit tăng thêm sau mã hóa là 13 bit; và tổng số bit trong một khung dữ liệu là

54 bit

Bảng 2: Cấu trúc 54 bit âm câm (MELP) với mã Hamming [2]

Từ bảng 2, ta có một số nhận xét:

25 4 4 7 1 41 H(7,4) H(7,4) H(7,4) 13 H(8,4) 4 7 1 54

Trang 3

Khi mã hóa dữ liệu cần 4 bộ mã (3 bộ H(7,4) và 1 bộ H(8,4))

để mã hóa

-Tỷ lệ lỗi của các bit được mã hóa đồng đều (không có ưu tiên

theo vai trò)

- Tỷ lệ lỗi bit giảm chậm khi SNR tăng, điều này phụ thuộc

vào tính chất của mã Hamming

IV ỨNGDỤNGMÃ PHÂNCỰCTRONGMÃTHOẠI

Đề xuất ý tưởng: Như trên đã trình bày, thấy mã phân cực có

đặc điểm truyền các bit thông tin với tỷ lệ lỗi bit khác nhau

theo vị trí của bit trong từ mã Còn mã hóa tiếng nói theo

chuẩn MELP lại có vai trò các bit thông tin trong khung dữ

liệu là khác nhau Ở mục này, chúng tôi trình bày ý tưởng là sẽ

dùng một bộ mã Polar P(32,19) để thay thế các mã Hamming

trong khung dữ liệu MELP với hy vọng là sẽ nhận được độ

chính xác cao với các bit quan trọng trong mỗi khung tín hiệu

tiếng nói, điều này xuất phát từ tính chất của mã Polar, nội

dung đề xuất được trình bày dưới đây

Dùng 19 bit thông tin (gồm 15 bit LFS đầu tiên và 4 bit G1)

trong khung dữ liệu để gán vào 19 kênh ảo tốt của bộ mã

P(32,19) theo vị trí ưu tiên Như vậy số lượng bit của khung

sau mã hóa vẫn đảm bảo 54 bit, nhưng số lượng bit được mã

hóa (bảo vệ) lại nhiều hơn 19 bit/ 16 bit so với mã Hamming,

Bảng 3 trình bày cấu trúc một khung (54 bit âm câm) tín hiệu

tiếng nói khi sử dụng mã Polar

Bảng 3: Cấu trúc 54 bit âm câm (MELP) với mã Polar

4 25 4 7 1 41

P(32,19) 10 4 7 1 54

Ở đây chỉ dùng 1 bộ mã P(32,19) để mã hóa, số lượng bít

được mã hóa nhiều hơn: 19 bit so với phương án mã hóa cũ,

các bít quan trọng được mã hóa ưu tiên hơn (ánh xạ lên các

kênh có chất lượng tốt hơn)

Sử dụng một số công cụ trong [4], [5], thực hiện xây dựng mô

hình mô phỏng so sánh tỷ lệ lỗi bit khi truyền khung dữ liệu

54 bit (Unvoice) trên Matlab với hai trường hợp: một là khung

dữ liệu 54 bit đóng gói theo chuẩn MELP (dùng mã

Hamming) và hai là khung dữ liệu 54 bit đóng gói theo đề

xuất mới (dùng mã P(32,19)) Mô hình hệ thống được trình

bày trên Hình 4

Hình 4: Sơ đồ mô phỏng so sánh chất lượng mã Hamming và mã

phân cực cho dữ liệu chuẩn MELP

Với số lượng bit thông tin đầu vào là 10.000.000 bit Kết quả chạy mô phỏng khi sử dụng 2 loại mã Hamming và phân cực được trình bày trên Hình 5

0 2 4 6 8 10

10-8

10-6

10-4

10-2

100

Eb/N0, dB

No code Polar Hamming

Hình 5: Kết quả so sánh BER của 2 loại khung dữ liệu MELP 54 bit

Từ kết quả hình 5 ta có một số nhận xét như sau:

- Ở SNR < 4 dB chất lượng mã Polar kém hơn mã Hamming

- Ở SNR ≥ 4 dB chất lượng mã Polar bắt đầu tốt hơn mã Hamming, điều này càng rõ rệt khi chất lượng kênh tăng lên

Ví dụ tại BER = 10-6 thì độ lợi khi dùng mã Polar tốt hơn khoảng 0.8 dB so với mã Hamming

Mã thoại tốc độ thấp chuẩn MELP hiện nay được ứng dụng rộng rãi trong hệ thống thông tin vô tuyến điện quân sự Đặc biệt trong các trang bị vô tuyến điện do Tập đoàn Công nghiệp Viễn thông Quân đội sản xuất đều đã sử dụng mã thoại chuẩn MELP Đối với mã thoại chuẩn MELP, 25 bit dữ liệu LFS (chính là tham số của bộ lọc LPC10) có vai trò quan trọng nhất, chỉ cần các tham số này là có thể tái tạo lại âm thanh, các tham số khác chỉ bổ sung để làm rõ hơn đặc trưng của tiếng nói gốc Mặt khác, 25 bit LFS lại được sắp xếp theo vai trò (thứ tự ưu tiên) giảm dần, do vậy theo chuẩn MELP dùng mã Hamming để mã hóa bảo vệ 12 bit đầu tiên [2] Với đề xuất dùng mã Polar (32,19), ta không chỉ bảo vệ được 15 bit LFS

mà còn ưu tiên được các bit quan trọng Để đánh giá kết quả này, chúng ta thực hiện mô phỏng trên mathlab với khung dữ liệu gốc là 41 bit truyền trên kênh AWGN với ba trường hợp:

- Thứ nhất là truyền khung 41 bit không mã hóa

- Thứ hai là truyền 54 bit, trong đó 16 bit được mã hóa bởi các

bộ mã Hamming theo chuẩn MELP thành 29 bit, còn lại 25 bit truyền trực tiếp

- Thứ ba là truyền 54 bit, trong đó 19 bit được mã hóa Polar (32,19) thành 32 bit, còn lại 22 bit truyền trực tiếp

Ỏ đầu thu thực hiện giải mã, lọc lấy 41 bit thông tin rồi so sánh tỷ lệ lỗi theo từng vị trí bit với 41 bit gốc Kết quả mô phỏng thể hiện trên Hình 6 và Hình 7

F-MELP

(41 bit)

F-Polar (54 bit) F-Hamming

(54 bit)

AWGN

De-Polar (41 bit)

De-Hamming (41 bit)

BER

Trang 4

0 10 20 30 40 50

0

0.01

0.02

0.03

0.04

0.05

Bit Index

No code Polar Hamming

Hình 6: So sánh tỷ lệ lỗi bit SNR = 4 dB, khung truyền 41 bit

thông tin, số khung truyền 100.000 mẫu

0 10 20 30 40 50

0

0.005

0.01

0.015

0.02

0.025

0.03

Bit Index

No code Polar Hamming

Hình 7: So sánh tỷ lệ lỗi bit SNR = 5 dB, khung truyền 41 bit

thông tin, số khung truyền 1.000.000 mẫu

Từ kết quả trên Hình 6 và hình 7, ta có một số nhận xét sau:

- Số lượng bit được mã hóa (tỷ lệ lỗi nhỏ) của phương án đề xuất lớn hơn (19/16 bit)

- Các bit quan trọng được bảo vệ tốt hơn (tỷ lệ lỗi nhỏ)

Để đạt được ưu điểm và độ lợi trên đây, khi sử dụng mã phân cực ta phải trả giá về độ phức tạp mã hóa và giải mã, qua tính tính toán thấy rằng độ phức tạp mã hóa và giải mã Polar có độ

dài N đều là O(N.log2N) Độ phức tạp tương đối thấp và hoàn

toàn có thể hiện thực được trên các dòng chip phổ biến hiện nay

V KẾTLUẬN Bài báo đã sử dụng đặc trưng của mã phân cực trong phân cực kênh ảo để ứng dụng phù hợp với hóa tiếng nói MELP (2400 bps) có cấu trúc dữ liệu phân biệt vị trí các bit theo vai trò thông tin Mô hình kết hợp giữa mã Polar và mã thoại MELP

2400 bps có kết quả mô phỏng tốt và có thể ứng dụng được trong thực tế Tuy nhiên, do cấu trúc khung dữ liệu ngắn (54 bit), nên chỉ sử dụng được bộ mã Polar (32,19) nên chất lượng cải thiện chưa được nhiều Mã Polar sẽ hiệu quả hơn đối với các cấu trúc dữ liệu lớn và có phân biệt vai trò các bit thông tin

TÀILIỆUTHAMKHẢO

[1] E Arıkan (2009), “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels,” IEEE Trans Inf Theory, vol 55, no 7, pp 3051–3073 [2] MIL_STD-3005, "Analog-to-Digital Conversion of Voice by 2,400 Bit/Second Mixed Excitation Linear Prediction (MELP)", US DoD [3] STANAG-4591, The 1200 and 2400 bit/s Nato Interoperable narrow band voice coder, NATO

[4] H Vangala, E Viterbo and Y Hong (2015), "A Comparative Study of Polar Code Constructions for the AWGN channel", arXiv:1501.02473 [5] Harish Vangala, "Poler code in MATLAB", Monash University, Clayton, VIC- 3800, Australia, Available: http:// www.polarcodes.com [6] Mani Bastani Parizi (2012), Polar Codes: Finite Length Implementation, Error Correlations and Multilevel Modulation, EPFL - Ecole Polytechnique Fe’de’rale de Lausanne.

Ngày đăng: 27/04/2022, 10:29

HÌNH ẢNH LIÊN QUAN

Hình 1: Ví dụ về phân cực của kênh BEC với xác suất xóa 0.5 Mã phân cực sử dụng đặc tính phân cực với các kênh có độ tin  cậy cao sẽ được sử dụng để truyền tin còn các kênh có độ tin  cậy thấp sẽ được đóng băng “frozen” - Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP
Hình 1 Ví dụ về phân cực của kênh BEC với xác suất xóa 0.5 Mã phân cực sử dụng đặc tính phân cực với các kênh có độ tin cậy cao sẽ được sử dụng để truyền tin còn các kênh có độ tin cậy thấp sẽ được đóng băng “frozen” (Trang 1)
Hình 2: Tỷ lệ lỗi theo vị trí bít tin của mã PC với N=128, K=64; truyền trên kênh AWGN; SNR=0dB - Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP
Hình 2 Tỷ lệ lỗi theo vị trí bít tin của mã PC với N=128, K=64; truyền trên kênh AWGN; SNR=0dB (Trang 2)
Theo [2], [3], mã MELP dựa trên mô hình tham số mã dự đoán  tuyến  tính  (LPC  -  Linear  Prediction  Coding)  và  có  cải  tiến, bổ xung thêm năm đặc trưng nữa để khắc phục các nhược  điểm của mã LPC; đó là Bộ trộn kích thích, chuỗi xung ngẫu  nhiên, bộ  - Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP
heo [2], [3], mã MELP dựa trên mô hình tham số mã dự đoán tuyến tính (LPC - Linear Prediction Coding) và có cải tiến, bổ xung thêm năm đặc trưng nữa để khắc phục các nhược điểm của mã LPC; đó là Bộ trộn kích thích, chuỗi xung ngẫu nhiên, bộ (Trang 2)
Bảng 1: Bảng cấp phát số bit dùng cho các tham số MELP [2] - Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP
Bảng 1 Bảng cấp phát số bit dùng cho các tham số MELP [2] (Trang 2)
Hình 3: Tỷ lệ lỗi theo vị trí bít tin của mã PC với N=128, K=64; truyền trên kênh AWGN; SNR=2dB - Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP
Hình 3 Tỷ lệ lỗi theo vị trí bít tin của mã PC với N=128, K=64; truyền trên kênh AWGN; SNR=2dB (Trang 2)
Bảng 3: Cấu trúc 54 bit âm câm (MELP) với mã Polar - Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP
Bảng 3 Cấu trúc 54 bit âm câm (MELP) với mã Polar (Trang 3)
Hình 4: Sơ đồ mô phỏng so sánh chất lượng mã Hamming và mã phân cực cho dữ liệu chuẩn MELP  - Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP
Hình 4 Sơ đồ mô phỏng so sánh chất lượng mã Hamming và mã phân cực cho dữ liệu chuẩn MELP (Trang 3)
Hình 6: So sánh tỷ lệ lỗi bit. SNR= 4 dB, khung truyền 41 bit thông tin, số khung truyền 100.000 mẫu - Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP
Hình 6 So sánh tỷ lệ lỗi bit. SNR= 4 dB, khung truyền 41 bit thông tin, số khung truyền 100.000 mẫu (Trang 4)
Hình 7: So sánh tỷ lệ lỗi bit. SNR= 5 dB, khung truyền 41 bit thông tin,  số khung truyền 1.000.000 mẫu - Ứng dụng mã cực (Polar) trong mã hóa tiếng nói tốc độ thấp theo chuẩn MELP
Hình 7 So sánh tỷ lệ lỗi bit. SNR= 5 dB, khung truyền 41 bit thông tin, số khung truyền 1.000.000 mẫu (Trang 4)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w