Tìm hiểu về kĩ thuật điều xung mã vi sai DPCM, điều xung mã vi sai thích ứng ADPCM và MPEG. Lịch sử thông tin dữ liệu có thể coi được bắt đầu từ năm 1837 với sự phát minh điện tín của Samuel F. B. Morse. Đó là hệ thống truyền các xung điện biểu diễn cho các dấu chấm, vạch(tương đương với các số nhị phân 1, 0) trên các đường dây nhờ các máy cơ điện. Các tổ hợp khác nhau của các mã này thay cho các chữ, số, dấu.. được gọi là mã Morse. Với lịch sử phát triền lâu dài qua hàng thập kỉ của ngành thông tin dữ liệu, các phương thức truyền dẫn, mã hóa thông tin ngày càng đa dạng và hoàn thiện hơn. Với đề tài “Tìm hiểu về DPCM, ADPCM, Mã hóa âm thanh”, chúng tôi mong muốn qua bài báo cáo này các bạn sẽ hiểu hơn về các kĩ thuật mã hóa trên. Trong quá trình làm đề tài do kiến thức còn hạn hẹp, khó tránh được các vấn đề liên quan đến lỗ hổng kiến thức, khó hiểu mong các bạn góp ý và thông cảm. Chúng tôi xin chân thành cảm ơn
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC MẠNG KHÔNG DÂY VÀ DI ĐỘNG
Tên đề tài:
Tìm hiểu về DPCM, ADPCM, Mã hóa âm thanh
Hà Nội, tháng …/…
Trang 2ĐẶT VẤN ĐỀ
Lịch sử thông tin dữ liệu có thể coi được bắt đầu từ năm 1837 với sự phát minhđiện tín của Samuel F B Morse Đó là hệ thống truyền các xung điện biểu diễn chocác dấu chấm, vạch(tương đương với các số nhị phân 1, 0) trên các đường dây nhờ cácmáy cơ điện Các tổ hợp khác nhau của các mã này thay cho các chữ, số, dấu đượcgọi là mã Morse Với lịch sử phát triền lâu dài qua hàng thập kỉ của ngành thông tin dữliệu, các phương thức truyền dẫn, mã hóa thông tin ngày càng đa dạng và hoàn thiện
hơn Với đề tài “Tìm hiểu về DPCM, ADPCM, Mã hóa âm thanh”, chúng tôi mong
muốn qua bài báo cáo này các bạn sẽ hiểu hơn về các kĩ thuật mã hóa trên Trong quátrình làm đề tài do kiến thức còn hạn hẹp, khó tránh được các vấn đề liên quan đến lỗhổng kiến thức, khó hiểu mong các bạn góp ý và thông cảm
Chúng tôi xin chân thành cảm ơn!
Trang 3Mục lục
Trang 4DANH MỤC HÌNH
DANH MỤC BẢNG
4.2 Bảng phân giải các giá trị của Layer I, Layer II 28
DANH MỤC TỪ VIẾT TẮT
CCITT Consultative Committee for International Telephony
and Telegraphy - Uỷ ban tư vấn quốc tế về điện thoại và
điện báo
Trang 5I KHÁI QUÁT VỀ KĨ THUẬT ĐIỀU XUNG MÃ
1.1 Khái niệm
Điều chế xung mã (Pulse Code Modulation) thực chất là một dạng biến đổi tương
tự-số trong đó thông tin trong các mẫu tức thời của tín hiệu tương tự được biểu diễn bằng các từmã
Đặc trưng của quá trình điều xung mã được đặc trưng bởi 4 quá trình:
Để không gây ra những méo thụ cảm rõ ràng nhận ra, tần số cắt của mạch lọc hạn băng phảichọn cao hơn 3,4 kHz Các mạch lọc tiêu chuẩn trong thực tế có tần số cắt rất sát với 4 kHz
1.2.2 Lấy mẫu (Sampling)
Thực chất là quá trình rời rạc hóa tín hiệu theo thời gian: Ts <= 1/(2fmax)
Ý nghĩa:
• Là cơ sở để biến đổi tín hiệu liên tục thành tín hiệu rời rạc và tín hiệu số
• Khi truyền tin tức trong một tín hiệu x(t) liên tục thay vì truyền nó đi toàn bộtín hiệu x(t) ta chỉ truyền đi một số các giá trị tức thời của nó
• Điều kiện của các điểm lấy mẫu để tái tạo tín hiệu x(t) liên tục từ các mẫu rờirạc mà không bị méo
• Tuân theo định lý lấy mẫu để có được các tín hiệu điều biên xung (PAM –Pulse Amplitude Moduration)
• Tần số lấy mẫu tiêu chuẩn cho tín hiệu thoại thường được chọn là 8KHz
Trang 6và dừng (sampling and hold circuit) Mỗi điểm dừng lấy mẫu ứng với một giá trị của biên
độ Ta có một dãy nhiều giá trị biên độ liên tục, nhưng rời rạc theo thời gian Mỗi thờikhoảng mẫu chỉ có một giá trị
Hình 1.2 Qúa trình lẫy mẫu liên tục
Các đặc điểm của lấy mẫu:
• PAM: là quá trình điều biên xung Dùng tín hiệu tương tự, lấy mẫu với thờigian liên tiếp và cách đều nhau tạo thành một chuỗi các xung rời rạc
• Tốc độ lẫy mẫu thấp nhất phải bằng hai lần tần số cao nhất của tín hiệu gốc.Nếu tần số cao nhất của tín hiệu là xHZ thì chúng ta thực hiện lấy mẫu sau
1/2x.
1.2.3 Lượng tử hóa (Quantizing)
Qúa trình biến đổi các giá trị mẫu liên tục thành các giá trị rời rạc được gọi là lượnghóa
Trong quá trình này ta chia dãy tín hiệu thành các số cố định của các thời khoảng, mỗithời gian khoảng bằng nhau được gán một số Mỗi mẫu có một số giới hạn các giá trị chọn
Trang 7Kích thước giá trị trong một thời khoảng gọi là bước lượng tử hóa.
Hình 1.3 Lượng tử hóa tín hiệu PAM
Chuyển tín hiệu vô hạn mức x(t) thành hữu hạn mức x*(t)
Với N mức cần n bit để mã hóa: 2n >= N
• Sai số lượng tử hóa: δx = x(t) – x*(t)
a Lượng tử hoá tuyến tính
Hình 1.4 Qúa trình lượng tử hóa tuyến tính
o Giả sử x(t) thay đổi trong 0-Xmax
o Chia 0-Xmax thành N mức từ 0 -> N-1
o N=2n mỗi mức ứng với 1 tổ hợp nhị phân (n bit)
o Bức lượng tử hóa: x = Xmax/(N-1) = Xmax/(2n-1) = const
=> S/N không đồng đều
• S/N lớn khi x lớn
• S/N giảm khi x nhỏ
• Muốn tăng S/N cần giảm Δx -> tăng N -> tăng n
=> Thường sử dụng trong đo lường
b Lượng tử hóa phi tuyến
• Khắc phục những nhược điểm của lượng tử hóa tuyến tính
• Bước lượng tử thay đổi giả sử Δx = k.x
• Xác định Δx bằng cách tìm hàm y = y(x) sao cho lượng tử hóa phi
Trang 8tuyến với x tương ứng với lượng tử hóa tuyến tính với y (Δx thay đổi– Δy không đổi)
Tính được: y = (ln x + C0)
Xác định số mức lượng tử hóa:
Sự khác biệt tối đa giữa các giá trị lượng hóa và giá trị tín hiệu tương tự gốc gọi là
bước lượn hóa Sự khác biệt này còn được gọi là lỗi lượng hóa hay nhiễu lượng hóa
(quantatization noise) Số mức lượng hóa càng lớn thì bước lượng hóa càng nhỏ và kéo theonhiễu lượng hóa càng nhỏ Só các mức lượng hóa xác định số bit cần thiết để biểu diễn mẫu
và được xác định bởi công thức:
b = log2Q Q = 2b
Trong đó: b: số bit cần thiết để biểu diễn mẫu
Q: số mức lượng tử hóa Mối quan hệ giữa chất lượng tín hiệu số hóa và tín hiệu tương tự gốc đo bằng hệ số
tín hiệu nhiễu (SNR – Signal-to-noise ratio) tính bằng dB được định nghĩa bởi:
SNR = 20log10(S/N)
Trong đó: S: biên độ cực đại của tín hiệu, N: nhiễu lượng hóa
Nếu lấy bước lượng giá là q thì N = q và S = 2 b q.
Thay vào biểu thức: SNR = 20log10(sbq/q) = 20blog10 (2) = 6b
Ta thấy nếu dung thêm 1 bit để biểu diễn các mẫu làm gia tăng hệ số tín hiệu nhiễu là6dB Chúng ta xem xét trường hợp âm thanh bắt đầu nghe được Trong trường hợp âm thanhcực đại (100dB – 120dB) Để không nghe nhiễu lượng tử hóa thì SNR ≥ 100dB, CD audiodung 16 bit cho mẫu lượng hóa => SNR = 6x16 = 96dB nó hỏ hơn cận dưới mà ta mongmuốn (100dB đến 120dB) Tuy nhiên 16 bit dễ thao tác và xử lý trong các hệ thống số nhịphân Do vậy người ta dung 16 bit thay cho 17 bit
Tóm lại âm thanh số cần được lấy mẫu liên tục với tốc độ cố định, mỗi mẫu cần đượcbiểu diễn bằng một số cố định
Bảng 1.1 Đặc tính chung của âm thanh số.
1.2.4 Mã hóa (Coding)
Mã hóa là quá trình chuyển các mức lượng tử từ các mã nhị phân để truyền đi trên hệthống truyền dẫn số
Trang 9Hình 1.5 Hệ thống truyền dẫn PCM
Việc mã hóa các mức lượng tử để tạo thành tín hiệu PCM được thực hiện bằng các tổhợp 8 bít đối với cả hệ Mỹ lẫn hệ Châu Âu và cùng có dạng PABCDXYZ Trong đó,ABCDXYZ chỉ các bit được mã hóa của tín hiệu P là giá trị chỉ cực tính của giá trị lượng tử.Với P = 0 chỉ tín hiệu dương và P = 1 chỉ tín hiệu âm
1.2.5 Sai số trong truyền dẫn PCM:
Trong thực tế, các tín hiệu lối vào điều chế xung mã là các tín hiệu có phổ trải vô hạn.Sau lọc hạn chế tín hiệu phổ tín hiệu, tín hiệu có phổ hạn chế do vậy thời gian tổn tại trảirộng vô hạn, nghĩa là về lý thuyết, việc lấy mẫu phải được thực hiện với vô hạn mẫu Từ đóchúng ta có thể thấy rằng tín hiệu liên tục khôi phục lại ở phần thu, ngay cả trong trường hợpkhông tính đến méo và nhiễu trên đường truyền, cũng chỉ là một phiên bản gần đúng của tínhiệu liên tục càn truyền đi ở phần phát mà thôi Sai số giữa các tín hiệu phiên bản và nguyênbản gây ra bởi các nguyên nhân sau:
a) Việc lấy mẫu không thể tiến hành trong thời gian dài vô hạn được
b) Sai số do làm tròn (lượng tử hóa)
c) Các đặc tính lọc không hoàn toàn lý tưởng
d) Phiên bản là một tín hiệu có phổ hạn chế, không như tín hiệu
Trong đàm thoại, một người đàm thoại tiêu biểu thường nói trong 40% thời gian
và đối với các giai đoạn tiếng nói tích cực (giai đoạn có nói trong đoạn đàm thoại) thìcác âm hữu thanh xảy ra gấp 4 lần so với các âm vô thanh Sự trội hơn hẳn của các âm
Trang 10hữu thanh có nghĩa là tính tương quan trong các tín hiệu âm thoại có thể khai thác đượcmột cách hieju quả Do tính tương quan cao của các mẫu tiếng nói, sai lệch giữa hai mẫu
kế nhau thường khá nhỏ so với giá trị của từng mẫu
Sn –Sn-1 << Sn
Trong đó Sn = s[n/fs] là giá trị mẫu của tín hiệu vào tại nhịp lấy mẫu thứ n Vì vậy,thay vì mã hóa các giá trị mẫu tiếng nói như PCM, chỉ cần mã hóa sai lệch giữa các mẫutiếng nói liên tiếp và chỉ cần một số bit ít hơn để mã Đây là phương pháp dựa trên tínhchất tương quan của tín hiệu tiếng nói, chỉ truyền đi độ chênh lệch giữa các mẫu cạnhnhau của tiếng nói:
Hình 2.1 Sơ đồ mã hóa và giải mã DPCM
Thay vì truyền đi giá trị mẫu, trong mã hóa tiên đoán, sai khác giữa một tiên đoán đốivới giá trị mẫu và giá trị mẫu hiện tại được mã hóa và truyền đi
Tín hiệu vào qua bộ lọc băng thông thấp, hạn chế băng tần của tín hiệu vào (thường làmột nửa tần số lấy mẫu), máy phát lượng tử và mã hóa lượng tử chênh lệch giữa xung lấymẫu tương tự xn và tín hiệu dự đoán xn lấy từ đầu ra bộ dự đoán x-
n Gía trị dự đoán của mẫutiếp theo có được nhờ ngoại suy từ p giá trị mẫu cho trước:
ai là hệ số của các bộ dự đoán, độ chênh lệch giữa xung lấy mẫu đầu vào và tín hiệu ralấy mẫu là:
Trang 11Đây chính là giá trị dùng để lượng tử hóa và truyền đi, ở phía thu sẽ tiến hành khôiphục lại tín hiệu sai số này và tích phân lại cộng với tín hiệu đã khôi phục trước đó, tuynhiên để giảm lỗi cộng lại của nhiều lần ta dùng phía thu một bộ dự đoán giống với phíaphát Việc sử dụng vòng phản hồi giúp cho bộ lượng tử hạn chế độ chênh lệch giữa sai số en
và sai số được lượng tử e `
và giá trị mẫu dự đoán của nó còn nhỏ hơn nữa so với sai lệch giữa các mẫu kế tiếp Vìvậy, bằng cách sử dụng thêm bộ dự đoán ta có thể chỉ cần mã giá trị sai lệch giữa giá trịthực và giá trị dự đoán của mẫu tín hiệu và số bit cần sử dụng để mã còn có thể giảmhơn nữa so với DPCM không có bộ dự đoán Nhờ vậy có thể giảm hơn nữa tốc độ truyền
và độ rộng phổ chiếm
Theo cấu trúc mã và giải nén như hình 2.1, một bộ dự đoán được sử dụng để tạo ragiá trị ước lượng của mẫu tiếp theo và sai lệch của sự ước lượng này với giá trị thực của mẫutín hiệu kế tiếp được mã hóa PCM Tín hiệu lối vào của bộ dự đoán được hình thành từ một
bộ giải mã PCM Ở phía thu, các thuật toán ngược lại được thực hiện Tín hiệu lối vào bộ mãhóa PCM ở phía phát là:
Trong đó, chỉ số n phía trên chỉ nhịp lấy mẫu thứ n
Gía trị ước lượng của mẫu tiếp theo (tín hiệu lối ra của bộ dự đoán) được xác định từ
L mẫu trước đó theo biểu thức:
Các hệ số ai là các hệ số của thuật toán dự đoán, được lựa chọn một cách thích hợp.Trong đó Sn = [n/f s] là giá trị lấy mẫu tại nhịp lấy mẫu thứ n.
2.3 Hiện tượng quá tải sườn
DPCM dựa trên tiền đề là các mẫu tín hiệu liên tiếp nói chung có độ chênh lệch nhỏ,
vì vậy chỉ cần ít bit để mã Điều này đúng với các loại tín hiệu biến thiên tương đối chậm
Trang 12Với các tín hiệu biến thiên khá nhanh thì việc sử dụng tương đối ít bit để mã độ chênh lệch
sẽ gây méo tín hiệu Hiện tượng này gọi là hiện tượng quá tải sườn.
Để thấy rõ hiện tượng này, ta xét trường hợp đơn giản nhất của DPCM là điều chếdelta (DM: Delta Modulation) Trong đó độ chênh lệch giữa hai mẫu liên tiếp được mã chỉbằng 1 bit: khi độ chênh lệch dương thì bit mã là 1, ngược lại khi độ chênh lệch âm, bit mã
là 0 Tại phía thu, một lượng cố định ∆ được cộng vào hay trừ đi với mức tín hiệu trước đó(tính tích lũy) tùy theo cực tính của bit nhận đưucọ là 1 hay 0, hình thành 1 tín hiệu dạng bậcthang Sau đó tín hiệu bậc thang được cho qua lọc
Hình 2.2 Hiện tượng quá tải sườn
III ĐIỀU CHẾ XUNG MÃ VI SAI THÍCH ỨNG ADPCM
Đây là phương pháp mã hóa khá quan trọng, tập hợp được những ưu điểm của cácphương pháp trên và đã được ITU-T tiêu chuẩn hóa trong khuyến nghị G721, và đã cónhiều ứng dụng trong thực tế như hệ thống di động CT2 của Hàn Quốc, DECT của Mỹ
Vì vậy ta sẽ nghiên cứu sâu phương pháp Các tốc độ tiêu chuẩn là 40,32,24,26 kbps
Phương pháp này dựa trên tính chất thay đổi chậm của phương sai và hàm tự tươngquan, với phương pháp PCM ta dùng bộ lượng tử đều có công suất tạp âm là ∆2/12, phươngpháp ADPCM và các phương pháp dự đoán tuyến tính nói chung là thay đổi ∆ hay còn gọi
là phương pháp dùng bộ lượng tự hóa tự thích nghi Các thuật toán được phát triển cho hệthống điều xung mã vi sai khi mã hóa tín hiệu tiếng nói bằng cách sử dụng bộ lượng tử hóa
và bộ dự đoán thích nghi, có thông số thay đổi theo chu kỳ để phản ánh tính thống kê của tínhiệu tiếng nói
3.1 Tổng quan
Bộ mã hóa có vai trò biến đổi tín hiệu điều chế xung mã PCM luật A hoặc µ 64 kbit/sthành tín hiệu đầu ra có tốc độ là 40, 32, 24, 1 kbit/s
Trang 13a) Mã hóa
b) Giải mã Hình 3.1 Mã hóa và giải mã ADPCM
3.1.1 Mã hóa ADPCM (ADPCM Encoding)
Sau khi biến đổi tín hiệu thành dạng PCM đồng dạng, tín hiệu vi phân được tính toàn,bằng phép trừ giá trị ước lượng của tín hiệu vào và chính nó Bộ lượng tử thích ứng 31-, 15-,7-, 4 sử dụng 5, 4, 3 hoặc hai bit nhị phân tương ứng, giá trị của tín hiệu vi phân được truyềnđến phía thu Một bộ lượng tử ngược tạo ra các tín hiệu vi sai lượng tử hóa từ các mẫu bitnày Tín hiệu ước lượng được cộng vào tín hiệu vi phân lượng tử hóa này để hồi phục dạngtín hiệu Cả hai tín hiệu hồi phục và tín hiệu vi phân lượng tử hóa thực hiện nhờ bộ phỏngđoán tương thích (adaptive predictor), có tác dụng ước lượng tín hiệu vào, và hoàn thànhvòng lặp
3.1.2 Giải mã ADPCM (ADPCM Decoder):
Khối giải mã có cấu trúc gần giống với phần hồi tiếp của bộ mã hóa Cùng với khốibiến đổi ngược lại từ PCM đồng dạng thành PCM luật A hoặc µ 64 kbit/s và khối điều chỉnh
Trang 14mã hóa đồng bộ, khối điều chỉnh mã hóa đồng bộ điều chỉnh để tránh tích lũy méo xuất hiệnkhi mã hóa đồng bộ Tandem Điều chỉnh mã PCM phía ra sao cho méo lượng tử trong bướctiếp theo là nhỏ nhất.
3.2 Nguyên lý mã hóa ADPCM (ADPCM Encoder Principles):
3.2.1 Biến đổi định dạng đầu vào (Input pcm format conversion)
Khối này biến đổi tín hiệu s(k) luật A hoặc µ PCM thành tín hiệu PCM sl(k) đồng
dạng
3.2.2 Tính toán tín hiệu vi sai (Difference signal computation)
Tín hiệu vi sai d(k) được tính từ công thức (k):
d(k) = sl (k) –se(k)
Tín hiệu đồng dạng PCM sl(k)
Tín hiệu ước lượng se(k)
3.2.3 Bộ lượng tử tương thích (adaptive quantizer):
Bộ lượng tử thích ứng không đồng dạng các mức 31-, 15, 7-, 4 sử dụng để lượng
tử tín hiệu vi sai d(k) với các tốc độ tương đương 40, 32, 24, 16 kbit/s Chu kỳ lượng tử,
d(k) được biến đổi dựa trên hai thuật toán representation và chia thang bởi y(k), được
tính với khối tương thích hệ số thang Đặc tính đầu vào/ đầu ra tiêu chuẩn hóa của bộlượng tử như các bảng sau:
Bảng 3.1., Đặc tính vào ra của bộ lượng tử hóa 16kbps
Trang 15Bảng 3.2 Đặc tính vào ra của bộ lượng tử hóa 40kbps
Bảng 3.3 Đặc tính vào ra của bộ lượng tử hóa 32kbps
Trang 16Bảng 3.4 Đặc tính vào ra của bộ lượng tử hóa 24kbps
3.2.4 Bộ lượng tử hóa tương thích ngược (Inverse adaptive quantizer):
Một dạng lượng tử hóa của tín hiệu vi sai dq(k) được tạo ra bằng cách chia thang,
sử dụng y(k), giá trị cụ thể được lựa chọn từ đặc tính lượng tử hóa tiêu chuẩn như chỉ ra
ở các bẳng trên và sau đó kết quả được truyền từ vùng tính toán
3.2.5 Tương thích hệ số phân thang bộ lượng tử (quantizer scale factor adaptation):
Khối này tính toán hệ số y(k) Xung vào là 5-bit, 4-bit, 3-bit, 2-bit đầu ra là l(k)
và thông số điều khiển tiếng nói thích ứng al(k).
Nguyên lý căng bản sử dụng trong phân mức bộ lượng tử hóa là hai chế độ:
• Nhanh với tín hiệu mà có tín hiệu mà có tín hiệu vi sai thay đổi lớn (thoại)
• Nhanh với tín hiệu mà có tín hiệu vi sai có thay đổi nhỏ (số liệu)
Sự tương thích của tín hiệu tiếng nói được điều khiển bởi hệ số thang kết hợpnhanh chậm
Hệ số phân thang nhanh y u(k) được tính theo vòng lặp:
Yu(k) = (1-2 -5 )y(k) + 2 -5 W[I(k)], (2,-2)
Trong đó y u(k) được giới hạn trong khoảng 1.06 và 10.00.
Với ADPCM 40 kbit/s, hàm rời rạc W(I) được định nghĩa (giá trị chính xác) như
các bảng dưới đây: