Hệ thống truyền số
có thể truyền tín hiệu có nguồn gốc là tín hiệu số hoặc tương tự sau khi đã được số hóa. - Tín hiệu tương tự (tiếng nói) sau khi được lấy mẫu bằng phương pháp PAM có thể được đưa lên đường truyền để phát đi, nhưng một hệ thống truyền ...
có thể truyền tín hiệu có nguồn gốc là tín hiệu số hoặc tương tự sau khi đã được số hóa.
- Tín hiệu tương tự (tiếng nói) sau khi được lấy mẫu bằng phương pháp PAM có thể được đưa lên đường truyền để phát đi, nhưng một hệ thống truyền tín hiệu xung như vậy chưa phải là hệ thống truyền số vì tín hiệu ở ngã ra thiết bị phát là những xung có biên độ khác nhau. Để truyền được trên hệ thống truyền số, các xung PAM này phải được số hóa trước khi được đưa ra đường truyền.
- Đường dây cáp truyền trực tiếp các mã nhị phân của hệ thống Bell có tên là T-carriers.
- Riêng tín hiệu số từ các DTE muốn truyền trên T-carriers phải qua Modem để biến thành tín hiệu tương tự nằm trong dải tần âm thanh rồi lại được số hóa (dĩ nhiên có dạng khác với trước).
- Trong trường hợp muốn truyền các tín hiệu số nói trên với khoảng cách xa, người ta có thể thực hiện đa hợp nhiều kênh rồi dùng phương pháp PSK để điều chế sóng mang siêu cao tần để đưa lên đường truyền vi ba.
(H 9.1) là sơ đồ một hệ thống truyền số như mô tả ở trên
Điều chế PSK | (vi ba) | Giải đc PSK | ||||||
| | |||||||
DTE | → Modem | → | Biến đổi | T-carriers→ | Biến đổi | → | Modem → | DTE |
Điện thoại | (t.t.)→ | ADC | (số) | DAC | (t.t.)→ | Điện thoại |
Hệ thống phát Hệ thống thu
(H 9.1)
PCM là một phương pháp biến đổi tín hiệu tương tự sang tín hiệu số thịnh hành nhất. Tín hiệu tương tự được giữ và lấy mẫu tại các thời điểm xác định (điều chế PAM) trước khi đưa vào mạch biến đổi tương tự - số (ADC) để biến đổi sang một số nhị phân có giá trị tương ứng với biên độ của tín hiệu tương tự tại thời điểm lấy mẫu.
Trước nhất cần nhắc lại một số tính chất của PAM:
- Tần số xung lấy mẫu fs ít nhất phải bằng hai lần tần số cao nhất của tín hiệu tương tự fm. Đây là điều kiện cần thiết để có thể phục hồi tín hiệu tương tự một cách chính xác ở máy thu. (H 9.2b) cho thấy trường hợp fs ≤ 2fm. đưa đến sự biến dạng tín hiệu tương tự, tín hiệu được tái tạo không có dạng của tín hiệu nguồn nữa. Đây là biến dạng aliasing.
- Băng thông nhỏ nhất của kênh truyền PAM xấp xĩ tần số fs nên:
BW ≈ 2fm.
(a) (b)
(H 9.2)
Tín hiệu PCM
(H 9.3) cho thấy vị trí mạch biến đổi ADC (mã hóa PCM) và DAC (giải mã PCM) trong hệ thống truyền số.
(H 9.3)
(H 9.4) là một ví dụ về dạng sóng của tín hiệu số dùng số nhị phân 5 bit để mã hóa một tín hiệu tương tự.
(H 9.4)
Trong (H 9.4) tín hiệu tương tự ở ngã vào biến đổi trong khoảng từ 0 đến 7,75V. Số bit dùng mã hóa là n = 5 nên số mức mã hóa tương ứng là 2n - 1 = 31. Như vậy một mức trong mã hóa tương ứng với 7,75/31 = 0,25 V.
Với xung lấy mẫu có chu kỳ Ts ta được các mẫu xung có biên độ lần lượt là: 2,25V, 4,25V và 6,0V. Các số nhị phân tương ứng với các mẫu xung này là: 01001, 10001, 11000.
Các số nhị phân này được biểu diễn bởi các mã b4 b3 b2 b1 b0 (b0 là LSB). Dĩ nhiên ở ngã ra là các mã nhị phân song song, các mã này có thể qua bộ biến đổi song song nối tiếp để truyền đi theo cách truyền nối tiếp.
Băng thông của kênh truyền PCM
Trong PCM băng thông của kênh truyền tùy thuộc vào số bit n của tín hiệu số dùng mã hóa các xung PAM của tín hiệu tương tự.
Nếu fs là tốc độ lấy mẫu, vận tốc truyền tín hiệu br ít nhất phải bằng n lần của fs:
Tốc độ bit br≥nfs=2nfm size 12{ ital "br" >= ital "nf" rSub { size 8{s} } =2 ital "nf" rSub { size 8{m} } } {} (bps)
Thời gian cho một bit T=1br=12nfm size 12{T= { {1} over { ital "br"} } = { {1} over {2 ital "nf" rSub { size 8{m} } } } } {}
Tần số của tín hiệu lớn nhất khi có dạng sóng vuông 101010......Trong trường hợp này mỗi chu kỳ của tín hiệu nhận được hai bit nên tần số cơ bản lớn nhất của sóng vuông biểu diễn số nhị phân bằng phân nửa tốc độ bit : fmax=1/2T = br/2
Vậy băng thông nhỏ nhất để thỏa đường truyền này là:
BW = br/2 = nfm
Thí dụ: Xác định tần số xung lấy mẫu nhỏ nhất fs và băng thông tối thiểu BW để truyền tín hiệu tương tự có tần số 12 kHz bằng cách dùng số nhị phân 9 bit.
(fs )min = 2fm = 24 kHz
Tốc độ bit br = 2nfm = 2.9.12 = 216 kbps
Băng thông nhỏ nhất (BW)min = br/2 = 216/2 = 108 kHz
Qua thí dụ ta thấy để truyền tín hiệu tương tự 12 kHz băng thông cần là 108 kHz, khá lớn so với tần số tín hiệu cần truyền. Đây là một khuyết điểm cần được khắc phục của phương pháp PCM.
Sai số (nhiễu) lượng tử (Quantizing error, noise)
Phần trên cho thấy dùng một số n bít để mã hóa tín hiệu tương tự thì được 2n mẫu biên độ của tín hiệu (nhưng chỉ có 2n -1 mức), khi n lớn thì số mẫu càng nhiều, khoảng cách 2 mức liên tiếp nhỏ lại. Tuy nhiên ta không thể nào chọn n = ∞ để khoảng cách này triệt tiêu, thậm chí cũng không được chọn n quá lớn để giảm khoảng cách mức vì sẽ đưa tới băng thông của kênh truyền rất lớn, làm giảm số kênh truyền và ảnh hưởng rất nhiều đến những đặc tính khác của hệ thống mà hậu quả là giá thành sẽ lên rất cao.
Nói cách khác n phải có giới hạn và sai số trong việc mã hóa là không thể tránh khỏi, ta gọi sai số này là sai số lượng tử, nếu gọi e là khoảng cách mức (hay khoảng cách lấy mẫu) thì sai số lượng tử lớn nhất là ± e/2.
Có thể nói hệ thống PCM có tính miễn nhiễu rất tốt nhưng nhiễu lượng tử thì đương nhiên hiện hữu nên khi nghiên cứu các hệ thống này ta không thể bỏ qua tác dụng của nó.
Do tín hiệu tương tự trong nhiều trường hợp là loại lưỡng cực nên khi thực hiện mã hóa người ta dùng các số nhị phân với bit MSB là bit dấu
(H 9.5.a) cho thấy sự tương quan giữa điện áp lấy mẫu va và mã nhị phân n bit tương ứng, giả sử va giới hạn trong khoảng -Vm đến +Vm . Gọi Vp là điện áp đỉnh-đỉnh: Vp=2Vm
(H 9.5.b) là một ví dụ cụ thể với Vm = 5,1 V và n = 8
Khoảng cách 2 mức điện áp là : e=Vp2g−1=10,2255=0,04V size 12{e= { {V rSub { size 8{p} } } over {2 rSup { size 8{g} } - 1} } = { {"10",2} over {"255"} } =0,"04"V} {}
Sai số lượng tử tương ứng là ± e/2 = ± 0,02 V
(H 9.5)
Lưu ý là trị 0 của tín hiệu nhận 2 mã có dấu + (80) và - (00), nhưng khoảng cách mức vẫn không đổi (0,04V).
a-/ Sai số tương đối trong lượng tử hóa
Gọi q là sai số tương đối của tín hiệu trong lượng tử hóa :
q = e 2 ∣ v a ∣ = V m ( 2 n − 1 ) ∣ v a ∣ size 12{q= { {e} over {2 lline v rSub { size 8{a} } rline } } = { {V rSub { size 8{m} } } over { ( 2 rSup { size 8{n} } - 1 ) lline v rSub { size 8{a} } rline } } } {}
Với va là điện áp của tín hiệu tương tự cần lấy mẫu.
Tính q theo phần trăm %
%q =100Vm(2n−1)∣Va∣ size 12{ {}= { {"100"V rSub { size 8{m} } } over { ( 2 rSup { size 8{n} } - 1 ) lline V rSub { size 8{a} } rline } } } {}
Ta thấy phần trăm sai số tương đối tăng lên khi va nhỏ, điều này được minh họa ở (H 9.6)
(H 9.6)
b-/ Xác định n theo %q
Từ biểu thức trên, với một giá trị %q định trước người ta có thể chọn n tối thiểu cần thiết để thỏa mãn yêu cầu về sai số.
n = log ( 100 /% q ) ( V m / ∣ V a ∣ ) + 1 log 2 size 12{n= { {"log" left [ ( "100""/%"q ) ( V rSub { size 8{m} } / lline V rSub { size 8{a} } rline ) +1 right ]} over {"log"2} } } {}
n = 3,32 log(100/%q)(Vm / va) +1
Ví dụ Tính giá trị n cần thiết để %q ≤ 10% khi va = 5% trị cực đại Vm
n ≥ 3,32 log (100/10)(1/0,05) + 1 = 7,65
Ta chọn n = 8
Tỉ số tín hiệu nhiễu SNR
Tín hiệu trước khi lấy mẫu là tín hiệu tương tự, xác định bởi trị hiệu dụng (RMS), như vậy để xác định được tỉ số SNR trước nhất ta hãy tính trị hiệu dụng của sai số lượng tử (tức eRMS của nhiễu).
Xét trường hợp đơn giản tín hiệu tương tự là một đường thẳng, tín hiệu lấy mẫu (cũng là tín hiệu ra ở máy thu) có dạng nấc thang và do đó dạng sóng của thành phần sai số là tín hiệu răng cưa (H 9.7b)
(a) (H 9.7) (b)
Trong khoảng (-T/2,T/2) thành phần sai số lượng tử có dạng đường thẳng qua gốc tọa độ với độ dốc −VP(2n−1)T size 12{ - { {V rSub { size 8{P} } } over { ( 2 rSup { size 8{n} } - 1 ) T} } } {} nên phương trình của sai số là:
e ( t ) = − V P ( 2 n − 1 ) T t size 12{e ( t ) = - { {V rSub { size 8{P} } } over { ( 2 rSup { size 8{n} } - 1 ) T} } t} {}
và trị hiệu dụng của sai số là :
eRMS = 1T∫−T/2T/2−VP(2n−1)Tt2dt size 12{ sqrt { { {1} over {T} } Int cSub { size 8{ - T/2} } cSup { size 8{T/2} } { left [ - { {V rSub { size 8{P} } } over { ( 2 rSup { size 8{n} } - 1 ) T} } t right ]} } rSup { size 8{2} } ital "dt"} {}
eRMS = 112Vp2n−1 size 12{ { {1} over {"12"} } { {V rSub { size 8{p} } } over {2 rSup { size 8{n} } - 1} } } {}
Thí dụ : Nếu dùng số nhị phân n = 5 bít để mã hóa tín hiệu biên độ đỉnh-đỉnh là Vp = 5V. Xác định trị hiệu dụng của nhiễu eRMS và SNR trong hai trường hợp
va = 2,5V và va = 1V
- Với va = 2,5V
eRMS = 112VP2n−1=512125−1=0,0451V size 12{ { {1} over { sqrt {"12"} } } { {V rSub { size 8{P} } } over {2 rSup { size 8{n} } - 1} } = { {5} over {"12"} } { {1} over {2 rSup { size 8{5} } - 1} } =0,"0451"V} {}
SNR = 2,5/0,0451 = 55,4 = 34,3 dB
- Với va = 1V
ta được SNR = 22,17 hay 26,9 dB.
Như vậy, tỉ số SNR càng nhỏ khi giá trị của tín hiệu càng nhỏ.
Sự nén - giãn (Compressing & Expanding, vt Companding)
Việc mã hóa mà ta bàn ở trên dựa trên cơ sở quan hệ giữa điện áp và giá trị mã hóa là quan hệ đường thẳng trong đó sự gia tăng các mức là không đổi, ta gọi hình thức mã hóa này là PCM tuyến tính. Điểm bất lợi của phương pháp này là sai số như nhau với mọi điện áp tín hiệu nên kết quả là với các tín hiệu có biên độ nhỏ thì SNR cũng nhỏ, nói cách khác nhiễu lượng tử trở nên rất đáng kể khi tín hiệu có giá trị nhỏ.
Để khắc phục khuyết điểm này, người ta dùng phương pháp mã hóa theo đường cong, cụ thể là dạng logarit, ta gọi là PCM logarit, trong cách mã hóa này tín hiệu có giá trị (tuyệt đối) nhỏ được mã hóa với khoảng cách mức nhỏ hơn và tín hiệu có giá trị càng lớn được mã hóa với khoảng cách mức càng lớn hơn, đường cong mã hóa có độ dốc cao ở phần đầu và bị nén lại ở phần cuối. Đây là một quá trình nén ở máy phát và dĩ nhiên một quá trình ngược lại được thực hiện ở máy thu để phục hồi tín hiệu, gọi là quá trình giãn. Kết quả của sự nén này cho tỉ số SNR như nhau với mọi tín hiệu vào.
Có hai luật nén khác nhau áp dụng ở hai vùng lục địa :
- Luật μ-255 , sử dụng rộng rãi ở Bắc Mỹ, mối quan hệ điện áp vào Vin và mã (điện áp ra Vout) có dạng :
Vout = V max . log ( 1 + μV in / V max ) log ( 1 + μ ) size 12{ ital "Vout"= { {V rSub { size 8{"max"} } "." "log" ( 1+μV rSub { size 8{ ital "in"} } /V rSub { size 8{"max"} } ) } over {"log" ( 1+μ ) } } } {}
Trong đó μ = 2n - 1 ; với n = 8 ta được μ = 255.
(H 9.8.a) cho đường cong mã hóa theo luật μ-255 (vẽ theo trị chuẩn hóa của Vin và Vout)
(a) luật μ-255
(b) luật A-87,6
(H 9.8)
- Luật A-87,6 được sử dụng rộng rãi ở Âu châu, mối quan hệ giữa điện áp và mã có dạng :
- Khi Vin > 1/A Vout=1+logA∣Vin∣1+logA size 12{ ital "Vout"= { {1+"log"A lline V rSub { size 8{ ital "in"} } rline } over {1+"log"A} } } {}
- Khi 0<Vin < 1/A Vout=A∣Vin∣1+logA size 12{ ital "Vout"= { {A lline V rSub { size 8{ ital "in"} } rline } over {1+"log"A} } } {}
Với A = 87,6
Có một số điểm giống và khác nhau giữa hai luật nói trên mà ta cần lưu ý:
- Trong cả hai luật các bít đầu tiên của mã số đều là bít dấu và có 2 mã cho trị 0.
- Trong luật μ-255 , trừ bit dấu, các bit mã bị đảo trước khi đưa ra đường truyền, điều này đưa đến kết quả là trong từ mã chứa số bit 1 nhiều hơn (do biên độ tín hiệu nằm trong vùng giá trị thấp thường xảy ra hơn), thuận tiện cho việc tạo đồng bộ. Đặc tuyến truyền qua điểm gốc theo phương nằm ngang, điều này khiến cho hệ thống tránh được nhiễu kênh trống, tức nhiễu xuất hiện ngay khi không có tín hiệu.
- Trong luật A-87,6, 3 bit ngay sau bít dấu chỉ số của đoạn thẳng mà giá trị điện áp rơi vào (mức của điện áp), 4 bít cuối chỉ vị trí cụ thể của điện áp trên đoạn đó. Đặc tuyến truyền đi qua điểm gốc theo phương thẳng đứng, điều này đưa đến kết quả là có nhiễu kênh trống.
Lụât μ-255 trong thực tế
Trong thưc tế, việc mã hóa theo luật nén μ-255 được thực hiện như sau:
Đầu tiên, mỗi tín hiệu được lấy mẫu và mã hóa bởi số nhị phân 12 bit để có đươc độ phân giải cao. Thay vì truyền đi 12 bit này, người ta nén xuống còn 8 bit. Dĩ nhiên trong sự nén này không thể không tạo ra sai số và sai số càng ít đối với tín hiệu càng nhỏ thì yêu cầu xem như đã đạt được. Trong khi nén từ 12 xuống 8 bit thì bit dấu (MSB) không thay đổi, 11 bit còn lại được chia thành 8 đoạn, mỗi đoạn được biểu diễn bởi một số 3 bit (gọi là mã đoạn) và xác định bằng cách lấy 7 trừ cho số số 0 đầu tiên của mã 11 bit
Thí dụ: mã 12 bit là s00001101010
mã đoạn là 7 - 4 = 3 = 011
Bit 1 đầu tiên sau các bit 0 sẽ không được phát đi, 4 bit theo sau ngay bit 1 này được phát đi trọn vẹn và đó là các bit cuối cùng của mã 8 bit, tất cả các bit còn lại sẽ bị bỏ đi.
Ở máy thu khi nhận được mã 8 bit, việc đầu tiên là phục hồi lại mã 12 bit trước khi giải mã
Thí dụ: mã 8 bit nhận được là s011 1010
lấy 7 - 3 = 4, vậy sau bit dấu là 4 bit 0, tiếp theo là bit 1 và 4 bit nguyên mẫu
mã 12 bit sẽ là s0000 1 1010 xx
Trong trường hơp này máy thu không có thông tin nào về 2 bit cuối cùng (thay đổi từ 00 đến 11). Để bảo đảm sai số là nhỏ nhất, ở máy thu người ta thay thế 2 bit này bởi 2 bit 10, như vậy trong thí dụ trên mã 12 bit phục hồi ở máy thu sẽ là s00001101010. Nguyên tắc này cũng được sử dụng cho trường hợp số bit bị mất thông tin nhiều hơn 2, nghĩa là các bit thay thế luôn luôn gồm một bit 1 và các bit 0 theo sau sao cho đủ 12 bit.
Sai số tuyệt đối do sự nén tùy thuộc mã của đoạn được phát đi. Đoạn tương ứng với giá trị cao của tín hiệu có sai số tuyệt đối càng lớn.
Bảng 9.1 cho thấy mã 12 bit ban đầu, mã 8 bit tương ứng và mã 12 bit phục hồi cùng các đoạn tương ứng.
Bảng 9.1
đoạn | mã 12 bit ban đầu | mã 8 bit nén | mã 12 bit phục hồi |
01234567 | s0000000abcds0000001abcds000001abcdxs00001abcdxxs0001abcdxxxs001abcdxxxxs01abcdxxxxxs1abcdxxxxxx | s000abcds001abcds010abcds011abcds100abcds101abcds110abcds111abcd | s0000000abcds0000001abcds000001abcd1s00001abcd10s0001abcd100s001abcd1000s01abcd10000s1abcd100000 |
Trong bảng 9.1 abcd là các bit đươc giữ nguyên để phát đi , các bit x là các bit mất đi trong quá trình nén (đoạn 0 được thực hiện một cách ngoại lệ). Lưu ý là đoạn 0 và 1 được phục hồi không có sai số trong khi đoạn 7 chỉ có 6 bit MSB là được phục hồi chính xác. Bỏ qua bit dấu 11 bit còn lại tạo ra 211 = 2048 tổ hợp. Hai đoạn 0 và 1 mỗi đoạn ứng với 16 tổ hợp khác nhau tùy thuộc giá trị cụ thể của a,b,c,d. Ở đoạn 2, 5 bít cuối abcd và x cho 32 tổ hợp khác nhau, tuy nhiên trong quá trình nén 32 tổ hợp này chỉ cho 16 mức tương ứng, diễn tả bởi abcd và 1, ta nói 32 mức đã được nén thành 16. Tương tự, đoạn 3 đã nén 64 mức xuống còn 16,... và đoạn 7 đã nén 1024 mức xuống còn 16 mức. giản đồ nén theo phương pháp trên được minh họa ở (H 9.9), giản đồ này rất gần với giản đồ lý thuyết của luật μ-255.
Kết quả của phương pháp nén cho thấy các tín hiệu nhỏ (trường hợp thưòng xảy ra) có thể được mã hóa bởi một chuỗi liên tục các số 0, điều này khiến cho sự đồng bộ ở máy thu gặp khó khăn, vì lý do này mà người ta đã đảo các bit, trừ bit dấu, trước khi phát đi, như đã thấy trên giản đồ (lý thuyết) của luật μ-255.
(H 9.9)
Qua phương pháp nén thực tế ta thấy sai số gia tăng theo độ lớn của tín hiệu nhưng phần trăm sai số thì như nhau cho các đoạn.
Công thức dưới đây được dùng để tính phần trăm sai số:
[ mức phát - mức thu ]
%sai số = --------------------------------100
mức thu
Phần trăm sai số cực đại ứng với các số nhỏ nhất trong một đoạn.
Thí dụ
Đối với đoạn 3:
Phát s00001000000
Thu s00001000010
% sai số = 64−6666∗100=3,03 size 12{ { {"64" - "66"} over {"66"} } *"100"=3,"03"%} {}
Đối với đoạn 7:
Phát s10000000000
Thu s10000100000
% sai số = ∣1024−1056∣1056∗100 size 12{ { { lline "1024" - "1056" rline } over {"1056"} } *"100"} {}