Với phương pháp đầu tiên ta sử dụng tr ực tiếp hàm quantiz đối với tín hiệu lũy thừa. Tín hiệu được phân hoạch thành các khoảngđều nhau có chiều dài bằng 1.
Với phương pháp thứ hai , đầu tiên ta sử dụng hàm compand để nén tín hiệu theo luật μ, sau đó dùng hàm quantiz để lượng tử hoá tín hiệu thu đượ c và cuối cùng lại dùng hàm compand để phục hồi tín hiệu ban đầu.
Kết quả xuất ra gồm hai sai số bình phương trung bình của hai phương pháp và đồ thị biểu diễn tín hiệu gốc và tín hiệu đã được nén .Có thể thấy rằng sai số lượng tử ở phương pháp thứ hai nhỏ hơn so với ở phương pháp thứ nhất.
28 trang |
Chia sẻ: lylyngoc | Lượt xem: 7131 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Xung mã PCM và mô phỏng trong matlab, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
Khoa Điện Tử Viễn Thông
MÔN HỌC ĐẠI CƯƠNG VIỄN THÔNG
Chủ Đề: Xung Mã PCM và Mô Phỏng Trong MatLab
Giảng viên bộ môn: TS Lê Anh Ngọc
Nhóm Sinh Viên Thực Hiên: Nhóm 10
Sinh viên lớp: Đ5.ĐTVT1
Lời nói đầu.
Tín hiệu băng thông gốc được gây ra bởi các nguồn thông tin khác nhau,không phải lúc nào cũng thíc hợp cho việc chuyền trưc tiếp qua một kênh cho trước nào đó. Các tín hiệu này thường được biến dổi để quá trình chuyền đi được dễ dàng. Qúa trình biến đổi đó được gọi là điều chế. Điều chế là một kỹ thuật cho phép thông tin được truyền như sự thay đổi của tín hiệu mang thông tin. Điều chế được sử dụng cho cả thông tin số và tương tự. Trong trường hợp thông tin tương tự là tác động liên tục (sự biến đổi mềm). Trong trường hợp thông tin số, điều chế tác động từng bước (thay đổi trạng thái). Khối kết hợp điều chế và giải điều chế được gọi là modem.Trong truyền dẫn tương tự có thể sử dụng hai phương pháp điều chế theo biên độ và theo tần số.Điều chế biên độ được sử dụng để truyền tiếng nói tương tự (300-3400 Hz). Điềuchế tần tần số thường được sử dụng cho truyền thông quảng bá (băng FM), kênh âm thanh cho TV và hệ thống viễn thông không dây. Ngày nay có rất nhiều các phương pháp điều chế khác nhau như điều xung mã (PCM), điều xung mã vi sai (DPCM), điều chế Delta (DM), ... Trong thiết bị ghép kênh số thường sử dụng phương pháp ghép kênh theo thời gian kết hợp điều xung mã (TDM - PCM). Trong bài báo cáo này chúng ta sẽ tìm hiểu về quá trình điều chế xung mã PCM,và ứng dụng của nó trong thực tế.Trong quas trình tìm hiểu và làm bài báo cáo do kả nhăng của các thành viên có hạn và tài liệu còn hạn chế nên bài báo cáo của chúng em còn nhiêu thiếu sót rất mong được thầy cho ý kiến đánh giá để chúng em có thể hieểu sâu hơn về vấn đề điều chế xung mã PCM này.
Hà nội ngày 1 tháng 11 năm 2012.
Mục Lục
Lời nói đầu…………………………………………………………………………2
I: Các Phương Pháp Mã Hóa và Điều Chế……………………………………..4
I1: Mã hóa…………………………………………………………………………………..4
I2: Điều chế…………………………………………………………………………………5
II: Điều Chế Xung Mã PCM…………………………………………………….5
II1: Lấy mẫu…………………………………………………………………………………6
II2: Lượng tử hóa………………………………………………………………….............8
II3: Mã hóa………………………………………………………………………………...10
II4: Giải mã………………………………………………………………………………..13
III: Gới Thiệu Về Một Số Phương Pháp Mới………………………………….15
III1: PCM vi sai…………………………………………………………………...15
III2: PCM thích ứng……………………………………………………………...16
IV: Mô Phỏng PCM trong MatLab…………………………………………….18
V: Đánh Gía Các Thành Viên…………………………………………….........26
VI: Tài Liệu Tham Khảo……………………………………………………….27
I:CÁC PHƯƠNG PHÁP VỀ MÃ HÓA VÀ ĐIỀU CHẾ.
I1.MÃ HÓA.
Trong các hệ thống truyền dẫn số thông tin được chuyển đổi thành một chuỗi các tổ hợp xung, sau đó truyền trên đường truyền. Khi đó, thông tin tương tự (như tiếng nói của con người) phải được chuyển đổi vào dạng số nhờ các bộ biến đổi A/D. Độ chính xác của chuyển đổi A/D quyết định chất lượng lĩnh hội của thuê bao. Tổ hợp số phải đủ chi tiết sao cho tiếng nói (hoặc video) tương tự có thể được tái tạo mà không có méo và nhiễu loạn ở thiết bị thu. Hiện nay, mong muốn của chúng ta là giảm khối lượng thông tin số để sử dụng tốt hơn dung lượng mạng.
Các bộ mã hoá được phân làm 2 loại chính: mã hoá dạng sóng và mã hoá thoại (vocoder). Ngoài ra, còn có các bộ mã hoá lai tổ hợp đặc tính của 2 loại trên. Hình 1.1 minh hoạ sự khác nhau về chất lượng thoại và các yêu cầu tốc độ bit đối với các loại mã hóa khác nhau.
• Mã hoá dạng sóng có nghĩa là các thay đổi biên độ của tín hiệu tương tự (đường thoại) được mô tả bằng một số của giá trị được đo. Sau đó các giá trị này được mã hoá xung và gửi tới đầu thu. Dạng điệu tương tự như tín hiệu được tái tạo trong thiết bị thu nhờ các giá trị nhận được. Phương pháp này cho phép nhận được mức chất lượng thoại rất cao, vì đường tín hiệu nhận được là bản sao như thật của đường tín hiệu bên phát.
• Mã hoá thoại là bộ mã hoá tham số. Thay cho việc truyền tín hiệu mô tả trực tiếp dạng của đường tín hiệu thoại là truyền một số tham số mô tả đường cong tín hiệu được phát ra như thế nào. Cách đơn giản để giải thích sự khác nhau giữa hai phương pháp này là sử dụng phép ẩn dụng: nhạc đang được chơi và các bản nhạc thì được các nhạc công sử dụng. Trong mã hoá dạng sóng chính những âm thanh nhạc đang chơi được truyền đi, còn trong mã hoá tham số thì các bản nhạc được gửi tới bên nhận. Mã hoá tham số yêu cầu có một mô hình xác định rõ đường tín hiệu thoại được tạo như thế nào. Chất lượng sẽ ở mức trung bình (âm thanh của thoại nhận được thuộc loại “tổng hợp”) nhưng mặt khác các tín hiệu có thể được truyền với tốc độ bit rất thấp.
• Bộ mã hoá lai gửi một số các tham số cũng như một lượng nhất định thông tin dạng sóng. Kiểu mã hoá thoại này đưa ra một sự thoả hiệp hợp lý giữa chất lượng thoại và hiệu quả mã hoá, và nó được sử dụng trong các hệ thống điện thoại di động ngày nay.
I2. ĐIỀU CHẾ
Điều chế là một kỹ thuật cho phép thông tin được truyền như sự thay đổi của tín hiệu mang thông tin. Điều chế được sử dụng cho cả thông tin số và tương tự. Trong trường hợp thông tin tương tự là tác động liên tục (sự biến đổi mềm). Trong trường hợp thông tin số, điều chế tác động từng bước (thay đổi trạng thái). Khối kết hợp điều chế và giải điều chế được gọi là modem.
Trong truyền dẫn tương tự có thể sử dụng hai phương pháp điều chế theo biên độ và theo tần số.
Điều biên được sử dụng để truyền tiếng nói tương tự (300-3400 Hz). Điều tần thường được sử dụng cho truyền thông quảng bá (băng FM), kênh âm thanh cho TV và hệ thống viễn thông không dây.
II: ĐIỀU CHẾ XUNG MÃ PCM
Hiện nay có nhiều phương pháp chuyển tín hiệu analog thành tín hiệu digital (A/D) như điều xung mã (PCM), điều xung mã vi sai (DPCM), điều chế Delta (DM), ... Trong thiết bị ghép kênh số thường sử dụng phương pháp ghép kênh theo thời gian kết hợp điều xung mã (TDM - PCM).
Để điều chế tín hiệu analog thành tín hiệu digital cần dùng phương pháp PCM theo 3 bước như hình1.3.
Điều chế xung mã PCM được đặc trưng bởi 3 giai đoạn đó là: Lấy mẫu, Lượng tử hóa và mã hóa. Bài báo cáo này xẽ đề cập tới ừng vấn đề cụ thể trong toàn bộ quá trình mã hóa xung mã PCM.
• Trước hết phải lấy mẫu tín hiệu thoại, tức là chỉ truyền các xung tín hiệu tại các thời điểm nhất định.
• Bước thứ hai là lượng tử hoá biên độ, nghĩa là chia biên độ của xung mẫu thành các mức và lấy tròn biên độ xung đến mức gần nhất.
• Bước thứ ba mã hoá xung lượng tử thành từ mã nhị phân có m bit.
II1: Lấy mẫu tín hiệu analog
Biên độ của tín hiệu analog là liên tục theo thời gian. Lấy mẫu là lấy biên độ của tín hiệu analog ở từng khoảng thời gian nhất định. Quá trình này giống như điều chế biên độ, trong đó các dãy xung có chu kỳ được điều chế biên độ bởi tín hiệu analog. Do vậy các mẫu lấy được sẽ gián đoạn theo thời gian. Dãy mẫu này gọi là tín hiệu PAM (điều chế biên độ xung).
Để thực hiện quá trình lấy mẫu tín hiệu bất kỳ phải dựa vào định lý Nyquist, nội dung của định lý được phát biểu như sau:
• Nếu tín hiệu gốc là hàm liên tục theo thời gian có tần phổ giới hạn từ 0 đến fmax khi lấy mẫu thì tần số lấy mẫu phải lớn hơn hoặc bằng hai lần tần số lớn nhất trong tín hiệu gốc, nghĩa là:
• fm ≥ 2×fmax.
• Một yếu tố quan trọng trong lấy mẫu là phía phát lấy mẫu cho tín hiệu analog theo tần số nào để cho phía thu tái tạo lại được tín hiệu ban đầu. Theo định lý Nyquist, bằng cách lấy mẫu tín hiệu analog theo tần số cao hơn ít nhất hai lần tần số cao nhất của tín hiệu thì có thể tạo lại tín hiệu analog ban đầu từ các mẫu đó.
• Đối với tín hiệu thoại hoạt động ở băng tần 0,3 ÷ 3,4 kHz, tần số lấy mẫu là 8kHz để đáp ứng yêu cầu về chất lượng truyền dẫn: phía thu khôi phục tín hiệu analog có độ méo trong phạm vi cho phép. Quá trình lấy mẫu tín hiệu thoại như hình 1.4.
II2: Lượng tử hóa
• Lượng tử hoá nghĩa là chia biên độ của tín hiệu thành các khoảng đều hoặc không đều, mỗi khoảng là một bước lượng tử, biên độ tín hiệu ứng với đầu hoặc cuối mỗi bước lượng tử gọi là một mức lượng tử. Sau khi có các mức lượng tử thì biên độ của các xung mẫu được làm tròn đến mức gần nhất.
• Có hai loại lượng tử hoá biên độ: lượng tử hoá đều và lượng tử hoá không đều
Lượng tử hoá đều
Biên độ tín hiệu được chia thành những khoảng đều nhau, sau đó lấy tròn các xung mẫu đến mức lượng tử gần nhất.
• Quá trình lượng tử hoá đều thể hiện như hình 1.5.
Bước lượng tử đều bằng ∆.như vậy,biên độ của tần số gồm 7 bước lượng tử và 8 mức (đánh số từ -3 ÷ +3 ).mối quan hệ giữa mức lượng tử như nhau:
Tổng số mức lượng tử = tổng số bước lượng tử +1
Do phải lấy tròn đến mức lượng tử gần nhất,độ chênh lệch giữa biên độ xung lượng tử và giá trị tức thời của xung lấy mẫu sẽ gây ra nhiễu lượng tử Qd (xem hình 1.6 ).
Biên độ xung nhiễu lượng tử luôn thoả mãn điều kiện sau:
Công suất trung bình nhiễu lượng tử đều được xác định như sau:
Đối với tín hiệu mạnh tỷ số :
S/N = ( Tín hiệu/Nhiễu) sẽ lớn hơn tỷ số này của tín hiệu yếu. muốn san phẳng tỉ số này giữa tín hiệu mạnh và tín hiệu yếu phải sử dụng lượng tử hóa không đều.
Lượng tử hoá không đều.
Lượng tử hoá không đều dựa trên nguyên tắc: khi biên độ tín hiệu càng lớn thì bước lượng tử càng lớn (hình 1.7).
Trong thí dụ trên hình 1.7 biên độ của tín hiệu analog được chia thành 4 bước lượng tử, ký hiệu là Δ1, Δ2, Δ3, Δ4. Như vậy: Δ1 < Δ2 < Δ3 < Δ4 < ... Các đường thẳng song song với trục hoành (t) gọi là các mức lượng tử, được đánh số từ 0 tại gốc toạ độ.
Các xung lấy mẫu tại các chu kỳ n×Tm (trong đó n=0,1,2,...) được lấy tròn đến mức lượng tử gần nhất.
Muốn lượng tử hoá không đều có thể sử dụng một trong hai phương pháp: nén - dãn analog hoặc nén - dãn số.
II3:Mã Hóa
Nén - dãn analog
Quá trình nén - dãn analog được thực hiện bằng cách đặt bộ nén analog trước bộ mã hoá đều ở phía nhánh phát của thiết bị ghép kênh, trong miền tín hiệu thoại analog và đặt một bộ dãn analog trước bộ giải mã đều ở nhánh thu của thiết bị ghép kênh, cũng trong miền tín hiệu thoại analog.
Trong thiết bị ghép kênh số chế tạo theo tiêu chuẩn Châu Âu sử dụng bộ nén - dãn theo luật A. Còn theo tiêu chuẩn Bắc Mỹ và Nhật sử dụng bộ nén theo luật μ.
Đặc tuyến của bộ nén luật A (sự phụ thuộc điện áp đầu vào và đầu ra bộ nén) biểu thị bằng biểu thức
Trong đó x= UV/U0 với Uv là biên độ điện áp đầu vào bộ nén, cònU0 là điện áp vào bão hoà.
Theo khuyến nghị của ITU-T lấy A = 87,6. Đặc tuyến của bộ nén luật μ biểu thị bằng biểu thức
Theo khuyến nghị của ITU-T lấy μ = 255.
Từ các biểu thức trên có thể xây dựng được các đường cong thể hiện đặc tuyến bộ nén Avà μ. Đặc tuyến bộ nén phải đối xứng với đặc tuyến bộ dãn để không gây méo khi khôi phục tín hiệu. Muốn đạt được tỷ số S/N khoảng 25dB thì số lượng mức lượng tử đều phải bằng 2048. Như vậy mỗi từ mã cần 11bit (không kể bit dấu). Vì 211 = 2048 là số mức lượng tử của biên độ dương hoặc âm của tín hiệu thoại. Sau khi nén, tín hiệu thoại chỉ còn 128 mức. Nếu kể cả bit dấu chỉ cần từ mã 8 bit. Đó là lý do tại sao phải thực hiện nén tín hiệu.
• Nén - dãn số.
Bộ nén số được đặt trong miền tín hiệu số của nhánh phát và bộ dãn số được đặt trong miền tín hiệu số của nhánh thu của thiết bị ghép kênh. Đặc tuyến bộ nén và bộ dãn số dựa trên cơ sở của bộ nén và bộ dãn analog. Bằng cách gần đúng hoá đường cong đặc tuyến bộ nén – dãn analog theo luật A và μ thành các đoạn thẳng gấp khúc.
Đặc tuyến của bộ nén số luật A có tất cả 13 đoạn thẳng có độ dốc khác nhau và lấy tên là bộ nén số A = 87,6/13 được thể hiện trong hình 1.9.
Các đoạn thẳng có độ dốc khác nhau, do vậy trong cùng một đoạn tín hiệu không bị nén. Khi chuyển từ đoạn này sang đoạn khác thì tín hiệu bị nén và khi biên độ càng lớn sẽ bị nén càng nhiều.
• Để xây dựng đặc tính biên độ của bộ nén số cần tiến hành các bước sau đây: Trục x đặc trưng cho biên độ chuẩn hoá của tín hiệu đầu vào bộ nén (-1 ≤ x ≤ 1 tươngứng với 4096 bước lượng tử đều) và trục y đặc trưng cho tín hiệu ở đầu ra.
• Trên trục x chia theo khắc độ logarit cơ số 2, ở nửa dương đầu gồm các điểm 0. 1/128, 1/64, 1/32,1/16,1/8,1/4,1/2 và 1. Còn nửa âm được chia ngược lại.
• Trên trục y chia thành các khoảng đều nhau và nửa dương gồm các điểm 0, 1/8, 2/8, 3/8, 4/8, 5/8, 6/8, 7/8 và 1. Còn nửa âm được chia ngược lại.
• Tiếp đó đánh dấu các điểm đặc biệt A, B, C, D, E, F, G và H, trong nửa dương của đường đặc tính, trong đó điểm H là điểm cắt nhau của đoạn thẳng vuông góc với trục x tại điểm có x= 1 và đoạn thẳng vuông góc với trục y tại điểm có y= 1. Điểm G là điểm cắt nhau của đoạn thẳng vuông góc với trục x tại điểm có x=1/2 và đoạn thẳng vuông góc với trục y tại điểm có y=7/8, .... Điểm A là điểm cắt nhau của đoạn thẳng vuông góc với trục x tại điểm có x=1/128 và đoạn thẳng vuông góc với trục y tại điểm có y=1/8. Nối hai điểm kề nhau bằng một đoạn thẳng. Như vậy ở nửa dương của đường đặc tính biên độ có tất cả 8 đoạn thẳng, mỗi đoạn được đặc trưng bằng tù mã 3 bit. Trong mỗi đoạn được chia thành 16 mức, mỗi mức phân phối từ mã 4 bit. Nửa âm của đường đặc tính biên độ được lấy đối xứng với nửa dương qua gốc toạ độ O. Do 4 đoạn gần gốc toạ độ 0 có độ dốc như nhau (trong đó nửa dương có hai đoạn OA và OB). Như vậy toàn bộ đường đặc tính biên độ có 13 đoạn thẳng có độ dốc khác nhau.
• Nửa âm và nửa dương của đường đặc tính biên độ được phân phối từ mã 1 bít. Bít 0 tương ứng với nửa âm của đường đặc tính biên độ và bít 1 tương ứng với nửa dương của đường đặc tính biên độ.
• Tóm lại, khi chưa nén thì tín hiệu thoại được chia thành 4096 mức, sau khi dùng bộ nén A=87,6/13 thì chỉ còn lại 256 mức (tức là số bít trong một từ mã đã giảm từ 12 xuống 8).
II.4: Giải Mã
Tại phía thu, tín hiệu số PCM được chuyển đổi thành tín hiệu analog qua hai bước là: giải mã và lọc. Tổng hợp hai quá trình xử lý này gọi là quá trình chuyển đổi D/A và được biểu diễn như hình 1.10.
• Giải mã là quá trình ngược lại với mã hoá. Trong giải mã, bắt đầu bằng việc tách các mã nhị phân 8 bit từ tín hiệu PCM (trong hình 1.10 tượng trưng từ mã 3 bit).
• Tiếp theo, chuyển mỗi từ mã nhị phân thành một xung lượng tử có biên độ tương ứng với số mức lượng tử của từ mã đó. Hình 1.11 minh hoạ giải mã các từ mã 3 bít. Tín hiệu xung đã được lượng tử hoá ở đầu phát được tạo lại ở đầu thu bằng cách giải mã như vậy. Tín hiệu xung sau khi giải mã có biên độ chênh lệch với biên độ xung mẫu tại phía phát. Hiện tượng này gọi là méo lượng tử và phát sinh do làm tròn biên độ khi lượng tử hoá.
• Sau đó, tín hiệu xung lượng tử được đưa qua bộ lọc thông thấp. Đầu ra bộ lọc này nhận được tín hiệu analog là tín hiệu liên tục theo thời gian nhờ nội suy giữa các mẫu kế tiếp nhau như hình 1.12.
III: MỘT SỐ PHƯƠNG PHÁP MÃ HÓA MỚI
• PCM đã tồn tại trong 1/4 thập kỷ và các công nghệ mới đã bắt đầu thu hút sự chú ý. Trong thập kỷ cuối, mã hoá thoại tinh vi đã trở lên hiện thực nhờ sự phát triển của VLSI (mạch tích hợp rất lớn). PCM tại 64 Kb/s không còn là công nghệ duy nhất nữa. Việc mã hoá 32 và 16 kbit/s đã được phát triển, và các phương pháp “vocoder” cũng được phát triển mà chỉ yêu cầu 4.8 Kb/s và ít hơn. Chúng ta có thể bằng mọi cách để đạt tới 800bit/s mà vẫn nghe hiểu được, nhưng tại tốc độ bit này không có khả năng nhận dạng được lời nói của người nói.
• Các phương pháp mã hoá mới đã gợi ra rất nhiều lợi ích, vì chúng cho phép các nhà khai thác tăng gấp 2 hay 4 lần dung lượng để truyền dẫn thoại trong mạng của họ mà không cần phải lắp đặt thiết bị truyền dẫn mới. Một trong những phương pháp có thể dùng là điều chế xung mã vi sai thích ứng, ADPCM. ADPCM cho phép truyền thoại với chất lượng giảm tối thiểu tại 32Kbit/s. Khuyến nghị của ITU về ADPCM được gọi là G.726.
PCM vi sai (DPCM)
Tín hiệu đã được lấy mẫu cho thấy mức độ tương quan cao giữa các mẫu kế cận. Hay nói cách khác, hai mẫu gần nhau là khá tương tự như nhau. Nghĩa là sẽ có nhiều lợi ích nếu mã hoá sự khác nhau giữa các mẫu kế cận thay cho mã hoá giá trị tuyệt đối của mỗi mẫu. Trên hình 1.13 cho thấy 4 bit có thể được sử dụng thay cho 8 bit. Đây là ý tưởng ẩn trong PCM vi sai (DPCM), ở đây độ chính xác vẫn được giữ lại mặc dù không cần băng tần rộng. DPCM đầu tiên dựa trên bản quyền từ 1952.
PCM vi sai có nhược điểm là nếu tín hiệu đầu vào tương tự mà thay đổi quá lớn giữa các mẫu, thì nó không thể được biểu diễn bằng 4 bit mà sẽ bị cắt.
DPCM thích ứng (ADPCM)
PCM vi sai thích ứng (ADPCM) đã tổ hợp phương pháp DPCM và PCM thích ứng. ADPCM có nghĩa là các mức lượng tử hoá được thích ứng với dạng của tín hiệu đầu vào. Kích cỡ của các bước lượng tử tăng lên khi có liên tiếp dốc đứng trong tín hiệu kéo đủ dài. Trong hình 1.14, số mẫu là 6 có thể được mô tả bằng 5 bước lượng tử lớn thay cho 10 mẫu nhỏ. Phương pháp này có tên từ khả năng thích ứng ấy, tức là nó tạo ra khả năng giảm các bước lượng tử.
Trong mã hoá ADPCM, sau khi tín hiệu vào tương tự đã đi qua mã hoá PCM thông thường, thì luồng các mẫu 8 bit được gửi tiếp tới bộ mã hoá ADPCM. Trong bộ mã hoá này, một thuật toán chỉ với 15 mức lượng tử được sử dụng để giảm độ dài từ 8 bit xuống 4 bit. 4 bit này không biểu diễn biên độ của mẫu nữa, nhưng nhờ có mã hoá vi sai mà 4 bit vẫn chứa đủ thông tin để cho phép tín hiệu gốc sẽ được tái tạo ở bộ thu.
Mức của một mẫu được dự đoán dựa trên mức của mẫu đứng trước. Sự khác nhau giữa mẫu dự đoán và thực tế là rất nhỏ và vì vậy có thể mã hoá bằng 4 bit. Nếu có vài mẫu tiếp theo thay đổi lớn, thì các bước lượng tử được thích ứng như mô tả ở trên.
IV: Mô Phỏng Phương Pháp Điều Chế Xung Mã PCM bằng MATLAB.
1.Giới Thiệu Cơ Bản Về MATLAB.
Matlab là một phần mềm toán học của hãng Mathworks để tính toán trên các số và có tính trực quan rất cao.Là một môi trường mạnh dành cho các tính toán khoa học
Matlab là viết tắt của Matrix Laboratory. là một phần mềm khoa học được thiết kế để cung cấp việc tính toán số và hiển thị đồ họa bằng ngôn ngữ lập trình cấp cao. MATLAB cung cấp các tính năng tương tác tuyệt vời cho phép người sử dụng thao tác dữ liệu linh hoạt dưới dạng mảng ma trận để tính toán và quan sát. Các dữ liệu vào của MATLAB có thể được nhập từ "Command line" hoặc từ "mfiles", trong đó tập lệnh được cho trước bởi MATLAB
Hiện nay, Matlab có đến hàng ngàn lệnh và hàm tiện ích. Ngoài các hàm cài sẵn trong chính ngôn ngữ, Matlab còn có các lệnh và hàm ứng dụng chuyên biệt trong các Toolbox, để mở rộng môi trường Matlab nhằm giải quyết các bài toán thuộc các phạm trù riêng. Các Toolbox khá quan trọng và tiện ích cho người dùng như toán sơ cấp, xử lý tín hiệu số, xử lý ảnh, xử lý âm thanh, ma trận thưa, logic mờ,…
Người dùng cũng có thể tạo nên các hàm phục vụ cho chuyên môn của mình, lưu vào tệp M-file để dùng về sau.
Matlab còn có giao diện đồ họa khá đẹp mắt và dể sử dụng. Người dùng có thể tính toán và tạo nên các hình ảnh đồ họa 2, 3 chiều cho trình ứng dụng của
mình. Với các hình ảnh, nếu không chỉ định vè canh trục, phối màu thì Matlab
thực hiện tự động một cách khá phù hợp.
Vì tính mạnh mẽ để trợ giúp giải nhanh các bài toán kỹ thuật, chúng tôi cố gắng biên soạn tài liệu này để phục vụ một ít kiến thức cơ bản cho bạn đọc. Tuy nhiên, trên cơ sở đó bạn đọc có thể tự khai thác thêm các thành phần dùng riêng cho minh trong các Toolbox và Simulink.
2.Mô Phỏng PCM Bằng MATLAB.
2.1:Lượng Tử Hóa Tín Hiệu.
Lượng tử hóa là quá trình rời rạc hóa tín hiệu về biên độ,cụ thể là thay thế tất cả các giá trị của tín hiệu nằm trong một khoảng xác định nào đó thành một giá trị duy nhất.Miền giá trị của tín hiệu được chia thành một số hữu hạn các khoảng chia.Như vậy độ lớn của tín hiệu sau khi lượng tử chỉ có thể nhận một trong số hữu hạn các giá trị cho trước.
Tập hợp các khoảng chia gọi là sự phân hoạch của tín hiệu(partition).Tập các giá trị thay thế cho mỗi khoảng chia gọi là bộ mã (codebook).
Matlab biểu diễn phân hoạch của tín hiệu bằng một vector mà các phần tử của nó là các điểm ranh giới giữa hai khoảng chia liên tiếp.Ví dụ nếu như tín hiệu có miền xách định R được phân hoạch thành các khoảng (-∞,0],(0,2],(2,4],(4,+∞].thì có thể biểu diễn sự phân hoạch này thành vector:
>> partition = [0,2,4];
Tươ ngứng vớ i vector phân hoạch tín hiệu là vector biểu diễn bộmã tín hiệu. Các phần tử của nó là các giá tr ị thay thế trong mỗi khoảng chia tương ứng của phân hoạch. Nếu ta thay thế các giá tr ịtrong khoảng (-∞, 0] bằng -1, các giá tr ịtrong khoảng (0,2] bằng 1, các giá tr ị trong khoảng (2,4] bằng 3 và các giá tr ị trong khoảng (4, +∞] bằng 5 thì vector biểu diễn bộ mã sẽ là:
>> codebook = [-1,1,3,5];
Để thực hiện quá trình lượ ng tửhoá, MATLAB cung cấ p hàm quantiz:
>> [indx, quant, distor] = quantiz(sig, partition, codebook)
Trongđó sig là tín hiệu tr ướ c khi lượng tử và partition,codebook lần lượt là phân hoạch và bộ mã lượng tử.
Hàm quantiz trảvề:
+ Tín hiệu saukhi lượ ng tửhoá quant
+vector indx có chiều dài bằng chiều dài tín hiệu, mỗi phần tửcủa nó là chỉ sốcủa giá tr ị tương ứng của tín hiệu trong bộ mã lượng tử. Nói cách khác, vector indx cho biết mỗi phần tử của tín hiệu vào nằm trong khoảng chia nào. Giữa các vector indx, quant và codebook có mối liên hệ:
quant = codebook(indx+1);
+ Nhiễu lượng tử do phép lượng tử hoá này gây ra.( Nhiễu lượng tử là sai số bình phương trung bình giữa tín hiệu gốc và tín hiệu sau khi lượng tử).
Ví dụ:
>> parti=[0,2,4];
>> codebook=[-1,1,3,5];
>> samp=[-3,-1,1,1,5,3,5,4,2,1]
>> [index,quantized]=quantiz(samp,parti,codebook);
>> index’ cho biet thu tu muc luong tu
ans =
0 0 1 1 3 2 3 2 1 1
>> quantized
quantized =
-1 -1 1 1 5 3 5 3 1 1
Trong các hệ thống thông tin số người ta thường phân hoạch miền giá trị của tín hiệu thành q khoảng bằng nhau với q=2v. Các giá trị thay thế chính là điểm giữa của mỗi khoảng chia.Mỗi giá trị lượng tử này lại được biểu diễn bằng một mã từ nhị phân có chiều dài v bit.
Xét Ví Dụ:
Bằng phương pháp điều chế PCM.thực hiện lượng tử hóa cho tín hiệu x(t)=sint,với mức lượng tử là 12,độ dài các khoảng chia bằng nhau,Vẽ tín hiệu trước và sau lượng tử.
Tín hiệu x(t)=sint có miền giá trị là [-1.1] nên ta chia thành các khoảng chia có độ dài 0.2.
t = [0:.1:2*pi]; % Các thờiđiểm lấy mẫu tín hiệu
sinesig = sin(t); % Tín hiệu sine chưa lượng tử
partition = [-1:.2:1]; % Phân hoạch thành 12 khoảng chia
codebook = [-1.2:.2:1]; % Bộ mã lượng tử gồm 12 mức
[index,quants] = quantiz(sig,partition,codebook); % Lượng t
hoá.
plot(t,sig,'x',t,quants,'.')
legend(‘Tin hieu goc','Tin hieu sau khi luong tu hoa');
axis([-.2 7 -1.21.2])
Kết quả thu được minh họa trong hình dưới:
Hình 1
2.2:Tối ưu hóa các thông số của quá trình lượng tử.
Quá trình lượng tử làm phát sinh sai số giữa tín hiệu lượng tử với tín hiệu thực.Sai số này được gọi là nhiễu lượng tử .Ta có thế đánh giá nhiễu lượng tử bằng hàm quantiz đã đề cập ở phần trước đó.Vấn đề đặt ra ở đây là làm thế nào tối thiểu hóa loại nhiễu này.Nhiễu lượng tử phụ thuộc vào cách phân hoạch và tập các giá trị lượng tử được chọn.Nếu số khoảng chia càng nhiều thì nhiễu lượng tử càng nhỏ.Tuy nhiên giải pháp này không phải lúc nào cũng thực hiện được do những hạn chế khách quan trong hệ thống.Một phương pháp đơn giản hơn để tối thiểu hóa nhiễu lượng tử ở mức chấp nhận được mà không cần phân hoạch tín hiệu thành quá nhiều khoảng đó là phương pháp tối ưu hóa theo quy luật Lloyd.Giải thuật này dựa trên nguyên tắc huấn luyện,nghĩa là các thông số của quá trình lượng tử sẽ được chọn và cập nhật một cách thích nghi với từng loại tín hiệu đưa vào lượng tử.
Qúa trình tối ưu hóa trên được thực hiện bằng hàm lloyd của MATLAB communications Toolbox.
>> [partition, codebook] = lloyds(training_set, ini_codebook, tol)
hoặc:
>> [partition, codebook, distortion, rel_distortion] = lloyds(...)
training_set là tập dữ liệu dùng để huấn luyện.Đó là một tín hiệu tiêu biểu của nguồn tin tức mà ta cần lượng tửhoá;
ini_codebook là bộ mã khởi đầu do ta chọn;
tol là sai số cho phép của quá trình huấn luyện (giá tr ị mặc định nếu không nhập thông số này là 10-7.Các kết quả xuất ra gồm phân hoạch và bộ mã đã tối ưu hoá (partition và codebook ),nhiễu lượng tử tuyệt đối (distortion) va tương đối (rel-distortion) của quá trình lượng tử.
Ví dụ sau đây minh họa sự tối ưu hóa của các thông số của quá trình lượng tử dùng hàm lloyd trong MATLAB.Nhiễu lượng tử phát sinh từ hai quá trình lượng tử hóa chưa tối ưu và đã tối ưu sẽ được so sánh với nhau.
Xét ví dụ
Thực hiện lại quá trình lượng tử hóa tín hiệu x(t)=sint.với các thông số lượng tử đã được tối ưu hóa.So sánh nhiễu lượng tử trước và sau tối ưu hóa.
% Bắtđầu với các thông sốlượng tử như ở ví dụ 14-2
t = [0:.1:2*pi];
sig = sin(t);
partition = [-1:.2:1];
codebook = [-1.2:.2:1];
% Thực hiện tối ưu hoá với bộ mã khởiđầu là codebook.
[partition2,codebook2] = lloyds(sig,codebook);
[index,quants,distor] = quantiz(sig,partition,codebook);
[index2,quant2,distor2] = quantiz(sig,partition2,codebook2);
%So sánh nhiễu lượng tửtrước và sau khi tốưu hoá
[distor, distor2]
Kết quả xuất ra cửa sổ lệnh của MATLAB:
ans =
0.0148 0.0024
Sau khi tối ưu hóa nhiễu lượng tử giảm đi là: 0.0148/0.0024= 6.2 lần.
2.3:Nén và dãn tín hiệu
Trong các ứng dụng xử lý tín hiệu thoại (speech processing), trướ c khi lượng tử hoá,người tathường thực hiện nén (compress) tín hiệu theo hàm logarithm, mục đích là để tín hiệu ở mức biên độ nhỏ sẽ thay đổi nhiều mức hơn so với ở các giá tr ị biên độ lớn. do đó sai số lượng tử tương đối ở các mức biên độ nhỏ và lớn sẽ không chênh lệch nhau nhiều như đối với trường hợp không nén.
Để khôi phục lại đúng tín hiệu ban đầu thì sau khi giải mã, ta phải đưa qua một bộ giãn tín hiệu (expander) có đặc tuyến truyền đạt là nghịch đảo của đặc tuyến của bộ nén (compressor).Sự kết hợp của bộ nén và bộ giãn tín hiệu gọi chung là bộ nén giãn tín hiệu (compander).
Hai luật nén giãn thường được sử dụng trong xử lý tín hiệu thoại là luật μ dùng ở Bắc Mỹ và luật A dùng ở châu Âu:
MATLAB cung cấp hàm Compand để thực hiện nén giãn dữ liệu.Hàm này hỗ trợ hai luật nén giãn A và μ nói trên.
>> out = compand(in, param, v, method)
In là tín hiệu vào còn out là tín hiệu ra
V là biên độ đỉnh của tín hiệu vào
Param là thông số của luật nén giãn
Method cò thể nhận một trong các giá trị sau:
Ví dụ .Thực hiện quá trình lượng tử hoá tín hiệu hàm mũ theo hai phương pháp:lượng tử hoá đều và l ượng tử hoá có nén giãn theo luật μ . So sánh sai số bình phươ ng trung bình của hai phươ ng pháp.
Với phương pháp đầu tiên ta sử dụng tr ực tiếp hàm quantiz đối với tín hiệu lũy thừa. Tín hiệu được phân hoạch thành các khoảngđều nhau có chiều dài bằng 1.
Với phương pháp thứ hai , đầu tiên ta sử dụng hàm compand để nén tín hiệu theo luật μ, sau đó dùng hàm quantiz để lượng tử hoá tín hiệu thu đượ c và cuối cùng lại dùng hàm compand để phục hồi tín hiệu ban đầu.
Kết quả xuất ra gồm hai sai số bình phương trung bình của hai phương pháp và đồ thị biểu diễn tín hiệu gốc và tín hiệu đã được nén .Có thể thấy rằng sai số lượng tử ở phương pháp thứ hai nhỏ hơn so với ở phương pháp thứ nhất.
Mu = 255; % Thông sốcho bộnén giãn theo luật μ
sig = -4:.1:4;
sig = exp(sig); % Tín hiệu hàm mũcần lượng tử
V = max(sig);
% 1. Lượng tửhoáđều (không néngiãn) .
[index,quants,distor] = quantiz(sig,0:floor(V),0:ceil(V));
% 2. Sửdụng cùng phânhoạch và bộmã lượng tửnhưng có nén trước khi lượngtử
% hoá và giải nén sauđó
compsig = compand(sig,Mu,V,'mu/compressor');
[index,quants] =quantiz(compsig,0:floor(V),0:ceil(V));
newsig =compand(quants,Mu,max(quants),'mu/expander');
distor2 = sum((newsigsig).^2)/length(sig);
[distor, distor2] % Hiển thịsai sốlượng tửủa hai phươngpháp.
plot(sig); % Vẽtín hiệu gốc .
hold on;
plot(compsig,'r--'); % Vẽtín hiệuđã nén giãn.
legend('Tin hieu goc','Tin hieu nen gian','Location','NorthWest')
Sai số lượ ng tử:
ans =
0.5348 0.0397
Đồ thị dạng tín hiệu:
BẢNG ĐÁNH GIÁ CÁC THÀNH VIÊN TRONG NHÓM
I: Danh sách các thành viên nhóm 5.
1: Nguyễn Quốc Quân Nhóm Trưởng
2: Nguyễn Văn Hùng
3: Nguyễn Văn Khoái
4: Hoàng Văn Lâm
5: Nguyễn Văn Tiến Lâm
II: Nội dung đóng góp của các thành viên trong nhóm.
Phần 1: Các Phương Pháp Mã Hóa và Điều Chế.
Nguyễn Quốc Quân với Nguyễn Văn Hùng
Phần 2: Điều Chế Xung Mã PCM
Cả Nhóm
Phần 3: Giới Thiệu Một Số Phương Pháp Mới
Cả Nhóm
Phần 4: Mô Phỏng PCM Trong MathLab
Cả nhóm
Chịu trách nhiêm tổng hợp và Thiết kế nội dung
Nhóm Trưởng và Nguyễn Văn Hùng
III: Đánh Gía Của Trưởng Nhóm
Qua quá trình làm việc thì em thấy các thành viên trong nhóm cũng đã nhiệt tình và tất cả các thành viên cũng đã nỗ lực hết mình vì công việc của cà nhóm. Nhưng đôi lúc cũng vẫn còn tình trạng dựa dẫm ỉ nại vào các thành viên khác trong nhóm, nhưng các bạn cũng đã rất hăng hái và nhiệt tình làm việc khi được nhóm trưởng triệu tập và giao nhiệm vụ. Mỗi thành viên cũng đã hoàn thành tốt nhiêm vụ của mình khi trưởng nhóm giao và khoán công việc cho mỗi thành viên. Chính vì vậy mà em xin được đánh giá các thành viên như sau. Theo sự đánh giá của em thì chỉ mang tính cá nhân, tức là sự nhận xét các thành viên là hoàn toàn nằm trong sự nhìn nhận của cá nhân em. Chưa phải là của cả nhóm, vậy mong thầy chỉ lấy bài đánh giá của em để tham khảo thôi ạ. Dưới đây là bảng nhận xét và đánh giá của em.
Hà nội ngày 15 tháng 11 năm 2012
Tên Thành Viên
Mức Độ Hoàn Thành Công Việc Được Giao
Thái Độ Làm Việc
Điểm
Nguyễn Quốc Quân
10/10
10/10
10/10
Nguyễn Văn Hùng
10/10
10/10
10/10
Nguyễn Văn Khoái
10/10
10/10
10/10
Hoàng Văn Lâm
10/10
10/10
10/10
Nguyễn Văn Tiến Lâm
9/10
10/10
9,5/10
VI: Tài Liệu Tham Khảo
[1].Giáo trình Matlab và ứng dụng trong viễn thông-TS.Phạm Hồng Liên
[2].Thực Hành Xử Lý Số Tín Hiệu Với Matlab-TS.Hồ Văn Sung.
[3].Luận Văn Tốt Nghiệp Khảo Sát Tín Hiệu Điều Chế Bằng Matlab-DDHQGTP.HCM
[4].Webside:
Các file đính kèm theo tài liệu này:
- v2_0_bao_cao_dieu_che_pcm_nhom_10_chu_de_5_quan__1112.docx