1. Trang chủ
  2. » Luận Văn - Báo Cáo

THUẬT TOÁN VITERBI

41 3.1K 10

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • MỤC LỤC

  • THUẬT TOÁN VITERBI

    • 1. Khái niệm mã chập

    • 2. Phân tích mã hóa dùng mã chập

    • 3. Cấu trúc mã chập

    • 4. Biểu diễn mã chập

    • 5. Ưu nhược điểm của mã chập

      • 5.1 Ưu điểm

      • 5.2. Nhược điểm

    • 6. Định nghĩa thuật toán Viterbi

    • 7. Phân tích thuật giải Viterbi

    • 8. Giải mã quyết định cứng và giải mã quyết định mềm

      • 8.1 Thuật toán Viterbi quyết định cứng

      • 8.2 Thuật toán Viterbi quyết định mềm

        • 8.2.1 Thuật toán Viterbi quyết định mềm (phương pháp 1)

        • 8.2.2 Thuật toán Viterbi quyết định mềm (phương pháp 2)

      • 8.3 Ưu điểm của giải mã quyết định mềm so với giải mã quyết định cứng

    • 9. Xác suất lỗi

    • 10. Ưu nhược điểm của thuật toán giải mã Viterbi

      • 10.1 Ưu điểm

      • 10.2 Nhược điểm

  • TÀI LIỆU THAM KHẢO

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐÀO TẠO SAU ĐẠI HỌC TIỂU LUẬN MÔN MẠNG THÔNG TIN QUANG THẾ HỆ MỚI ĐỀ TÀI: THUẬT TOÁN VITERBI Giảng viên hướng dẫn Học viên cao học Hà Nội, tháng 5/2012 Lớp : TS.BÙI VIỆT KHÔI : LÊ HOÀI VIỆT LƯƠNG HỒNG QUÝ ĐINH VĂN HƯỜNG ĐỖ HỮU TRỌNG NGUYỄN HỮU MẠNH : BK01-KTTT1B MỤC LỤC THUẬT TOÁN VITERBI Khái niệm mã chập Mã chập kỹ thuật mã hóa sửa sai Mã chập thuộc họ mã lưới (mã hóa theo Trellis) xây dựng dựa đa thức sinh sơ đồ chuyển trạng thái (trellis mã) đặc trưng Quá trình giải mã mã chập phải dựa vào trellis mã thông qua giải thuật khác nhau, tiếng giải thuật Viterbi Tại gọi mã chập cấu trúc mã hóa biểu diễn dạng phép tính chập đa thức sinh mã chuỗi tín hiệu mã hóa Mã hóa chập thuật toán giải mã Viterbi sử dụng khoảng tỉ điện thoại, lớn loại thuật toán ứng dụng Tuy nhiên, thuật toán xử lý viterbi ứng dụng nhiều thiết bị âm hình ảnh kỹ thuật số Ngày nay, chúng sử dụng thiết bị bluetooth Mục đích mã hóa kênh truyền nhằm tăng dung lượng kênh truyền, cách cộng thêm vào tín hiệu liệu dư thừa thiết kế cách cẩn thận trước truyền lên kênh truyền Mã hóa chập mã hóa khối dạng mã hóa kênh truyền Mã hóa chập dựa liệu nối tiếp, vài bit truyền lúc, mã hóa khối dựa khối liệu lớn tương quan (đặc trưng khoảng vài trăm bytes) Ví dụ, mã Redsolomon mã hóa khối Sự khác mã hóa khối mã hóa chập mã hóa khối mã hóa không nhớ Cho chuỗi liệu K bit, ngõ mã hóa khối khối liệu n bit Mã hóa chập không kết nối khối bit riêng vào khối từ mã, thay vào chấp nhận chuỗi bit liên tục taọ thành chuỗi ngõ Hiệu hay tốc độ liệu mã hóa chập đánh giá tỉ lệ số bit ngõ vào k, số bit ngõ n Trong mã hóa chập có vài nhớ dùng để ghi nhớ dòng bit vào Thông tin sử dụng để mã hóa bit Phân tích mã hóa dùng mã chập Mã chập mã tuyến tính có ma trận sinh có cấu trúc cho phép mã hóa xem phép lọc (hoặc lấy tổng chập) Mã chập sử dụng rộng rãi thực tế Bởi mã hóa xem tập hợp lọc số tuyến tính với dãy mã đầu lọc ghép xen kẽ Các mã chập mã xây dựng thuật toán giải mã định mềm hiệu Mã khối từ khối k dấu (hay ký hiệu) tạo khối n dấu Với mã chập (thường xem mã dòng), mã hóa hoạt động dòng liên tục bit vào không phân thành khối tin rời rạc Tuy nhiên tốc độ mã hiểu có k ngõ vào bước thời gian tạo n ngõ Các phép tính số học sử dụng hình thức mã hóa thực hiệntrên trường tùy ý thông thường GF(2) Ta biểu thị dãy hàm truyền đạt chuỗi lũy thừa biến x(đôi dùng ký hiệu D thay cho x) Dãy {…,m-2, m-1, m0, m1, m2, …} (với phần tử mi thuộc trường F) xem chuỗi Laurent: Tập tất chuỗi Laurent F trường, ta ký hiệu trường F[[X]] Đối với dòng nhiều bit vào ta dùng ký hiệu m(1)(x) biểu thị dòng đầu vào đầu tiên, m(2)(x) biểu thị dòng đầu vào thứ hai Tập dòng vào xem vectơ: m(x)=[ m(1)(x) m(2)(x)]2 Bộ mã hóa cho mã chập thường coi tập lọc số Hình ví dụ mã hóa Hình Bộ mã hóa cho mã chập tốc độ (các ô D biểu thị ô nhớ bít – trigger D) Dòng vào mk qua hai lọc dùng chung phần tử nhớ tạo hai dòng Hai dòng đưa xen kẽ để tạo dòng mã hóa Ck Như bít vào lại có hai bít mã hóa đưa ra, kết ta có mã có tốc độ R=1/2 Thông thường ta coi trạng thái ban đầu phần tử nhớ Như vậy, với dòng vào m = {1, 1, 0, 0, 1, 0, 1} đầu là: C(1)= {1, 0, 0, 1, 1, 1, 0, 1, 1} C(2)= {1, 1, 1, 1, 1, 0, 0, 0, 1} Dòng ra: C = {11, 01, 01, 11, 11, 10, 00, 10, 11} Ở dấu phẩy phân cách cặp bít ứng với bít vào.Ta biểu thị hàm truyền từ đầu vào m(x) từ đầu C(1)(x) sau: g1(x) = + x +x2 Tương tự ta có g2(x)= + x2 Dòng vào m = {1, 1, 0, 0, 1, 0, 1} biểu thị sau: m (x) = 1+ x+ x4+ x6 GF(2)[[X]] Các đầu C(1)(x) = m(x)g1(x) = (1+ x +x4 + x6 )(1+ x + x2) = +x3 +x4 +x5 +x7 + x8 C(2)(x) = m(x)g2(x) = (1+ x +x4 + x6 )(1+ x2) = 1+x + x2 +x3 +x4 +x8 Với mã chập tốc độ có hàm truyền ma trận k x n (còn gọi ma trận truyền) Với mã tốc độ ví dụ ta có: Ga(x)=[1+x+x2 1+x2] Ma trận truyền dạng đa thức, ta thấy thông qua ví dụ sau: Ví dụ: Xét ma trận truyền mã chập sau: Vì có “1” cột nên dòng vào xuất trực tiếp đầu đan xen, mã chập hệ thống Bộ mã hóa cho mã mô tả hình 2: Hình 2: Bộ mã hóa hệ thống với R= ½ Với dòng vào: m (x) = 1+ x + x2 + x3+ x4 + x8 đầu C(1)k C(2)k có dạng: Một mã hóa có hàng đa thức ma trận truyền gọi bộmã hóa có đáp ứng xung hữu hạn Một mã hóa có hàm hữu tỷ ma trậntruyền gọi mã hóa có đáp ứng xung vô hạn Với mã có tốc độ k/n với k > dãy tin tức đầu vào (ta coi tách từ dãy tin tức thành k dòng), ta có: m(x) = [m(1)( x), m(2)(x),…,m(k)(x)] Dãy biểu thị sau: C(X) = [C(1)(x), C(2)(x),…,C(n)(x)] = m(x)G(x) Ma trận truyền G(x) gọi hệ thống xác định ma trận đơn vị phần tử G(x) (chẳng hạn phép hoán vị hàng và/hoặc cột G(x) thu ma trận đơn vị) Từ ví dụ ta có định nghĩa sau cho mã chập Định nghĩa: Mã chập tốc độ R = k/n trường chuỗi Laurent hữu tỷ F[[X]] trường F ảnh ánh xạ tuyến tính đơn ánh chuỗi Laurent k chiều m(x)k vào chuỗi Laurent C(x) n Cấu trúc mã chập Mã chập tạo cách cho chuỗi thông tin truyền qua hệ thống ghi dịch tuyến tính có số trạng thái hữu hạn Cho số lượng ghi dịch m (cũng ký hiệu N), mã có k bit ngõ vào đầu mã chập có n bit ngõ (n hàm đại số tuyến tính n ngõ cộng modulo) Tốc độ mã R = k/n, số ô nhớ ghi dịch m×k tham số L gọi chiều dài ràng buộc (Constraint length) mã chập (với L=k(m-1)) Các thông số k,n có phạm vi giới hạn khoảng giá trị từ đến 8, thông số m khoảng từ đến 10, tốc độ mã R từ 1/8 đến 7/8 ngoại trừ mã hóa sử dụng viễn thông vũ trụ có tốc độ 1/100 chí cao Trong số tài liệu, nói đến mã chập, người ta đặc trưng cho mã hóa chập chiều dài ràng buộc K tốc độ mã R Tốc độ mã, R=k/n, hiểu tỉ số số bit ngõ vào số ký hiệu ngõ mã hóa Thông số chiều dài ràng buộc, K, cho biết “chiều dài” mã hóa mã chập, ví dụ, có trạng thái kbit đưa đến mạch logic tổ hợp để tạo ký hiệu ngõ Trong nội dung đề tài này, sử dụng mã với liệu bao gồm chiều dài ràng buộc K tốc độ mã R đề cập Khi thực với mã chập ứng dụng thông thường, người ta thường chọn số ghi giới hạn, ghi có ô nhớ để đơn giản cho việc thiết kế mà đảm bảo tính mã hóa tốt Tương ứng với tốc độ mã hóa (các mã đơn giản), người ta thử nghiệm chọn số đa thức sinh cho hiệu mã hóa cao để sử dụng Giả thiết, mã chập làm việc với chữ số nhị phân, lần dịch có k bit thông tin đầu vào dịch vào ghi dịch thứ tương ứng có k bit thông tin ghi dịch cuối đẩy mà không tham gia vào trình tạo chuỗi bit đầu Đầu nhận chuỗi n bit mã từ n cộng môđun-2 (xem hình 2.5) Như vậy, giá trị chuỗi đầu kênh không phụ thuộc vào k bit thông tin đầu vào mà phụ thuộc vào (m-1)k bit trước đó, gọi mã chập (n,k,m) Chuỗi thông tin Đầu vào k bit Hình Sơ đồ tổng quát mã chập Giả sử u véctơ đầu vào, x véctơ tương ứng mã hoá, mô tả cách tạo x từ u Để mô tả mã hoá phải biết kết nối ghi đầu vào vào đầu hình 2.5 Cách tiếp cận giúp tương tự khác với mã khối Điều dẫn tới ký hiệu phức tạp nhằm nhấn mạnh cấu trúc đại số mã chập Điều làm giảm tính quan tâm cho mục đích giải mã Do vậy, phác hoạ tiếp cận cách sơ lược Sau đó, mô tả mã hoá đưa với quan điểm khác Để mô tả mã hoá hình 2.5 sử dụng N ma trận bổ sung G1,G2…,GN bao gồm k hàng n cột Ma trận Gi mô tả kết nối đoạn thứ i k ô nhớ ghi ngõ vào với n ô ghi ngõ N ngõ vào hàng Gi mô tả kết nối ô đoạn ghi đầu vào thứ i với n ô ghi ngõ Kết “1” Gi nghĩa có kết nối, “0” nghĩa không kết nối Do định nghĩa ma trận sinh mã chập: Và tất các ngõ vào khác ma trận Do ngõ vào véctơ u, tương ứng véctơ mã hoá là: Bộ mã chập hệ thống đoạn n chữ số đuợc tạo, k số đầu mẫu chữ số đầu vào tương ứng Nó xác định điều kiện tương đương có ma trận k×n theo sau: Chúng ta xét vài ví dụ minh hoạ sau đây: Ví dụ : Xét mã (3,2,2) Bộ mã hoá hình 2.6 Bây mã định nghĩa thông qua ma trận: Bộ mã hoá hệ thống, ma trận sinh tạo ra: Chuỗi thông tin u = ( 11011011…) mã hóa thành chuỗi mã x = (111010100110…) Hình 4.Bộ mã chập (3,2,2) Một cách tương tự ta biểu diễn ma trận sinh G = (G1,G2,…,GN) Như ý nghĩa ma trận sinh phải sử dụng hàm tương ứng để tạo véc tơ dài n phần tử có cộng môđun-2, véc tơ có N×k tham số biểu diễn có hay không kết nối từ trạng thái ghi dịch tới cộng môđun-2 Xét véc tơ thứ i (gi, n ≥ i ≥ 1), tham số thứ j gi (L×k ≥ j ≥1) có giá trị “1” đầu thứ j tương ứng ghi dịch kết nối tới cộng môđun2 thứ i có giá trị “0” đầu thứ j tương ứng ghi dịch không kết nối tới cộng môđun-2 thứ i Biểu diễn mã chập Có ba phương pháp để biểu diễn mã chập là: sơ đồ lưới, sơ đồ trạng thái, sơ đồ hình Để làm rõ phương pháp ta tập trung phân tích dựa ví dụ hình với mã (2,1,3), đa thức sinh (7,5) * Sơ đồ hình cây: Từ ví dụ hình 1, giả thiết trạng thái ban đầu ghi dịch mã trạng thái “toàn 0” Nếu bit vào bit “0” đầu ta nhận chuỗi “00”, bit vào bit “1” đầu ta nhận chuỗi “11” Nếu bit vào bit “1” bit vào bit “0” chuỗi thứ “11” chuỗi thứ hai chuỗi “10” Với cách mã hoá vậy, ta biểu diễn mã chập theo sơ đồ có dạng hình (xem hình 5).Với hướng lên hướng bit vào mã, nhánh xuống biểu cho bit dịch vào Từ sơ đồ hình ta thực mã hoá cách dựa vào bit đầu vào thực lần theo nhánh cây, ta nhận tuyến mã, từ ta nhận dãy chuỗi đầu Hình Sơ đồ hình mã (2,1,3) *Sơ đồ hình lưới: Do đặc tính mã chập, cấu trúc vòng lặp thực sau: chuỗi n bit đầu phụ thuộc vào chuỗi k bit đầu vào hành (N-1) chuỗi đầu vào trước hay (N-1) × k bit đầu vào trước Từ ví dụ hình ta có chuỗi bit đầu phụ thuộc vào bit đầu vào “1” “0” trạng thái có hai ghi dịch, “00”; “01”; “10”; “11” Từ sơ đồ hình trên, ta thấy tầng thứ 3, trạng thái 00, 01, 10, 11 có nhánh đến từ trạng thái trước tùy thuộc vào bit dịch vào mã bit hay bit Với tính chất ta biểu diễn mã chập sơ đồ có dạng hình lưới gọn hơn, đường liền nét ký hiệu cho bit đầu vào bit “1” đường đứt nét ký hiệu cho bit đầu vào bit “0” (xem hình 6) Ta thấy từ sau tầng thứ hai hoạt động lưới ổn định, nút có hai 10 8.1 Thuật toán Viterbi định cứng Đối với mã tích chập, chuỗi ngõ vào xoắn thành chuỗi mã hóa c Chuỗi c phát xuyên qua kênh nhiễu chuỗi nhận chuỗi r Thuật toán Viterbi thuật ước đoán khả xảy lớn (Maximum Likelihood-ML) cho chuỗi mã hóa ước đoán y từ chuỗi nhận r chuỗi đạt xác xuất p(r/y) lớn Chuỗi y phải chuỗi mã hóa cho phép chuỗi tùy ý Hình 21 trình bày cấu trúc hệ thống Hình 21 Hệ thống mã tích chập Đối với mã tích chập có tốc độ r, ngõ vào mã hóa k bit song song ngõ n bit song song bước Chuỗi ngõ Và chuỗi mã hóa Trong L chiều dài chuỗi tin ngõ vào m chiều dài lớn ghi dịch Yêu cầu phải thêm vào đuôi chuỗi mã hóa với m bit zero mã hóa tích chập trở trạng thái tất zero Yêu cầu mã hóa phải bắt đầu kết thúc trạng thái tất zero Các số bên số thời gian số bên bit khối k bit ngõ vào hay n bit ngõ riêng lẻ Các chuỗi ước đoán y chuỗi nhận r mô tả tương tự Đối với giải mã ML, thuật toán Viterbi chọn y để P(r/y) lớn Giả thiết kênh không nhớ, trình nhiễu ảnh hưởng lên bit nhận độc lập với= 27 trình nhiễu ảnh hưởng lên tất bit khác Từ lý thuyết xác suất (xác suất liên kết), xác suất tập hợp kiện độc lập tương đương với tính xác suất kiện riêng lẻ Vì vậy, Biểu thức gọi hàm có khả xảy y với r nhận Việc ước đoán P(r/y) lớn logP(r/y) lớn hàm logarit hàm tăng Vì vậy, hàm log khả xảy định nghĩa log log(/) Vì thao tác tổng dễ dàng thao tác hàm log nên metric bit định nghĩa sau: Trong a b chọn trước metric bit số nguyên dương nhỏ Các giá trị a b định nghĩa cho kênh hệ thống nhị phân (BSC) hay giải mã định cứng Hình 22 trình bày BSC Hình 22 Kiểu kênh hệ thống nhị phân, p xác suất chéo Đối với BSC a b chọn theo cách phân biệt Theo cách thông thường a b chọn sau: 28 Kết metric bit Từ kiểu BSC, rõ ràng lấy giá trị p 1-p Bảng trình bày kết metric bit Bảng Các giá trị metric bit thông thường Metric bit biểu diễn ước lượng bit giải mã bit nhận Ví dụ bit giải mã yi(j) = bit nhận ri(j) = ước lượng M(yi(j) | ri(j)) = Tuy nhiên, bit giải mã yi(j) = bit nhận ri(j) = ước lượng M(yi(j) | ri(j)) = Như điều liên quan đến khoảng cách Hamming biết metric khoảng cách Hamming Vì vậy, thuật toán Viterbi chọn chuỗi mã y qua trellis có ước lượng/khoảng cách Hamming nhỏ liên quan đến chuỗi nhận r Cách khác a b chọn sau: Và Kết metric bit cách Bảng 9: Các giá trị metric bit cách 29 Đối với trường hợp thuật toán Viterbi chọn chuỗi mã hóa y qua trellis có ước lượng/khoảng cách Hamming lớn chuỗi nhận r Hơn nữa, kênh tùy ý(không thiết BSC), giá trị a b tìm theo nguyên tắc thử- – sai để lấy metric bit chấp nhận Từ metric bit, metric đường định nghĩa là: Và tổng ước lượng việc ước đoán chuỗi bit nhận r với chuỗi bit mã hóa y sơ dồ trellis Hơn metric nhánh thứ K định nghĩa sau: Và metric đường thành phần định nghĩa sau: Do Metric nhánh thứ k việc ước lượng chọn nhánh từ biểu đồ trellis Metric đường thứ k việc ước lượng chọn chuỗi bit mã hóa phần y tới số thời gian k Thuật toán Viterbi sử dụng biểu đồ trellis để tính metric đường Mỗi trạng thái (nút) biểu đồ trellis gán giá trị gọi metric đường thành phần Metric đường phần xác định từ trạng thái s = thời điểm t = đến trạng thái đặc biệt s = k thời điểm t >= Tại trạng thái metric đường phần tốt chọn từ đường kết thúc trạng thái Metric đường phần tốt 30 nhất, metric lớn hay nhỏ phụ thuộc vào a b chọn theo cách thông thường hay chọn lựa khác Metric chọn diễn tả đường tồn (survivor) metric lại diễn tả đường không phù hợp (nonsurvivor) Các đường tồn lưu lại đường không phù hợp bị loại bỏ sơ đồ trellis Thuật toán Viterbi chọn đường tồn đơn giản từ cuối tiến trình giống đường ML Sau truy ngược theo đường ML biểu đồ trellis tìm chuỗi giải mã ML Thuật toán Viterbi định cứng thực sau: Sk,t trạng thái biểu đồ trellis tương ứng với trạng thái Sk thời điểm t Mỗi trạng thái Trellis gán giá trị V(Sk,t) (a) khởi tạo t = (b) khởi tạo V(S0,0) = tất V khác V(Sk,t) = (a) lấy t = t+1 (b) Tính metric đường phần cho tất đường đến trạng thái Sk thời điểm t Đầu tiên, tìm metric nhánh thứ t Metric tính từ khoảng cách Hamming Thứ hai, tính metric đường thành phần thứ t Metric tính từ V(Sk,t-1) + M(rt |yt) a) Lấy V(Sk,t) đến metric đường phần tốt trạng thái S k thời điểm t Thông thường, metric đường phần tốt metric đường phần có giá trị nhỏ (b) Nếu có nút TIE nằm metric đường phần tốt nhất, sau metric đường phần chọn 31 Lưu trữ metric đường phần và đường trạng thái với bit tồn liên kết Nếu t < L+m-1, trở bước Kết thuật toán Viterbi đường Trellis tương ứng với từ mã ML Ví dụ: Biểu đồ chuyển tiếp trạng thái trình bày bit tin bit mã hóa ước đoán theo nhánh (cần thiết cho trình giải mã ) Việc giải mã chọn đường ML thông qua trellis trình bày hình 23 Metric đường phần (được lưu trữ) chọn cho ví dụ khoảng cách Hamming lớn trình bày hình cho nút Các metric đường phần đậm tương ứng với ML Các đường tồn biểu diễn đường liền nét đậm đường cạnh tranh biểu diễn đường nét đứt Hình 23 Biểu diễn Viterbi theo ví dụ 8.2 Thuật toán Viterbi định mềm Có phương pháp tổng quát thực thuật toán Viterbi định mềm Phương pháp thứ (phương pháp 1) sử dụng metric khoảng cách Euclidean thay cho metric khoảng cách Hamming Các bit nhận sử dụng metric khoảng cách Euclidean xử lí lượng tử hóa nhiều mức Phương pháp thứ hai (phương pháp 2) sử dụng metric tương quan bit nhận dùng metric xử lí lượng tử hóa nhiều mức 8.2.1 Thuật toán Viterbi định mềm (phương pháp 1) Trong giải mã định mềm, thu không gán hay (lượng tử hóa bit đơn) cho bit nhận mà sử dụng giá trị lượng tử hóa nhiều bit hay bit không xác định Lý tưởng, chuỗi thu r lượng tử hóa bit không xác định sử dụng trực tiếp giải mã định mềm Thuật toán Viterbi định mềm tương tự với 32 thuật toán định cứng ngoại trừ khoảng cách Euclidean bình phương sử dụng metric thay cho khoảng cách Hamming Thuật toán Viterbi định mềm thực sau S k, t trạng thái biểu đồ trellis tương ứng với trạng thái S k thời điểm t Mỗi trạng thái trellis gán giá trị V(Sk,t) (a) Khởi tạo t = (b) Khởi tạo V(S0, 0) = tất V khác V(Sk, t) = +∞ (a) Lấy t = t + (b) Tính metric đường thành phần cho tất đường đến trạng thái Sk thơi điểm t Đầu tiên tìm metric nhánh thứ t Metric tính từ khoảng cách Euclidean Thứ 2, tính metric đường phần thứ t Metric tính từ (a) Gán V(Sk, t ) cho metric đường phần tốt trạng thái S k, thời điểm t Thông thường metric đường phần tốt metric đường phần có giá trị nhỏ (b) Nếu có TIE cho metric đường phần tốt nhất, sau metric đường phần chọn Lưu trữ metric đường phần đường trạng thái bit tồn liên kết Nếu t [...]... 12 6 Định nghĩa thuật toán Viterbi Thuật toán Viterbi là một giải pháp được sử dụng phổ biến để giải mã chuỗi bit được mã hóa bởi bộ mã hóa tích chập Chi tiết của một bộ giải mã riêng phụ thuộc vào một bộ mã hóa tích chập tương ứng Thuật toán Viterbi không phải là một thuật toán đơn lẻ có thể dùng để giải mã những chuỗi bit mà được mã hóa bởi bất cứ một bộ mã hóa chập nào Thuật toán Viterbi được khởi... Andrew Viterbi năm 1967 như là một thuật toán giải mã cho mã chập qua các tuyến thông tin số có nhiễu Nó được sử dụng trong cả hai hệ thống CDMA và GSM, các modem số, vệ tinh, thông tin vũ trụ, và các hệ thống mạng cục bộ không dây Hiện nay còn được sử dụng phổ biến trong kỹ thuật nhận dạng giọng nói, nhận dạng từ mã, ngôn ngữ học máy tính Thuật toán giải mã Viterbi là một trong hai loại thuật toán giải... = v1 Bảng 1 Trạng thái ngõ vào và ngõ ra của bộ mã hóa tốc độ ½ Hình 9 Đồ hình trạng thái của mã chập ½ 14 Bậy giờ chúng ta có thể mô tả thuật toán giải mã, phần chính là thuật toán Viterbi Có lẽ, khái niệm quan trọng nhất để hỗ trợ cho việc hiểu được thuật toán Viterbi đó là sơ đồ Trellis Hình bên dưới cho chúng ta thấy sơ đồ trellis cho ví dụ của chúng ta ở tốc độ ½, mã hóa chập với chiều dài ràng... 8.2.1 Thuật toán Viterbi quyết định mềm (phương pháp 1) Trong giải mã quyết định mềm, bộ thu không gán 0 hay 1 (lượng tử hóa bit đơn) cho mỗi bit nhận được mà sử dụng các giá trị lượng tử hóa nhiều bit hay bit không xác định Lý tưởng, chuỗi thu r được lượng tử hóa bit không xác định và được sử dụng trực tiếp trong bộ giải mã quyết định mềm Thuật toán Viterbi quyết định mềm tương tự với 32 thuật toán. .. ứng với ML Các đường tồn tại được biểu diễn bởi các đường liền nét đậm và các đường cạnh tranh được biểu diễn bởi các đường nét đứt Hình 23 Biểu diễn Viterbi theo ví dụ 8.2 Thuật toán Viterbi quyết định mềm Có 2 phương pháp tổng quát thực hiện thuật toán Viterbi quyết định mềm Phương pháp thứ nhất (phương pháp 1) sử dụng metric khoảng cách Euclidean thay cho metric khoảng cách Hamming Các bit nhận sử... Hình 2.23 biểu diễn giải mã quyết định cứng và quyết định mềm Hình 20 Giải mã quyết định cứng và mềm 26 8.1 Thuật toán Viterbi quyết định cứng Đối với mã tích chập, chuỗi ngõ vào được xoắn thành chuỗi mã hóa c Chuỗi c được phát xuyên qua kênh nhiễu và chuỗi nhận được là chuỗi r Thuật toán Viterbi là thuật ước đoán khả năng xảy ra lớn nhất (Maximum Likelihood-ML) cho ra chuỗi mã hóa được ước đoán y từ chuỗi... (nonsurvivor) Các đường tồn tại được lưu lại trong khi các đường không phù hợp bị loại bỏ trong sơ đồ trellis Thuật toán Viterbi chọn đường tồn tại đơn giản đi từ cuối của tiến trình giống như đường ML Sau đó truy ngược theo đường ML trong biểu đồ trellis sẽ tìm được chuỗi giải mã ML Thuật toán Viterbi quyết định cứng có thể được thực hiện như sau: Sk,t là trạng thái trong biểu đồ trellis tương ứng với... bộ giải mã Viterbi K = 9 hoạt động ở tốc độ đến 96 kbps, và một bộ giải mã với K = 7 hoạt động với tốc độ lên đến 45 Mbps Các kỹ thuật không dây nâng cao có thể tạo ra một bộ giải mã Viterbi với K = 9 hoạt động ở tốc độ lên đến 2 Mbps NTT tuyên bố rằng họ đã tạo được bộ giãi mã Viterbi hoạt động ở tốc độ 60 Mbps, nhưng tính khả thi của nó vẫn chưa được kiểm chứng 7 Phân tích thuật giải Viterbi Chúng... Hamming và được biết như là metric của khoảng cách Hamming Vì vậy, thuật toán Viterbi chọn chuỗi mã y qua trellis có ước lượng/khoảng cách Hamming nhỏ nhất liên quan đến chuỗi nhận được r Cách khác a và b có thể được chọn như sau: Và Kết quả metric bit cách 2 là Bảng 9: Các giá trị metric bit cách 2 29 Đối với trường hợp này thuật toán Viterbi chọn chuỗi mã hóa y qua trellis có ước lượng/khoảng cách... metric đường từng phần có thể được chọn 4 5 Lưu trữ metric đường từng phần và các đường trạng thái và các bit tồn tại liên kết của nó Nếu t ... nghĩa thuật toán Viterbi Thuật toán Viterbi giải pháp sử dụng phổ biến để giải mã chuỗi bit mã hóa mã hóa tích chập Chi tiết giải mã riêng phụ thuộc vào mã hóa tích chập tương ứng Thuật toán Viterbi... chập tương ứng Thuật toán Viterbi thuật toán đơn lẻ dùng để giải mã chuỗi bit mà mã hóa mã hóa chập Thuật toán Viterbi khởi xướng Andrew Viterbi năm 1967 thuật toán giải mã cho mã chập qua tuyến... Hình Đồ hình trạng thái mã chập ½ 14 Bậy mô tả thuật toán giải mã, phần thuật toán Viterbi Có lẽ, khái niệm quan trọng để hỗ trợ cho việc hiểu thuật toán Viterbi sơ đồ Trellis Hình bên cho thấy

Ngày đăng: 28/12/2015, 12:11

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w