trang Blog

huyTham gia: 06/05/2009
  • ky thuat truyen so lieu
    Công Nghệ Thông Tin
    CameraNikon D3
    ISO3200
    Aperturef/8
    Exposure1/50th
    Focal Length200mm

    ky thuat truyen so lieu

     

    CHƯƠNG 4

    XỬ LÝ SỐ LIỆU TRUYỀN

    4.1       MÃ HÓA VÀ ĐIỀU CHẾ

     

    Như đã biết thì thông tin cần được chuyển thành tín hiệu trước khi được truyền dẫn trong môi trường truyền tin.

    Phương thức chuyển đổi thông tin thì phụ thuộc vào định dạng ban đầu của thông tin cũng như format được phần cứng sử dụng. Nếu bạn muốn dùng khói để gởi đi một từ thì bạn cần biết trước hết các kiểu mẫu khói thích hợp cho từng ký tự trong từ này, trước khi tạo nên đám lửa.

    Một tín hiệu đơn giản thì không thể mang thông tin một cách đơn giản mà nhất  thiết phải chuyển đổi tín hiệu sao cho máy thu có thể nhận dạng được theo phương thức mà máy phát gởi đi. Một trong những phương thức truyền đi là chuyển các mẫu này thành các bit 1 và 0 như trong mã ASCII (American Standard Code for Information Interchange).

    Dữ liệu lưu trữ trong máy tính theo dạng 1 và 0, để chuyển các tín hiệu này đi (từ trong máy tín ra hay ngược lại) thì dữ liệu thường phải được chuyển đổi từ tín hiệu digital sang tín hiệu digital hay là quá trình chuyển đổi số-số.

    Đôi khi, ta phải chuyển đổi từ tín hiệu analog sang tín hiệu digital (như trong trường hợp điện thoại) nhằm giảm nhiễu, quá trình này được gọi là chuyển đổi analog-digital hay còn gọi là lượng tử hóa tín hiệu analog.

    Trong một trường hợp khác, ta cần chuyển một tín hiệu digital trong một môi trường dành cho tín hiệu analog, quá trình này được gọi là chuyển đổi digital-analog hay còn gọi là điều chế một tín hiệu số.

    Thông thường thì một tín hiệu analog được gởi đi cự ly xa trong một môi trường analog, tức là tín hiệu cần được điều chế ở tần số cao, quá trình này được gọi là chuyển đổi analog – analog , hay còn gọi là điều chế tín hiệu analog.

    Hình 5.1 trình bày bốn phương pháp chuyển đổi này.

    .

    Hình 5.1   

    4.1.1         CHUYỂN ĐỔI DIGITAL – DIGITAL

    Mã hóa hay chuyển đổi số-số là phương pháp biểu diễn tín hiệu số bằng tín hiệu số. Thí dụ, khi ta chuyển dữ liệu từ máy tính sang máy in, thì dữ liệu gốc và dữ liệu truyền đều ở dạng số. Trong phương pháp này thì các bit 1 và 0 được chuyển đồi thành chuỗi xung điện áp để có thể truyền qua đường dây, như hình 5.2.

    Hình 5.2   

    Tuy có nhiều cơ chế chuyển đổi số-số, ta chỉ quan tâm đến các dạng thường dùng trong truyền tin, như vẽ ở hình 5.3, trong đó bao gồm unipolar, polar, và bipolar.

    Unipolar chỉ có một dạng, polar có 3 dạng NRZ, RZ và biphase. Bipolar có 3 dạng AMI, B8ZS, và HDB3.

    Hình 5.3   

    Unipolar: là dạng đơn giản nhất và nguyên thủy nhất. Cho dù đây là dạng đã lạc hậu, nhưng tính chất đơn giản của nó luôn là tiền đề cho các ý niệm về phát triển các hệ thống phức tạp hơn, đồng thời phương pháp này cũng giúp ta nhìn thấy nhiều vấn đề trong truyền số liệu phải giải quyết.

    Hệ thống truyền số liệu hoạt động trên cơ sở gởi các tín hiệu điện áp trong môi trường kết nối, thường là dây dẫn hay cáp. Trong nhiều dạng mã hóa, một mức điện áp biểu thị cho giá trị nhị phân 0 và một mức khác cho giá trị 1. Cực tính của xung tùy thuộc vào giá trị điện áp là dương hay âm. Mã hóa đơn cực (unipolar) là phương pháp chỉ dùng một dạng cực tính, thường thì cực tính này biểu diễn một giá trị nhị phân, thường là 1, còn giá trị điện áp không thường dùng cho giá trị bit 0.

    Hình 5.4 trình bày về ý tưởng của mã hóa đơn cực. Trong thí dụ này thì bit 1 mang giá trị điện áp dương còn bit không thì tương ứng với giá trị điện áp 0, điều này làm cho phương pháp trở nên đơn giản và rẻ.

    Tuy nhiên, phương pháp đơn cực gặp phải hai vấn đề khó khăn: thành phần điện áp DC và vấn đề đồng bộ.

    Hình 5.4   

    Thành phần DC: Trị trung bình của mã đơn cực thì khác không, tạo ra thành phần điện áp DC trên đường truyền. Khi tín hiệu tồn tại thành phần DC (tức là có tần số bằng 0) thì không thể đi xuyên qua môi trường truyền được.

    Vấn đề đồng bộ (synchronization): Khi tín hiệu truyền có giá trị không thay đổi thì máy thu không thể xác định được thời gian tồn tại của một bit. Như thế cần có vấn đề đồng bộ khi truyền một chuỗi nhiều bit 1 hay bit 0 bằng phương pháp đơn cực do không có thay đổi trong giá trị điện áp truyền.

    Vấn đề đồng bộ thì khó giải quyết trong phương pháp này, hướng giải quyết có thể làm dùng thêm một dây dẫn để truyền tín hiệu đồng bộ giúp máy thu biết về thời khỏang của từng bit. Tuy nghiên phương pháp này là không thực tế, do làm gia tăng chi phí và không kinh tế, nên thực tế phương pháp này không dùng trong truyền tín hiệu số.  

    Polar:

    Phương pháp mã hóa polar dùng hai mức điện áp: một có giá trị dương và một có giá trị âm, như thế có khả năng loại trừ được thành phần DC. Trong các phương pháp như Manchester hay Manchester vi sai, thì mỗi bit đều có thành phần điện áp dương hay âm, nên loại trừ hoàn toàn được thành phần DC

    Có nhiều phương pháp mã polar, ta chỉ khảo sát 3 dạng thông dụng nhất là : NRZ (nonreturn to zero); RZ (return to zero), và biphase. NRZ gồm hai dạng: NRZ-L (nonreturn to zero – level) và NRZ – I (nonreturn to zero – invert). Trong biphase có hai phương pháp. Thứ nhất, Manchester, là phương pháp dùng trong mạng ehternet LAN, và dạng thứ hai Manchester vi sai, thường được dùng trong Token Ring LAN, xem hình 5.

     

    Hình 5.5   

    NRZ (Nonreturn to Zero)

    Trong phương pháp này, mức tín hiệu luôn luôn có giá trị là dương hay âm. Có hai dạng như sau:

    NRZ – L: mức tín hiệu phụ thuộc vào cách biểu diễn của bit. Gía trị điện áp cao thường biểu diễn bit 0, và giá trị điện áp âm thường là bit 1 (hay ngược lại); như thế mức tín hiệu phụ thuộc vào trạng thái của bit.

    Vấn đề đặt ra là khi tồn tại một chuỗi dữ liệu gồm nhiều bit 1 hay bit 0. Máy thu nhận được một chuỗi tín hiệu liên tục và có thể nhận ra được là bao nhiêu bit nhờ đồng hộ của máy thu, có thể được hay không được đồng bộ với đồng hồ máy phát.

    Hình 5.6   

    NRZ – I:

    Trong phương pháp này, sự thay đổi cực tính của mức điện áp biểu diễn cho bit 1. Phương pháp này tốt hơn so với NRZ-L do khả năng đồng bộ do sự thay đổi của của tín hiệu khi có bit 1. Như thế khi truyền một chuỗi gồm nhiều bit 1, thì vấn đề đồng bộ đã được giải quyết, còn chuỗi bit 0 thì vẫn còn là vấn đề.

    Hình 5.6 minh họa các biểu diễn NRZ-L và NRZ-I cho cùng chuỗi dữ liệu. Trong phương pháp NRZ-L; các giá trị điện áp dương dùng cho bit 0 và âm dùng cho bit 1. Trong phương pháp NRZ-I máy thu nhận ra bit 1 khi có sự thay đổi mức điện áp.

     RZ (Return to Zero)

    Khi xuất hiện một chuỗi bit 1 hay 0 liên tiếp thì máy thu có thể nhận lầm, như thế nhất thiết phải có phương pháp xử lý vấn đề đồng bộ trong các chuỗi bit 1 và 0 liên tiếp.

    Để đảm bảo có tính đồng bộ thì tín hiệu cần được đồng bộ ở từng bit, giúp máy thu nhận ra các bit, thiết lập và đồng bộ với đồng hồ máy thu. Trong phương pháp RZ, dùng 3 giá trị: dương, âm và không, tín hiệu có tín đồng bộ tốt, giá trị dương biểu diễn 1 và âm là 0, tuy nhiên bit 1 là giá trị từ dương – zero, còn giá trị 0 thì là âm – không như vẽ ở hình 5.7.

    Hình 5.7   

    Yếu điểm lớn nhất của phương pháp này cần hai mức thay đổi giá trị cho một bit, tức là cần thiết có băng thông rộng hơn. Tuy nhiên, ta sẽ thấy đây là phương pháp hiệu quả nhất.

    Một phương pháp mã hóa tín hiệu số tốt thì phải có dự phòng cho chế độ đồng bộ.

    BIPHASE:

    Đây có thể là phương pháp đồng bộ hóa tốt nhất hiện nay. Trong phương pháp này thì tín hiệu thay đổi vào khoảng giữa thời khoảng bit nhưng không về zêrô. Bù lại, nó tiếp tục theo cực ngược lại. Tương tự như trong RZ, các đoạn giữa thời khoảng bit này cho phép tạo đồng bộ.

    Có hai phương pháp mã hóa biphase hiện đang được dùng: mã ManchesterManchester vi sai.

    Hình 5.8 vẽ các tín hiệu ManchesterManchester vi sai cho cùng một loại chuỗi bit.

     

    Hình 5.8   

    Manchester:

    Mã hóa Manchester dùng phần đảo tại khoảng giữa của các thời khoảng bit được dùng cho đồng bộ và biểu diễn bit. Thay đổi từ âm – dương biểu diễn bit 1và từ dương – âm là bit 0. Phương pháp này dùng một chuyển đổi cho hai mục đích, như thế mã Manchester cho phép có cùng mức đồng bộ như RZ, nhưng chỉ dùng hai mức biên độ.

    Manchester vi sai:

    Trong phương pháp này, phần đảo tại khoảng giữa các thời khoảng bit được dùng cho đồng bộ, nhưng sự hiện diện hay không hiện diện của việc chuyển trạng thái tại đầu của thời khoảng được dùng để nhận dạng bit. Có chuyển trạng thái tức là bit 0 và không chuyển trạng thái là bit 1. Mã Manchester vi sai cần có hai tín hiệu thay đổi để biểu diễn bit 0 và chỉ cần một cho trường hợp bit 1.

    BIPOLAR

    Tương tự như RZ, bipolar dùng ba mức điện áp: dương, âm, và zêrô. Khác với RZ, trong trường hợp này thì mức zêrô lại được dùng để biểu diễn bit 0

    Bit 1 được lần lượt biểu diễn từ các giá trị dương rồi âm. Nếu bit 1 đầu tiên là dương, thi bit 1 kế tiếp sẽ có biên độ có giá trị âm, và cứ thế tiếp tục. Thay đổi này vẫn có giá trị ngay khi các bit 1 không liên tiếp xuất hiện.

    Có ba dạng mã hóa bipolar dùng trong thông tin số: AMI, B8ZS, và HDB3 như trong hình 5.9.

    Hình 5.9   

    AMI (Bopolar Alternate Inversion)

    Là dạng mã bipolar đơn giản nhất, trong thuật ngữ này thì mark có nghĩa là bit 1 (đến từ ý niệm của điện tín: mark và space). Như thế AMI tức là giá trị 1 tuần tự thay đổi dấu. Giá trị mức điện áp zero được dùng biểu diễn bit 0, các giá trị bit 1 lần lượt nhận các giá trị điện áp dương rồi âm, như hình 5.10.

    Hình 5.10                 

    Biến thể của phương pháp này được gọi là giả tam nguyên (pseudo-ternary) theo đó các bit 0 lần lượt nhận các giá trị điện áp dương và âm.

    Khi thay đổi lần lượt các mức điện áp của bit 1 thì AMI đã thực hiện được hai vấn đề: đầu tiên, làm triệt tiêu thành phần DC của tín hiệu, thứ hai, có thể thực hiện đồng bộ đối với chuỗi các giá trị bit “1” liên tiếp.

    Có hai biến thể của AMI nhằm giải quyết bài toán khi có chuỗi bit 0 liên tiếp xuất hiện trong truyền dẫn cự ly xa. Tại Bắc Mỹ, là B8ZS và tại Nhật và Châu Âu, dùng HDB3. Hai phương pháp này đều ứng dụng cơ sở của AMI trong đó có thay đổi mẫu cơ bản chỉ trong trường hợp có chuỗi liên tiếp nhiều bit 0.

    B8ZS (Bipolar 8- Zero Substitution):

    B8ZS là qui ước được dùng tại Bắc Mỹ nhằm cung cấp đồng bộ cho chuỗi nhiều bit 0. Chức năng của B8ZS thì tương tự như AMI, theo đó AMI thay đổi cực tính sau mỗi lần xuất hiện bit 1, nhằm cung cấp đồng bộ cho máy thu. Tuy nhiên khi xuất hiện một chuỗi liên tiếp các bit 0 thì phương pháp này không đáp ứng được dễ bị mất đồng bộ.

    Sư khác biệt giữa AMI và B8ZS xuất hiện khi có hơn hay bằng 8 bit 0 liên tiếp trong dòng dữ liệu. Giải pháp mà B8ZS đưa ra là áp đặt cho tín hiệu thay đổi một cách nhân tạo, được gọi là vi phạm (violation), trong dòng các bit 0. Khi có 8 bit 0 liên tiếp xuất hiện, B8ZS đưa vào các thay đổi trên mẫu tín hiệu  dựa trên cực tính của bit 1 vừa xuất hiện (bit 1 xuất hiện ngay trước chuỗi các bit 0), xem hình 5.11.

    Hình 5.11                 

    Nếu bit 1 trước đó có cực tính dương, thì các bit 0 sẽ được mã hóa theo zêrô, zêrô, zêrô, dương, âm, zêrô, âm, dương. Xin chú ý là máy thu đang tìm kiếm sự thay đổi cực tính liên tiếp thay đổi của bit 1. Khi máy thu nhận thấy hai cực tính dương liên tiếp nhau, tiếp theo là 3 bit 0, thì nhận ra dấu hiệu vi phạm chứ không phải là lỗi, nên tiếp tục tìm kiếm cặp vi phạm thứ hai. Nếu tìm được, thì máy thu diễn dịch tất cả 8 bit thành bit 0 và chuyển chúng sang chế độ AMI thông thường.

       Nếu cực tính của bit 1 trước đó là âm, thì các mẫu vi phạm là tương tự nhưng có cực tính đổi lại, như vẽ ở hình 11.

      HDB3 (High-Density Bipolar)

    Phương pháp này đưa thay đổi vào mẫu tín hiệu AMI khi xuất hiện 4 bit 0 liên tiếp, chứ không cần là 8 bit như B8ZS,như vẽ ở hình 12.

    Hình 5.12                 

    Tương tự như trong B8ZS, các mẫu vi phạm trong HDB3 dựa trên cực tính của bit 1 trước đó. Tuy nhiên, HDB3 cũng đồng thời quan sát số bit 1 xuất hiện trong dòng bit kể từ khi xuất hiện thay thế trước đó. Tổng số bit 1 trong lần thay thế trước đó là lẻ, HDB3 đưa vi phạm vào vị trí của bit 0 thứ tư liên tiếp. Nếu cực tính của bit trước đó là âm, thì vi phạm là âm.

    Khi  số bit 1 trước đó là chẵn, HDB3 đưa vi phạm vào vị trí thứ nhất và thứ tư trong chuỗi bốn bit 0 liên tiếp. Nếu cực tính của bit trước đó là dương, thì các vi phạm là dương. Các trường hợp này được vẽ trong hình 12.

    Như thế, các điểm vi phạm chính là phương pháp máy thu nhận ra và thiết lập đồng bộ cho hệ thống.

    Thí dụ 1:

    Dùng B8ZS, mã hóa dòng bit 1000000000010. Giả sử cực tính của bit 1 trước đó là dương.

    Kết quả như vẽ ở hình 5.13:

    Hình 5.13                 

    Thí dụ 2:

     Dùng HDB3, mã hóa dòng bit 1000000000010. Giả sử số  của bit 1 trước đó là lẻ và bit 1 đầu tiên là dương.

    Kết quả vẽ ở hình 5.14.

    Hình 5.14                 

    4.1.2         CHUYỂN ĐỔI ANALOG – DIGITAL

    Đôi khi ta cũng cần rời rạc hóa tín hiệu tương tự, thí dụ như khi gởi tín hiệu thoại qua đường dây dài, do tín hiệu số có tính chống nhiễu tốt hơn so với tín hiệu analog. Quá trình này được gọi là chuyển đổi tương tự -  số hay còn gọi là quá trình số hóa tín hiệu analog. Điều này cho phép giảm thiểu khối lượng lớn các giá trị trong thông tin của tín hiệu analog để có thể được biểu diễn thành luồng tín hiệu số mà không bị thất thoát thông tin. Hình 5.15 minh họa bộ chuyển đổi tương tự - số, còn được gọi là bộ codec (coder – decoder).

    Hình 5.15                 

     

    Trong chuyển đổi tương tự - số, ta biểu diễn các thông tin có trong tín hiệu liên tục thành chuỗi các tín hiệu số (1 hay 0).

    Trong chuyển đổi tương tự - số, ta có thể dùng bất kỳ dạng tín hiệu số đã bàn trong mục 4.1.1, tuy nhiên điều quan trọng nhất là phương pháp chuyển đổi phải không làm thất thoát hay làm giảm chất lượng tin.

    PAM (Pulse Amplitude Modulation):

    Bước đầu tiên trong chuyển đổi tương tự - số là điều chế biên độ - xung (PAM: pulse amplitude modulation). Kỹ thuật này lấy tín hiệu analog, lấy mẫu và tạo ra chuỗi xung là kết quả của phần lấy mẫu này.

    Phương pháp lấy mẫu này được ứng dụng trong nhiều lĩnh vực công nghệ khác thông tin số liệu. Tuy nhiên, phương pháp PAM là bước đầu của phương pháp biến đổi tương tự -số, được gọi là PCM (pulse code modulation).

    Hình 5.16                 

    PAM dùng một kỹ thuật gọi là lấy mẫu và giữ (sample and hold) như vẽ ở hình 5.16.

    PAM không được dùng trong thông tin số với lý do là tuy đã rời rạc hóa nhưng tín hiệu PAM cũng chứa quá nhiều thành phần biện độ với các giá trị khác nhau (vẫn còn là dạng analog), như thế cần có một phương pháp khác thích hợp hơn, gọi là PCM.


    PCM (Pulse Coded Modulation):

    PCM chuyển tín hiệu PAM sang tín hiệu số, như thế cần có thêm một bước lượng tử hóa (quantalization), là phương thức gán các giá trị chung cho các tín hiệu ở trong cùng một mức, như vẽ ở hình 5.17.

    Hình 5.17                 

    Hình 5.18 trình bày một phương thức đơn giản để gán các giá trị dấu và suất cho các mẫu lượng tử. Mỗi giá trị được chuyển sang giá trị bay bit nhị phân tương ứng, bit thứ tám nhằm biểu thị dấu.

    Hình 5.18                 

    Các bit nhị phân này được biến thành tín hiệu số dùng một trong các phương pháp chuyển đổi số - số đã thảo luận ở chương trước. Hình 5.19 vẽ kết quả của phương pháp điều chế xung mã PCM của một tín hiệu số được chuyển theo mã unipolar, trong hình chỉ vẽ giá trị 3 mẫu đầu.

    Hình 5.19                 

    PCM được thực hiện theo 4 bước: lấy mẫu và giữ (PAM), lượng tử hóa, mã hóa nhị phân và mã hóa số - số. Hình 5.20 minh họa quá trình này. PCM là phương pháp lấy mẫu tín hiệu được dùng trong số hóa tín hiệu thoại trong truyền dẫn T-line trong hệ thống viễn thông Bắc Mỹ.

    Hình 5.20                 

    Tốc độ lấy mẫu (sampling rate)

    Theo định lý Nyquist, để bảo đảm độ chính xác khi khôi phục tín hiệu tín hiệu analog nguyên thủy dùng phương pháp PAM thì tốc độ lấy mẫu phải ít nhất hai lần tần số cao nhất của tín hiệu gốc. Thí dụ, để có thể lấy mẫu tín hiệu thoại có tần số cao nhất 4000Hz, ta cần có tốc độ lấy mẫu là 8000 mẫu/ giây.

    Theo định lý Nyquist thì tốc độ lấy mẫu phải ít nhất lớn hơn hai lần tần số tín hiệu cao nhất.

    Tốc độ lấy mẫu lớn hơn hai lần tần số x HZ tức là tín hiệu phải được lấy mẫu tại (½) x giây. Dùng thí dụ lấy mẫu tín hiệu thoại, tức là một mẫu cho mỗi (1/8000) giây, như minh họa ở hình 5.21.

    Hình 5.21                 

    Thí dụ 3:

    Cho biết tốc độ lấy mẫu của tín hiệu có băng thông 10.000 Hz ( từ 1.000 đến 11.000 Hz)?

    Giải:

    Tốc độ lấy mẫu phải là hai lần tần số cao nhất của tín hiệu

                   Tốc độ lấy mẫu = 2 (11.000) = 22.000 mẫu/ giây.

    Số bit cần truyền trong mỗi mẫu?

    Sau khi tìm được tốc độ lấy mẫu, ta cần xác định số bit cần truyền trong mỗi mẫu. Điều này tùy thuộc vào mức chính xác cần thiết. Số bit được chọn sao cho tín hiệu gốc có thể được tái tạo biên độ với độ chính xác cần thiết.

    Thí dụ 4:

    Lấy mẫu tín hiệu, mỗi mẫu cần 12 mức chính xác (+0 đến +5 và –0 đến –5). Hỏi cần bao nhiêu bit cần truyền trong mỗi mẫu?

    Giải:

    Cần bốn bit; 1 bit dùng biểu diễn dấu, và 3 bit cho giá trị. Với 3 bit ta có thể biểu diễn được 23 = 8 mức  (000 đến 111), nhiều hơn yêu cầu cần có. 2 bit thì không đủ do 22 = 4, còn 4 thì quá nhiều do 24 = 16.

    Tốc độ bit (bit rate):

    Sau khi có được số bit trong mẫu, ta cần tính tốc độ bit dùng công thức sau:

    Tốc độ bit = tốc độ lấy mẫu x số bit trong mỗi mẫu.

    Thí dụ 5:

    Cần số hóa tín hiệu thoại, tìm tốc độ bit với giả sử có 8 bit trong mỗi mẫu?

    Tiếng nói con người thường tồn tại trong vùng tần số từ 0 đến 4000 Hz, như thế tốc độ lấy mẫu là:

    Tốc độ lấy mẫu = 4000 x 2 = 8000 mẫu/giây.

    Tốc độ bit được tính theo:

    Tốc độ bit = Tốc độ lấy mẫu x số bit trong mỗi mẫu = 8000 x 8 = 64.000 bps =64Kbps 

    4.1.3         CHUYỂN ĐỔI DIGITAL – ANALOG

    Chuyển đổi số - tương tự hay điều chế số-tương tự là quá trình thay đổi một đặc tính của tín hiệu analog dựa trên thông tin của tín hiệu số (0 và 1). Khi truyền dữ liệu từ một máy tính sang máy tính khác dùng đường dây điện thoại công cộng, thì ta truyền tín hiệu số của  máy tính, nhưng do dây điện thoại lại mang tín hiệu analog, nên nhất thiết phải chuyển đổi tín hiệu số này. Tín hiệu số cần được điều chế dùng tín hiệu analog để thể hiện hai giá trị phân biệt của tín hiệu số, như minh họa ở hình 5.22.

    Hình 5.22                 

    Có nhiều cơ chế dùng cho điều chế số - tương tự, ta chỉ thảo luận các phương thức thông dụng trong thông tin dữ liệu.

    Như ta đã biết thì tín hiệu sin được định nghĩa từ ba đặc tính: biên độ, tần số và góc pha. Trong truyền số liệu thì quan tâm đến các phương pháp sau: ASK (amplitude shift keying), FSK (frequency shift keying), PSK (phase shift keying). Ngoài ra còn có phương thức thứ tư là QAM (quadrature amplitude modulation) là phương thức điều chế rất hiệu quả dùng trong các modem.

    Hình 5.23                 

    Các yếu tố của chuyển đổi số - tương tự

    Có hai yếu tố quan trọng trong chuyển đổi số - tương tư: tốc độ bit/baud và tín hiệu sóng mang.

    Tốc độ bit và tốc độ baud (bit rate and baud rate):

    Có hai thuật ngữ thường dùng trong truyền số liệu là tốc độ bit (bit rate) và tốc độ baud (baud rate). Tốc độ bit là số bit được truyền trong một giây, Tốc độ baud là số đơn vị tín hiệu trong một giây cần có để biểu diễn số bit vừa nêu. Khi nói về hiệu quả của máy tính, thì tốc độ bit luôn là yếu tố quan trọng. Tuy nhiên, trong truyền số liệu ta lại cần quan tâm đến hiệu quả truyền dẫn dữ liệu từ nơi này đến nơi khác, như thế khi dùng ít đơn vị tín hiệu cần có, thì hiệu quả càng cao, và băng thông truyền càng thấp; như thế thì cần chú ý đến tốc độ baud. Tốc độ baud xác định băng thông cần thiết để truyền tín hiệu.

    Tốc độ bit là tốc độ baud nhân với số bit trong mỗi đơn vị tín hiệu. Tốc độ baud là tốc độ bit chia cho số bit biểu diễn trong mỗi đơn vị truyền.

    Tốc độ bit là số bit trong mỗi giây.

    Tốc độ baud là số đơn vị tín hiệu trong mỗi giây.

    Tốc độ baud thường bé hơn hay bằng tốc độ bit.

    Một ý niệm tương đồng có thể giúp hiểu rõ vấn đề này; baud tương tư như xe khách, còn bit tương tự như số hành khách. Một chuyến xe mang một hoặc nhiều hành khách. Nếu 1000 xe di chuyển từ điểm này sang điểm khác chỉ mang một hành khách (thí dụ lái xe) thì mang được 1000 hành khách. Tuy nhiên, với số xe này, mỗi xe mang 4 người, thì ta vận chuyển được 4000 hành khách. Chú ý là chính số xe, chứ không phải số hành khách, là đơn vị lưu thông trên đường, tức là tạo nhu cầu về độ rộng của xa lộ. Nói cách khác, tốc độ baud xác định băng thông cần thiết, chứ không phải số bit.

    Thí dụ 6:

    Một tín hiệu analog mang 4 bit trong mỗi phần tử tín hiệu. Nếu 1000 phần tử tín hiệu được gởi trong một giây, xác định tốc độ baud và tốc độ bit.

    Giải:

    Tốc độ baud = số đơn vị tín hiệu = 1000 baud/giây

    Tốc độ bit = tốc độ baud x số bit trong một  đơn vị tín hiệu =1000 x 4 = 4000 bps.

    Thí dụ 7:

    Tốc độ bit của tín hiệu là 3000. Nếu mỗi phần tử tín hiệu mang 6 bit, cho biết tốc độ baud?

    Giải:

    Tốc độ baud = tốc độ bit/ số bit trong mỗi phần tử tín hiệu = 3000/6 =500 baud/giây

    Tín hiệu sóng mang (carrier signal):

    Trong truyền dẫn analog thì thiết bị phát tạo ra tần số sóng cao tần làm nền cho tín hiệu thông tin. Tín hiệu nền này được gọi là sóng mang hay tần số sóng mang. Thiết bị thu được chỉnh định để thu tần số sóng mang trong đó có tín hiệu số được điều chế và tín hiệu mang thông tin được gọi là tín hiệu điều chế.

    ASK (amplitude shift keying):

    Phương pháp này được trình bày trong hình 5.24, với các bit 1 và 0 làm thay đổi biên độ của tín hiệu sóng mang, trong đó tốc độ truyền tín hiệu ASK bị giới hạn bởi các đặc tính vật lý của môi trường truyền.

    Hình 5.24                 

    Điều không may là truyền dẫn ASK thường rất nhạy cảm với nhiễu. Nhiễu này thường là các tín hiệu điện áp xuất hiện trên đường dây từ các nguồn tín hiệu khác ảnh hưởng được lên biên độ của tín hiệu ASK.

    Ngoài ra, còn  có một phương pháp ASK thông dụng và được gọi là OOK (on-off keying). Trong OOK thì có một giá trị bit tương đương với không có điện áp. Điều này cho phép tiết kiệm đáng kể năng lượng truyền tin.

    Băng thông dùng cho ASK:

    Khi phân tích phổ tín hiệu điều chế ASK, ta có giá trị phổ vẽ ở hình 25 trong đó có các yếu tố quan trọng là sóng mang fc ở giữa, các giá trị fc – Nbaud/2  fc + Nbaud/2 ở hai biên.

    Hình 5.25                 

    Băng thông cần thiết cho ASK được tính theo:

    BW = (1+d) x Nbaud.

    Trong đó:

    -          BW: băng thông

    -          Nbaud: tốc độ baud

    -          d là thừa số liên quan đến điều kiện đường dây (có giá trị bé nhất là 0)

    Ta sẽ thấy là băng thông tối thiểu cần cho quá trình truyền thì bằng tốc độ baud.

    Tuy chỉ truyền với một tần số sóng mang, nhưng quá trình điều chế có thể tạo ra tín hiệu phức tạp là tổ hợp của nhiều tần số đơn giản, với các tần số khác nhau.

    Thí dụ 8:

    Tìm băng thông tối thiểu của tín hiệu ASK truyền với tốc độ 2000 bps. Chế độ truyền bán song công.

    Giải:

     Trong ASK thì tốc độ bit và tốc độ baud là như nhau. Tốc độ baud là 200 bps, nên tín hiệu ASK cần có băng thông tối thiểu bằng tốc độ baud. Như thế, băng thông tối thiểu là 2000 Hz.

    Thí dụ 9:

    Tín hiệu ASK có băng thông là 5000 HZ, tìm tốc độ bit và tốc độ baud?

    Giải:

    Trong ASK thì tốc độ baud bằng băng thông, tức là tốc độ baud là 5000, đồng thời do tốc độ bit bằng tốc độ baud nên tốc độ bit là 5000 bps.

    Thí dụ 10:

    Cho băng thông 10.000 Hz (1000 đến 11.000 Hz), vẽ giản đồ ASK song công (full duplex) của hệ thống. Tìm tần số sóng mang và băng thông, giả sử không có khoảng trống giữa các dải tần theo hai hướng.

    Giải:

    Trong điều chế ASK song công, băng thông trong mỗi chiều là

    BW = 10.000/2 = 5.000 Hz

    Tần số sóng mang là tần số giữa, như hình 5.26:

               fc thuận = 1.000 + 5.000/2 = 3500 Hz

               fc nghịch = 11.000 - 5.000/2 = 8500 Hz

     

    Hình 5.26                 

    FSK (frequency shift keying):

    Trong phương pháp này, tần số của tín hiệu sóng mang thay đổi để biểu diễn các bit 1 và 0, trong khi biên độ và góc pha được giữ không thay đổi như vẽ ở hình 5.27. FSK tránh được hần hết các dạng nhiễu của ASK. Do máy thu chỉ quan tâm đến yếu tố thay đổi tần số trong một chu kỳ, nên bỏ qua được các gia nhiễu điện áp. Yếu tố giới hạn lên FSK là khả năng vật lý của sóng mang.

    Hình 5.27                 

    Băng thông của FSK:

    Do FSK dịch chuyển giữa hai tần số sóng mang, nên cũng đơn giản trong phân tích chúng như hai tần số cùng tồng tại. Có thể nói rằng phổ FSK chính là tổ hợp của hai phổ ASK tập trung quanh fC0fC1. Băng thông cần thiết để truyền dẫn FSK chính là tốc độ baud của tín hiệu cộng với độ dịch tần số (sai biệt giữa hai tần số sóng mang) như vẽ ở hình 5.28:                   

    BW = (fC0 - fC1)+ Nbaud

    Tuy chỉ có hai tần số sóng mang, nhưng quá trình điều chế cũng tạo ra tín hiệu hỗn hợp là tổ hợp của nhiều tín hiệu đơn giản, với các tần số khác nhau.

    Thí dụ 11:

    Tìm băng thông tối thểu của tín hiệu FSK truyền với tốc độ 2.000 bps. Chế độ truyền dẫn bán song công và các sóng mang cần được phân cách bởi dải tần 3.000 Hz.

    Giải:

    Tín hiệu FSK dùng hai tần số fC0fC1, nên;  BW = (fC1 - fC0 )+ Tốc độ baud

    Do trong trường hợp này thì tốc độ bit bằng tốc độ baud, nên

               BW = (fC1 - fC0 )+ Tốc độ baud = (3.000) + 2.000 = 5.000 Hz

    Thí dụ 12:

    Tìm tốc độ bit lớn nhất của tín hiệu FSK nếu băng thông của môi trường là 12.000 HZ và sai biết giữa hai sóng mang ít nhất phải là 2.000 Hz, chế độ truyền song công.

    Giải:

    Với chế độ truyền song công, thì chỉ có 6.000 Hz là được truyền theo mỗi hướng (thu hay phát). Đối với FSK,  khi có fC1   fC0 là tần số sóng mang, thì:

                   BW = (fC1 - fC0 )+ Tốc độ baud = (3.000) + 2.000 = 5.000 Hz

    Nên Tốc độ baud = BW -  (fC1 - fC0 ) = 6.000 – 2.000 = 4.000 Hz

    Đồng thời, do tốc độ baud bằng tốc độ bit nên tốc độ bit cũng là  4.000 Hz

    Hình 5.28                 

    PSK (phase shift keying):

    Trong phương pháp này thì pha của sóng mang thay đổi để biểu diễn các bit 1 và 0. Các giá trị biên độ đỉnh và tần số đều không đổi. Thí dụ, nếu ta bắt đầu với góc pha 00 để biểu diễn bit 0 và giá trị 1800 để gởi giá trị bit 1. Góc pha của tín hiệu không đổi trong một thời khoảng bit (0 hay 1) như vẽ ở hình 5.29.

    Hình 5.29                 

    Phương thức vừa trình bày thường được gọi là 2-PSK hay BSK, do ta chỉ dùng hai góc pha khác nhau (00 và 1800). Hình 30 làm rõ hơn quan hệ giữa góc pha và các bit. Một dạng sơ đồ khác, được gọi là  giản đồ trạng thái – pha được vẽ ở hình 5.30.

    Hình 5.30                 

    PSK không bị ảnh hưởng của các dạng nhiễu tác động lên dạng ASK, đồng thời cũng không bị ảnh hưởng của yếu tố băng thông rộng như FSK. Điều này có nghĩa là một thay đổi bé của tín hiệu cũng có thể được máy thu phát hiện, như thế thay vì chỉ dùng hai thay đổi của tín hiệu từ một bit, ta có thể dùng với bốn sự thay đổi thông qua dịch pha của hai bit như hình 5.31.

    Hình 5.31                 

    Giản đồ pha -trạng thái của hình 5.31 được minh họa ở hình 5.32. Một góc 00 được biểu diễn bởi 00; 900 được biểu diễn bởi 01; 1800 được biểu diễn bởi 10 và 2700 được biểu diễn bởi 11. Kỹ thuật này được gọi là 4 – PSK hay Q – PSK. Cặp bit dùng để biểu diễn góc pha được gọi là dibit. Ta có thể truyền dữ liệu hai lần nhanh hơn khi dùng 4 – PSK thay vì  dùng  2 – PSK.

    Hình 5.32                 

    Từ đó, có thể phát triển lên 8 – PSK. Thay vì dùng góc 900, ta thay đổi tín hiệu từ các góc pha 450. Với 8 góc pha khác nhau, dùng ba bit (một tribit), theo đó quan hệ giữa số bit tạo thay đổi với góc pha là lũy thừa của hai. Đồng thời 8 – PSK  cũng cho phép truyền nhanh gấp 3 lần so với 2 – PSK, như minh họa ở hình 33.

     

    Hình 5.33                 

    Băng thông dùng cho PSK:

    Băng thông tối thiểu dùng cho truyền dẫn PSK thì tương tự như của ASK, tuy nhiên tốc độ bit tối đa thì lớn hơn nhiều lần. Tức là tuy có cùng tốc độ baud tối đa giữa ASK và PSK, nhung tốc độ bit của PSK dùng cùng băng thông này có thể lớn hơn hai hay nhiều lần như minh họa ở hình 5.34.

    Hình 5.34                 

    Thí dụ 13:

    Tìm băng thông của tín hiệu 4 – QPSK truyền dẫn với tốc độ 2.000 bps theo chế độ bán song công.

    Giải:

    Trong phương pháp 4 – PSK thì tốc độ baud là phân nửa tốc độ bit, như thế là 1.000. Trong tín hiệu PSK thì tín hiệu có băng thông bằng tốc độ baud, nên băng thông là 1.000 Hz

    Thí dụ 14:

    Cho tín hiệu 8 – PSK có băng thông 5.000 Hz, tìm tốc độ bit và tốc độ baud?

    Giải:

    Trong PSK thì tốc độ baud bằng với băng thông, tức là tốc độ baud bằng 5.000, còn tốc độ bit bằng ba lần tốc độ baud tức là 15.000 bps.

    QAM (quadrature Amplitude Modulation)

    PSK bị giới hạn từ khả năng phân biệt các thay đổi góc pha nhỏ của thiết bị, điều này làm giảm tốc độ bit.

    Từ trước đến nay, ta chỉ mới khảo sát riêng lẻ các yếu tố biên độ, góc pha và tần số của sóng mang, nhưng khả năng phối hợp của chúng ra sao? Giới hạn về băng thông của FSK không cho phép kết hợp phương thức này với các phương thức còn lại. Tuy nhiên, có thể kết hợp ASK và PSK để tạo nên phương thức QAM (quadrature amplitude modulation).

    QAM là phương thức kết hợp giữa ASK và PSK sao cho ta khai thác được tối đa  sự khác biệt giữa dibit, tribit, quabit và tiếp tục.

    Có nhiều khả năng biến thể của QAM, về mặt lý thuyết thì có  rất nhiều. Hình 5.35 có thấy hai khả năng cấu hình nên 4 – QAM và 8 – QAM, Trong hai trường hợp thì số lần thay đổi biên độ thường ít hơn thay đổi của góc pha. Do nhiểu ảnh hưởng lên được biên độ của tín hiệu nên nhất thiết phải tạo ra được phân cách tốt giữa các mức tín hiệu., xem hình 5.35 và 5.36.

    Hình 5.35                 

    Hình 5.36                 

    Quan hệ hình học của QAM có thể thể hiện dưới nhiều dạng khác nhau như trong hình 5.37, trong đó minh họa 3 cấu hình thường gặp của 16 - QAM.

    Hình 5.37                 

    Trong đó, trường hợp đầu dùng 3 biên độ và 12 pha, giảm thiểu tốt nhiểu do có tỉ số giữa góc pha và biên độ lớn như ITU - đề nghị. Trường hợp thứ hai, bốn biên độ và 8 pha, theo yêu cầu của mô hình OSI, khi quan sát kỹ , ta sẽ thấy là cấu hình theo dạng đồng trục, không xuất hiện yếu tố giao nhau giữa các biên độ và pha. Thực ra, với 3 x 8 ta có đến 32 khả năng. Tuy nhiên khi mới sử dụng phân nữa khả năng này, thì sai biệt góc pha đo lường được đã gia tăng cho phép đọc tín hiệu tốt hơn rồi. Thông thường thì QAM cho thấy ít bị ảnh hưởng của nhiễu hơn so với ASK (do có yếu tố pha)

    Băng thông của QAM:

    Băng thông tối thiểu cần cho truyền dẫn QAM thì giống như của ASK và PSK, đồng thời QAM cũng thừa hưởng ưu điểm của PSK so với ASK.

    So sánh tốc độ bit/tốc độ baud:

    Giả sử tín hiệu FSK được dùng truyền tín hiệu qua đường thoại có thể gởi đến 1200 bit trong một giây, tức có tốc độ bit là 1200 bps. Mỗi tần số thay đổi biểu diễn một bit; như thế thì cần có 1200 phần tử tín hiệu để truyền 1200 bit. Trong tốc độ baud, cũng là 1200 bps. Mỗi thay đổi của tín hiệu trong hệ thống 8 – QAM, được biểu diễn dùng ba bit, như thế với tốc độ bit là 1200 bps, thì tốc độ baud chỉ là 400. Trong hình 38, cho thấy hệ thống dibit có tốc độ baud chỉ bằng phân nửa tốc độ bit, và trong hệ tribit thì tốc độ baud chỉ còn một phần ba tốc độ bit, và trường hợp quabit thì tốc độ baud chỉ còn một phần tư tốc độ bit.

    Bảng B.1 nhằm so sánh tốc độ bit và tốc độ baud trong nhiều phương pháp điều chế số - tương tự.

    Hình 5.38                 

    Bảng 1

    Modulation

    Units

    Bits/Baud

    Baud Rate

    Bit Rate

    ASK, FSK, 2-PSK

    4-PSK, 4-QAM

    8-PSK, 8-QAM

    16-QAM

    32-QAM

    64-QAM

    128-QAM

    256-QAM

    Bit

    Dibit

    Tribit

    Quadbit

    Pentabit

    Hexabit

    Septabit

    Octabit

    1

    2

    3

    4

    5

    6

    7

    8

    N

    N

    N

    N

    N

    N

    N

    N

    N

    2N

    3N

    4N

    5N

    6N

    7N

    8N

     

    Thí dụ 15:

    Giản đồ pha trạng thái gồm 8 điểm cách đều nhau trên một vòng tròn. Nếu tốc độ bit là 4800 bps, tìm tốc độ baud ?

    Giải:

    Giản đồ trạng thái-pha cho thấy đây là dạng 8 –PSK với các điểm cách nhau 450. Do    23 = 8, nên mỗi lần truyền 3 bit, như thế tốc độ baud là

    4.800/3 = 1600 baud

    Thí dụ 16:

    Tính tốc độ bit của tín hiệu 16 – QAM, có tốc độ baud là 1000?

    Giải:

    Hệ thống 16 – QAM dùng 4 bit (quabit) khi truyền (do 24 = 16). Vậy:

    1. 000 x 4 = 4.000 bps

     

    Thí dụ 17:

    Tìm tốc độ baud của tín hiệu 64 –QAM có tốc độ bit 72.000 bps?

    Giải:

    Trong hệ 54-QAM thì truyền 6 bit trong mỗi phần tử tín hiệu (do 26 = 64), vậy:

             72.000/6 = 12.000 baud     

    4.1.4         CHUYỂN ĐỔI ANALOG –ANALOG

    Đây là phương pháp chuyển đổi tín hiệu analog sang dạng analog khác để có thể truyền dẫn được, như minh họa ở hình 5.43.

    Hình 5.39                 

    Có ba phương pháp là AM (Amplitude Modulation), FM (Frequency Modulation) và PM (Phase Modulation) như vẽ ở hình 5.40.

    Hình 5.40                 

    AM (Amplitude Modulation):

    Trong phương thức này, sóng mang được điều chế sao cho biên độ thay đổi theo tín hiệu điều chế, trong khi các giá trị tần số và góc pha được giữ không đổi nhu vẽ ở hình 41, trong đó tín hiệu điều chế trở thành đường bao của sóng mang.

     

    Hình 5.41                 

    Băng thông của tín hiệu AM:

    Băng thông của tín hiệu AM thì bằng hai lần băng thông của tín hiệu điều chế và bao phủ vùng xung quanh tần số trung tâm của sóng mang (xem hình 5.20, trong đó vẽ phổ của tín hiệu).

    Băng thông của tín hiệu audio thường là 5 KHz. Như thế các đài phát thanh AM cần băng thông tối thiểu là 10 KHz. Trong thực tế, FCC (Federal Communication Commission)  cho phép mỗi đài AM có băng thông là 10 KHz.

    Các đài AM phát các tần số sóng mang từ 530 đến 1700 KHz (1,7 MHz). Tuy nhiên các tần số phát này phải được phân cách với ít nhất là 10 KHz (một băng thông AM) nhằm tránh giao thoa. Nếu một đài phát dùng tần số 1100 KHz, thì tần số sóng mang kế không được phép bé hơn 1110 KHz (xem hình 5.21).

    Hình 5.42                 

     

    Hình 5.43                 

    Thí dụ 18:

    Có tín hiệu audio với băng thông 4 KHz, tìm băng thông của tín hiệu AM? Chưa tính đến các qui định của FCC.

    Giải:

    Tín hiệu AM cần có băng thông là hai lần băng thông tín hiệu gốc:

                      BW = 2 x 4 KHz = 8 KHz

     

    FM (Frequency Modulation):

    Trong phương thức này, thì tần số sóng mang được điều chế theo biên độ tín hiệu điều chế (audio). Giá trị biên độ đỉnh và pha của sóng mang được giữa không đổi, như vẽ trong hình 5.22.

    Băng thông tín hiệu FM:

    Băng thông FM là 10 lần băng thông của tín hiệu điều chế và tương tự như băng thông tín hiệu AM, băng thông này cũng bao trùm tần số trung tâm của sóng mang như vẽ ở hình 5.23.

    Băng thông của tín hiệu audio khi phát theo chế độ Stereo thường là 15 KHz. Mỗi đài phát FM cần một băng thông tối thiểu là 150 KHz. Cơ quan FCC cho phép 200 KHz (0,2 MHz) cho mỗi đài nhằm dự phòng các dải tần bảo vệ (guard band).

    Các chương trình phát FM phát trong dải tần từ 88 đến 108 MHz, các đài phải được phân cách ít nhất 200 KHz để tránh trùng lắp sóng. Trong tầm từ 88 đến 108 MHz, có khả năng có 100 kênh FM, trong đó có thể dùng cùng lúc 50 kênh như vẽ ở hình 5.24.

    Hình 5.44                 

     

    Hình 5.45                 

    Hình 5.46                 

    Thí dụ 19:

    Có tín hiệu audio với dải tần 4 MHz, tìm băng thông cần cho điều chế FM chưa tính đến qui định của FCC.

    Giải:

    Tín hiệu FM cần 10 lần băng thông của tín hiệu gốc:

    BW = 10 x 4 MHz = 40 MHz

    PM (Phase Modulation):

    Nhằm đơn giản hóa yêu cầu của phần cứng, đôi khi PM được dùng thay thế FM trong một số hệ thống, theo đó góc pha của sóng mang được điều chế theo biên độ tín hiệu điều chế, trong khi biên độ và tần số của sóng mang được giữ không đổi. Phương pháp phân tích thì tương tự như FM.

    4.2       PHÁT HIỆN VÀ SỬA LỔI

    Mạng cần có khả năng truyền dữ liệu một cách chính xác. Một hệ thống không bảo đảm được tính năng này thì không sử dụng được. Trong quá trình truyền thì dữ liệu luôn bị tác động bởi nhiều yếu tố, như nhiễu, như thế hệ thống cần có độ tin cậy tốt với cơ chế phát hiện và sửa lỗi.

    Việc phát hiện và sửa lỗi được thiết lập ở lớp kết nối dữ liệu hay lớp vận chuyển trong mô hình OSI.

    4.2.1    Các dạng lỗi

    Khi tín hiệu điện từ trường đi từ điểm này sang điểm khác, sẽ chịu các tác động nhiễu chưa dự báo được từ nhiệt, từ và các dạng khác của điện. Nhiễu loạn này có thể làm thay đổi hình dạng hay độ rộng của tín hiệu. Nếu tín hiệu mang các dữ liệu mã nhị phân, thì yếu tố này có thể làm thay đổi ý nghĩa của dữ liệu. Trong lỗi một bit, thì 0 biến thành 1 và 1 biến thành 0. Trong lỗi bệt (nhiều bit), thì nhiều bị có thể bị thay đổi. Thí dụ, một bệt nhiễu xung trong truyền dẫn với tốc độ dữ liệu 1200 bps có thể làm thay đổi toàn bộ hay một số bit trong 12 bit thông tin (xem hình 5.47)

    Hình 5.47                 

    Lỗi một bit: tức là chỉ có một bị trong một đơn vị dữ liệu (byte, ký tự, đơn vị dữ liệu, hay gói) là bị thay đổi từ 1 xuống 0 hay từ 0 xuống 1. Hình 4.58 cho thấy ảnh hưởng của sai một bit đối với đơn vị dữ liệu. Để hiểu được tác động này, giả sử mỗi nhóm 8 bit là một ký tự ASCII có thêm một bit 0 ở cuối. Trong hình, 00000010 (ASCII STX) được gởi đi, tức là bắt đầu văn bản text (STX: start of text), như khi nhận thì là 0001010 (ASCII LF), lại có nghĩa là xuống dòng (LF:line feed; xem thêm bản mã ASCII).

    Hình 5.48                 

    Lỗi một bit thường ít xuất hiện trong phương thức truyền nối tiếp. Thí dụ, xét trường hợp máy phát gởi dữ liệu với tốc độ 1 Mbps, tức là mỗi bit tồn tại trong 1/1.000.000 giây, hay 1 ms. Khi sai một bit, thì nhiễu phải xuất hiện trong thời gian 1 ms, như thế là rất hiếm, nhiễu thường có độ rộng hơn nhiều.

    Tuy nhiên, lỗi một bit có thể xuất hiện khi ta gởi dữ liệu dùng phương pháp song song. Thí dụ, dùng 8 dây dẫn để gởi 8 bit, để gởi đồng thời, như thế khi một dây bit nhiễu thì có một bit có thể bị sai. Trường hợp này cũng xuất hiện trong truyền dẫn song song bên trong máy tính, giữa CPU và bộ nhớ.

    Lỗi bệt:

    Tức là lỗi trên hai hay nhiều bit trong đơn vị dữ liệu đã thay đổi từ 1 thành 0 hay từ 0 thành 1. Hình 5.49 cho thấy ảnh hưởng của nhiễu bệt lên đơn vị dữ liệu. Trong trường hợp này, thì 0100010001000011 được gởi đi, như nhận được 01011110101000011. Chú ý là nhiễu bệt không có nghĩa là các bit bị lỗi lần lượt, mà có nghĩa là bệt trong khoản từ bit sai đầu tiên cho đến bit cuối. Một số bit bên trong bệt có thể không bị sai.

    Hình 5.49                 

    Nhiễu bệt thường xuất hiện trong truyền nối tiếp. Độ dài của nhiễu thường dài hơn độ rộng của bit, tức là khi nhiễu tác động thì ảnh hưởng được lên nhiều bit. Số bit bị ảnh hưởng tùy thuộc vào tốc độ dữ liệu và độ rộng nhiễu. Thí dụ, nếu ta gởi dữ liệu với tốc độ 1 Kbps, thì nhiễu với độ rộng 1 ms có thể ảnh hưởng lên 10 bit; nhưng khi ta gởi dữ liệu với tốc độ 1 Mbps, thì nhiễu này gây ảnh hưởng lên 10.000 bit.

    4.2.2 Phát hiện lỗi

    Khi ta biết được dạng lỗi, thì ta có ghi nhận được hay không? Nếu ta có bản copy của dữ liệu truyền để só ánh, thì dễ dàng. Nhưng nếu ta không biết được dữ liệu gốc,  thì rõ ràng ta chỉ có thể biết được khi giải mả bản tin để biết rằng ý nghĩa đã bị sai, điều này đòi hỏi phải có một cơ chế để phát hiện lỗi, để có biện pháp xử lý thích hợp.

    4.2.2.1 Mã thừa (Redundancy)

    Một cơ chế phát hiện lỗi phải được thực hiện bằng cách gởi cùng lúc với các đơn vị dữ liệu. Thiết bị thu sẽ có thể so sánh từng bit với hai dạng của dữ liệu. Bất kỳ một sự không nhất quán nào sẽ cho thấy lỗi, và cho phép thiết lập một cơ chế sữa lỗi, tuy nhiên cơ chế này nhất thiết phải tương đối đơn giản và hiệu quả, không làm gia tăng thời gian truyền cũng như làm tăng độ phức tạp của thiết bị.

    Hình 5.50                 

    Ý tưởng thêm các thông tin phụ vào trong bản tin chỉ nhằm mục đích giúp kiểm tra lỗi, nên thay vì gởi đi một bản tin dài, thường thì ta chỉ thêm vào một đoạn bit ngắn vào cuối mỗi đơn vị dữ liệu. Kỹ thuật này được gọi là mã thừa do các bit thêm vào không có ý nghĩa về thông tin, chúng sẽ được loại ra sau khi đã xác định xong độ chính xác của quá trình truyền.

    Hình 5.50 cho thấy quá trình dùng bit thừa để kiểm tra tính chính xác của đơn vị dữ liệu. Sau khi dòng bit được tạo ra, thì được đưa qua một thiết bị để phân tích và gắn thêm vào mã thừa thích hợp dùng kiểm tra. Đơn vị dữ liệu sau khi đuợc thêm vào nhiều bit (trường hợp hình vẽ là 7) trở nên lớn hơn và đi qua đường truyền đến máy thu. Máy thu cho bản tin này qua phần kiểm tra, nếu các bit nhận được thỏa mãn các tiêu chuẩn dùng kiểm tra thì phẩn dự liệu trong đơn vị dữ liệu được chấp nhận và các bit dư được loại đi.

    Có bốn dạng kiểm tra dùng mã thừa trong thông tin dữ liệu; VRC (vertical redundancy check), LRC (longitudinal redundancy check), CRC (cyclic redundancy check) và checksum. Ba dạng đầu, VRC, LRC, và CRC thường được thiết lập trong lớp vật lý để dùng trong lớp kết nối dữ liệu. Dạng checksum thường được dùng trong các lớp trên (hình 5)

      

    Hình 5.51                 

    VRC (Vertical Redundancy Check)

    Cơ chế đơn giản và thường được dùng nhất  trong phát hiện lỗi là VRC, còn được gọi là kiểm tra parity (chẵn/lẻ). Trong kỹ thuật này, một bit thừa, gọi là bit parity được gắn thêm vào các đơn vị dữ liệu sao cho tổng số bit 1 trong đơn vị dữ liệu (bao gồm bit parity) là một số chẵn (even).

    Giả sử ta muốn truyền đơn vị dữ liệu nhị phân 1100001 [ASCII là 97]; xem hình 5.52. Ta thấy tổng số số 1 là 3, tức là một số lẻ. Trước khi truyền, ta cho đơn vị dữ liệu qua bộ tao parity, để gắn thêm vào đơn vị dữ liệu một bit 1, làm tổng số bit 1 thành 4, là số chẵn. Hệ thống truyền dữ liệu với parity bit này vào đường truyền. Thiết bị thu, sau khi nhận sẽ đưa đơn vit dữ liệu sang hàm kiểm tra parity chẵn. Nếu dữ liệu nhận được có tổng số số 1 là chẵn thì chấp nhận, nếu không, thì loại toàn đơn vị dữ liệu.

    Hình 5.52                 

    Chú ý là để đơn giản, ta đã thảo luận về parity chẵn, thực ra một số hệ thống có thể dùng phương pháp parity -lẻ. Nguyên tắc thì giống nhau, tuy phép tính khác.

    Thí dụ 1:

    Giả sử ta muốn truyền từ “world” trong mã ASCII, thì năm ký tự này được mã hóa như sau:

    Bốn ký tự đầu có số bit một là chẵn, nên có bit parity là 0, còn ký tự cuối có số bit 1 là lẻ nên có bit parity là 1 (các bit parity được gạch dưới)

    Thí dụ 2:

    Giả sử ký tự tạo được từ thí dụ 1 được máy thu nhận được như sau:

    Máy thu đếm số bit 1 và nhận ra có số bit một là chẵn và lẻ, phát hiện có lỗi, nên loại bản tin và yêu cầu gởi lại.

    Hiệu năng:

    VRC có thể phát hiện tất cả các dạng lỗi một bit. Đồng thời cũng có thể phát hiện các lỗi bệt bao lâu mà tổng số bit thay đổi là lẽ (1, 3, 5, v,v....) trong mỗi đơn vị dữ liệu. Thí dụ, xét dữ liệu 1000111011, nếu có ba bit thay đổi thì kết quả sẽ là lẽ và máy thu phát hiện ra được:  1111111011:9         0110111011:7          11000111011:5.

    Trường hợp hai bit bị lỗi:  1110111011:8         1100011011:6             1000011010:4

    Máy thu không phát hiện được ra lỗi và chấp nhận.

     

    LRC (Longitudinal Redundancy Check)

    LCR là khối bit được sắp xếp thành bảng (hàng và cột). Thí dụ, thay vì gởi đi một khối 32 bit, ta tổ chức chúng thành bốn hàng và tám cột như hình 5.53. Tiếp đến, tính bit parity cho mỗi cột và tạo một cộ mới gồm tám bit, và là bit parity của toàn khối. Chú ý là bit parity đầu tiên được tính từ tất cả các bit đầu trong khối, tương tự cho bit hai.

    Hình 5.53                 

    Thí dụ 3:

    Gỉa sử khối bit truyền đi là:

    Tuy nhiên, có nhiễu bệt độ dài tám bit xuất hiện, làm một số bit bị lỗi:

    Khi máy thu kiểm tra LRC, một số bit không theo đúng parity chẵn và toàn khối bị loại (các giá trị sai được in đậm)

    Hiệu năng:

    LCR cho phép gia tăng khả năng phát hiện nhiễu bệt. Trong thí dụ vừa qua, ta thấy được là LCR với n bit thì có khả năng phát hiện dễ dàng nhiễu bệt n bit. Bệt nhiễu với độ dài lớn hơn n bit cũng có nhiều khả năng được LCR phát hiện. Tuy nhiên khi hai bit cùng sai ở hai vị trí giống nhau thì LCR không phát hiện được. Thí dụ, hai đơn vị dữ liệu: 11110000 và 11000011. Nếu bit đầu và bit cuối của hai đơn vị đều bit lỗi, tức là dữ liệu nhận được là 0111000101000010  thì LCR không thể phát hiện được lỗi.

    CRC (Cyclic Redundancy Check):

    Dạng thứ 3 và cũng là dạng mạnh nhất là CRC. Không giống như VRC và LCR, đều dựa trên phép cộng, CRC dùng phép chia nhị phân. Trong CRC, thay vì cộng các bit để có parity, trường hợp này dùng một chuỗi bit thừa, gọi là CRC hay dư số CRC, và gắn thêm vào phần cuối của đơn vị dữ liệu sao cho đơn vị dữ liệu mới là số chia chính xác của dữ liệu trước. Nơi nhận, đơn vị dữ liệu được chia với cùng số chia (divisor). Đến đây, nếu không có dư số, thì dữ liệu được xem là không bị lỗi và được chấp nhận. Trường hợp có dư số tức là đơn vị dữ liệu nhận được đã bị lỗi và nên bị loại.

    Hình 5.54                 

    Các bit thừa trong CRC có được bằng cách chia đơn vị dữ liệu với một số chia (divisor) cho trước và dư số là CRC. Yêu cầu đối với CRC gồm hai yếu tố: phải có số bit nhỏ hơn 1 so với divisor, và được gắn vào cuối chuỗi dữ liệu thì phải làm cho chuỗi dử liệu mới chia được cho divisor.

    Lý thuyết và ứng dụng của phương pháp phát hiện lỗi dùng CRC thì dễ hiểu. Tuy nhiên, khó khăn nhất là tìm CRC. Phần tiếp theo đây ta sẽ dần dần tìm hiểu về phương pháp này:

    Đầu tiên, gắn thêm n bit 0 vào đơn vị dữ liệu, số n này nhỏ hơn một so với (n+1) bit của bộ chia (divisor).

    Bước hai, dữ liệu mới này được chia cho bộ chia dùng phép chia nhị phân. Kết quả có được chính là CRC.

    Bước ba, CRC với n bit của bước hai thay thế các bit 0 găn ở cuối đơn vị dữ liệu. Chú ý là CRC có thể chứa toàn bit 0.

    Đơn vị dữ liệu đến máy thu với phần đầu là dữ liệu, tiếp đến là CRC. Máy thu xem toàn chuỗi này là một đơn vị và đem chia chuỗi cho cùng bộ chia đã được dùng  tạo CRC.

    Khi chuỗi đến máy thu là không lỗi, thì bộ kiểm tra CRC có số dư là 0 và chấp nhận đơn vị dữ liệu này. Khi chuỗi bị thay đổi trong quá trình truyền, thì số dư sẽ khác không và bộ thu không chấp nhận đơn vị này.

    Bộ tạo CRC

    Bộ CRC dùng phép chia modulo – 2 như vẽ trong hình 5.55. Trong bước đầu, bộ chia bốn bit được trừ đi. Mỗi bit trong bộ chia được trừ với các bit tương ứng mà không anh hưởng đến bit kế tiếp. Trong thí dụ này, bộ chia 1101, được trừ từ bốn bit của bộ divident, 1001, có được 100 (bit 0 đầu bị bỏ qua).

    Bước kế tiếp, lấy 1000 – 1101

    Trong quá trình này, bộ chia luôn bắt đầu với1 bit 1; và hệ thống thự hiện phép chia theo cách trừ nhị phân không có số nhớ (tức là 0 – 0 = 0; 1 – 1 = 0; 0 – 1 = 1; 1 – 0 = 1).

    Hình 5.55                 

    Bộ kiểm tra CRC

     Bộ này hoạt động giống hệt như bộ phát. Sau khi nhận được giữa liệu có gắn thêm phần CRC, mạch thực hiện lại phép chia modulo – 2. Nếu kết quả là 0, cắt bỏ phần CRC và nhận dữ liệu; ngược lại thì loại bỏ dữ liệu và yêu cầu gởi lại. Hình 5.56 mô tả quá trình này, vớ giả sử là không có lỗi, dư số là 0 và dữ liệu được chấp nhận.

    Hình 5.56                 

    Các đa thức:

    Bộ tạo CRC (bộ chia) thường không chỉ là chuỗi các bit 1 và 0, nhưng tạo ra từ đa thức đại số (như hình 5.57). Các đa thức này tiện lợi vì hai lý do: Chúng thường ngắn, và thường được dùng để chứng minh các ý niệm toán học trong quá trình CRC).

    Hình 5.57                 

    Quan hệ giữa chuỗi đa thức với biểu diễn nhị phân được minh họa ở hình 5.58.

    Hình 5.58                 

    Một đa thức cần được chọn theo các đặc tính sau:

    Không được chia đúng cho a

    Chia đúng cho (x + 1)

    Điều kiện đầu nhằm bảo đảm là tất cả các nhiễu bệt có độ dài bằng bậc của đa thức đều được phát hiện. Điều kiện thứ hai bảo đảm là tất cả các nhiễu bệt ảnh hưởng lên thứ tự bit  lẻ  được phát hiện.

    Thí dụ 4:

    Rõ ràng là ta không thể chọn x (số nhị phân 10) hay x2 + x (số nhị phân 110) làm đa thức được vì chúng chia hết cho x. Tuy nhiên, ta có thể chọn x+1 (tương ứng 11) do không chia hết cho x, mà chia hết cho (x+1), cũng như ta có thể chọn x2 + 1 (số nhị phân 101) do chia hết cho (x+1).

    Các đa thức chuẩn dùng trong bộ chia CRC được minh họa trong hình 13. Các số 12, 16, và 32 có liên quan đến kích thước của dư số CRC. Bộ chia CRC tương ứng là 13, 17 và 33 bit.

    Hình 5.59                 

    Hiệu năng:

    CRC là phương pháp phát hiện lỗi rất hiệu quả nếu bộ chí được chọn theo các luật vừa nêu do:

    CRC có thể phát hiện tất cả các nhiễu bệt ảnh hường lên các bit có thứ tự lẻ.

    CRC có thể phát hiện các nhiễu bệt có độ dài bé hơn hay bằng bậc của đa thức.

    CRC có thể phát hiện với xác suất cao các nhiễu bệt có độ dài lớn hơn bậc của đa thức.

    Thí dụ 5:

    CRC – 12 (x12 + x11 + x3 + x + 1) có bậc 12, có thể phát hiện tất cả các nhiễu bệt ảnh hưởng lên các bit lẻ, và cũng có thể phát hiện tất cả các nhiễu bệt có độ dài lớn hơn hay bằng 12, và phát hiện đến 99,97% các nhiễu bệt có độ dài lớn hơn 12 hay dài hơn nữa.

     

    CHECKSUM

    Phương pháp phát hiện lỗi ở giao lớp lớp cao hơn và giống như các phương pháp VRC, LRC, và CRC thì phương pháp này cũng dựa trên yếu tố thừa (redundancy).

    Bộ tạo checksum:

    Tại máy phát, bộ này chia các đơn vị dữ liệu thành các phân đoạn bằng nhau với n bit (thường là 16). Các phân đoạn này được cộng với nhau dùng phương pháp bù 1 để có kết quả cũng có độ dài n bit. Giá trị tổng này được lấy bù và gắn vào đuôi của dữ liệu gốc như là giá trị thừa, và được gọi là trường checksum. Các đơn vị dữ liệu mở rộng này được truyền qua mạng. Như thế, nếu tổng của đơn vị dữ liệu là T, thì checksum là  - T (xem hình 5.60 và 5.61).

    Hình 5.60                 

    Các bước gửi:

       ■ Đơn vị dữ liệu chia cho k phần n bit.

       ■ Các phần được cộng với nhau bằng phương pháp bù 1 để có tổng có n bit

       ■ Giá trị tổng này được lấy bù và gắn vào đuôi của dữ liệu gốc như là giá trị thừa.

       ■ Dữ liệu được truyền

    Hình 5.61                 

       Các bước nhận:

                   ■ Đơn vị dữ liệu chia cho k phần n bit..

                   ■ Các phần được cộng với nhau bằng phương pháp bù 1 để có tổng có n bit.

                   ■ Lấy bù kết quả.

                   ■ Nếu kết quả bằng 0, dữ liệu được chấp nhận, khác thì không chấp nhận.

    Bộ kiểm tra checksum:

    Máy thu chia nhỏ đơn vị dữ liệu thành các phân đoạn và lấy các giá trị bù. Nếu đơn vị dữ liệu là còn nguyên, thì giá trị tổng có được từ phép cộng các phân đoạn dữ liệu và checksum sẽ là 0. Nếu kết quả khác không, thì gói có chứa lỗi và máy thu loại bỏ đơn vị dữ liệu này.

    Thí dụ 6:

    Giả sử khối 16 bit sau được gởi đi dùng checksum 8 bit

    Số này được cộng với phần bù một , để có:

    Thí dụ 7:

    Giả sử máy thu nhận được mẫu sau của thí dụ 7 và không có lỗi, thì

    Khi máy thu cộng ba phân đoạn lại, thì sẽ có tổng là các giá trị 1, tức là sau khi lấy bù, có giá trị 0, cho thấy không có lỗi.

    Thí dụ 8:

    Giả sử có nhiễu bệt với độ dài 5 ảnh hưởng lên 4 bit

    Khi máy thu cộng ba đoạn này lại, thì có giá trị khác không, nên không nhận:

    Hiệu năng:

    Checksum phát hiện được tất cả các lỗi bit lẻ cùng như hầu hết các bit chẳn. Tuy nhiên, nếu một hay nhiều bit trong phân đoạn bị hỏng và bit tương ứng hay bit có giá trị đảo trong phân đoạn thứ hai cũng bị lỗi, thì khi lấy tổng, không nhận ra thay đổi và máy thu không phát hiện lỗi được. Nếu bit cuối trong một phân đoạn là 0 và bi đổi thành 1 khi truyền, thì ta không thể phát hiện ra lỗi nếu bit 1 cuối của phân đoạn thứ hai cũng chuyển thành 0.

    4.2.3 Sửa lỗi

    Các cơ chế vừa trình bày chỉ có thể phát hiện, nhưng không thể sửa lỗi. Có hai phương pháp sửa lỗi là: Thứ nhất, khi phát hiện một lỗi, máy thu phải yêu cầu máy phát chuyển lại toàn bộ đơn vị dữ liệu; cách thứ hai máy thu dùng các mã sửa lỗi, để sửa tự động một số lỗi.

    Về mặt lý thuyết, thì có có thể sửa chửa tự động bất kỳ số nhị phân nào. Các mã sửa lỗi, thường rất phức tạp hơn so với mã phát hiện lỗi và cần nhiều bit dư hơn nữa. Số bit cần thiết để sửa lỗi nhiều bit hay lỗi bệt thường rất lớn và không phải lúc nào cũng hiệu quả. Nên, thông thường hầu hết các phương pháp sửa lỗi đều giới hạn ở một, hai hoặc ba bit mà thôi.

    Sửa lỗi đơn

    Ý niệm đơn giản và dễ hiểu nhất. Như đã biết thì lỗi bit đơn có thể được phát hiện bằng cách thêm các bit dư (parity) vào trong đơn vị dữ liệu (VRC). Một bit được thêm vào có thể phát hiện lỗi một bit trong nhiều chuỗi bit do phải phân biệt hai điều kiện: lỗi và không có lỗi. Mỗi bit có hai trạng thái (0 và 1) nên đủ điều kiện để phát hiện lỗi ở cấp độ này.

    Nhưng nếu muốn sửa lổi đơn thì phải làm sao? Hai trạng thái là đủ để phát hiện lỗi nhưng chưa đủ để sửa lỗi. Lỗi xuất hiện khi máy thu đọc bit 1 thành 0 và bit 0 thành 1. Để sửa lỗi thì máy thu chỉ cần đảo ngược lại giá trị bit sai. Tuy nhiên, điều quan trọng là phải biết được bit nào bị sai. Như thế, bí mật trong sửa lỗi là phương pháp định vị được bit sai này.

    Thí dụ, khi cần sửa lỗi một bit trong ký tự ASCII, thì mã sửa lỗi phải xác định bit nào bị thay đổi trong bảy bit. Trường hợp này, cần phân biệt được giữa tám trạng thái khác nhau: không lỗi, lỗi ở vị trí 1, lỗi ở vị trí 2, và tiếp tục cho đến vị trí 7. Như thế cần thiết phải có đủ số bit dư để biểu diễn được tám trạng thái này.

    Đầu tiên, ta nhận thấy là với 3 bit là đủ do có thể biểu diễn được tám trạng thái (từ 000 đến 111) và như thế thì có thể chỉ ra được tám khả năng khác nhau. Tuy  nhiên, việc gì xảy ra nếu lỗi lại rơi vào các bit dư này? Bảy bit trong ký tự ASCII cộng với 3 bit dư sẽ tạo ra 10 bit. Với ba bit là đủ, tuy nhiên cần có thêm các bit phụ cho tất cả các tình huống có thể xảy ra.

    Các bit dư

    Để tính số bit dư (r) cần có để có thể sửa lỗi một số bit dữ liệu (m), ta cần tìm ra quan hệ giữa mr. Trong hình 5.62 cho thấy m bit dữ liệu và r bit dư. Độ dài của mã có được là m+r.

    Hình 5.62                 

    Nếu tổng số các bit trong một đơn vị được truyền đi là m+r, thì r phải có khả năng chỉ thị ít nhất m+r+1 trạng thái khác nhau. Trong đó, một trạng thái là không có lỗi và m+r trạng thái chỉ thị vị trí của lỗi trong mỗi vị trí m+r.

    Điều đó, tức là m+r+1 trạng thái phải được r bit phát hiện ra được; và r bit có chể chỉ được 2r trạng thái khác nhau. Như thế, 2r  phải lớn hơn hay bằng m+r+1:

    2r ³ m+r+1.

    Giá trị của r có thể được xác định từ cách gắn vào trong  giá trị của m (chiều dài ban đầu của đơn vị dữ liệu cần gởi đi). Thí dụ, nếu giá trị của m là 7 (trường hợp 7 bit của mã ASCII), thì gía trị bé nhất của r cần thỏa mãn phương trình là 4:

                                                   2r ³ 7+4+1.

    Bảng B.1 cho thấy một số khả năng của các giá trị mr tương ứng.

    Số lượng bit dữ liệu (m)

    Số lượng bit dư (r)

    Tổng số bit (m+r)

    1

    2

    3

    2

    3

    5

    3

    3

    6

    4

    3

    7

    5

    4

    9

    6

    4

    10

    7

    4

    11

     Mã Hamming

    Ta đã xem xét số lượng bit cần thiết để phủ toàn bộ trạng thái bit lỗi có thể có khi truyền. Nhưng điều còn lại là phải xử lý như thế nào để biết được trạn thái đang xuất hiện? R.W.Hamming cung cấp một giải pháp thực tiển.

    Định vị của các bit dư

    Mã Hamming có thể được áp dụng vào đơn vị dữ liệu có chiều dài bất kỳ dùng quan hệ giữa dữ liệu và các bit dư đã được khảo sát trước đây. Thí dụ, mã 7 bit ASCII cần có bốn bit dư được thêm vào phần cuối đơn vị dữ liệu hay phân bố vào bên trong các bit gốc. Trong hình 5.63, các bit này được đặt ở các vị trí 1, 2, 4 và 8 (vị trí của chuổi 11 bit  được sắp xếp theo số lũy thừa của 2). Để hiểu rõ hơn, ta gọi các bit này lần lượt là r1, r2, r4r8.

    Hình 5.63                 

    Trong mã Hamming, mỗi bit r là bit VRC của một tổ hợp các bit; r1 là bit VRC của một tổ hợp bit; r2 là một bit trong một tổ hợp bit khác và cứ thế tiếp tục. Tổ hợp được dùng để tính toán mỗi giá trị trong bốn bit r này trong chuỗi bảy bit được tính  toán như sau:

    r1: bit 1, 3, 5, 7, 9, 11

    r2: bit 2, 3, 6, 7, 10, 11

    r4: bit 4, 5, 6, 7

    r8: bit  8, 9, 10, 11

    Mỗi bit dữ liệu có thể tính đến trong nhiều hơn một lần tính VRC. Thí dụ, trong chuỗi trên, mội bit dữ liệu gốc được tính đến trong ít nhất hai tập, trong khi r chỉ được tính một lần.

    Để tìm các mẫu trong chiến lược tính toán này, hảy xem cách biểu diễn của mỗi vit trí bit. Bit r1 được tính dùng tất cả các vị trí bit có cách biểu diễn nhị phân có 1 trong vị trí tận cùng bên phải.  Bit r2 được tính dùng tất cả các vị trí bit có cách biểu diễn nhị phân có 1 trong vị trí thứ hai bên phải và tiếp tục như vẽ trong hình 5.64.

    Hình 5.64                 

    Tính toán các giá trị r

    <ș>

    Hình 5.65                 

    Hình 5.65 minh họa các thiết lập mã Hamming trong ký tự ASCII. Bước đầu tiên, ta đặt mỗi bit của ký tự gốc vào vị trí thích hợp trong đơn vị 11 bit. Trong bước kế tiếp, ta tính các parity chẵn với nhiều tổ hợp bit khác nhau. Giá trị parity của mỗi tổ hợp là giá trị bit r tương ứng.Thí dụ, giá trị của r1 được tính để cung cấp parity chẵn cho  tổ hợp các bit 3, 5, 7, 9 và 11. Giá trị của r2 được tính để cung cấp parity bit cho các bit 3, 6, 7, 10 và 11, và cứ thế tiếp tục. Mã 11 bit sau cùng được gởi đi qua đường truyền.

    Phát hiện và sửa lỗi

    <ș>

    Hình 5.66                 

    Giả sử trong lúc đó tín hiệu truyền đi được tiếp nhận, trong đó bit thứ 7 đã thay đổi từ 1 đến 0 (theo hình 5.66).

    Máy thu nhận và tính lại bốn VRC mới dùng cùng tập các bit được máy phát dùng cùng với parity bit r có liên quan với mỗi tập. Tiếp đến, máy thu ghép nối các giá trị parity mới vào trong số nhị phân lần lượt theo của vị trí r (r8, r4, r2, r1). Trong thí dụ trên, bước này cung cấp cho ta số nhị phân 0111 (7 theo giá trị thập phân), đây là vị trí chính xác của bit bit lỗi.

    Sau khi nhận dạng xong bit lỗi, thì chỉ việc đảo ngược giá trị bit này đề có bit đúng.

     

     

    ky thuat truyen so lieu