1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Bit-Interleaved Coded Modulation

Chủ đề trong 'Điện - Điện tử - Viễn thông' bởi TD, 10/11/2002.

  1. 0 người đang xem box này (Thành viên: 0, Khách: 0)
  1. TD

    TD Thành viên mới

    Tham gia ngày:
    27/06/2002
    Bài viết:
    25
    Đã được thích:
    0
    Hiện tôi đang phải làm một cái seminar về Bit-Interleaved Coded Modulation, tôi cũng đã có một số tài liệu để nghiên cứu nhưng có nhiều chỗ vẫn chưa thông lắm.
    Bạn nào biết/quan tâm về chủ đề này thì xin cho ý kiến nhé.
    Xin chân thành cảm ơn!
  2. molen

    molen Thành viên mới

    Tham gia ngày:
    11/12/2001
    Bài viết:
    18
    Đã được thích:
    0
    Lần đầu tiên tớ nghe đến thuật ngữ này nên cũng không dám chắc. Theo tớ biết thì trong hầu hết các sơ đồ khối transmitter/ receiver trong digital communication đều có 2 khối interleaver / de-interleaver ở ngay trước / sau bộ channel encoder / decoder nhằm mục đích trộn tín hiệu đưa vào bộ mã hoá (rồi sau đó modulated để phát đi). Có phải đây là topic của bạn không?
    Mục đích của bộ interleaver (còn gọi là scrambler) là khiến cho tín hiệu đưa vào bộ mã hoá có vẻ như ngẫu nhiên hơn - chính xác là uniform distributed. Như thế sẽ nâng cao được chất lượng mã hoá / giải mã nhất là khi dùng convolutional codes (với thuật toán giải mã Viterbi) vốn rất tốt khi sửa lỗi dạng ngẫu nhiên (đặc biệt là Gaussian) nhưng lại kém khi sửa group or burst errors (một nhóm các lỗi mà có tương quan lớn với nhau - chẳng hạn như ở cạnh nhau - giống như 1 vết xước trên CD). Bộ interleaver này thường được đặt giữa bộ block encoder và convolutional encoder. Kết hợp chúng lại thì chất lượng sửa lỗi của toàn hệ thống tăng lên rất nhiều.
    Một vấn đề tớ chưa rõ là bạn định xem xét / đánh giá toàn bộ hệ thống khi có dùng interleaver: nó sẽ có configuration thế nào, format ra sao, chất lượng ảnh hưởng ở mức độ nào khi dùng / ko dùng interleaver. Hay là bạn muốn đi sâu vào cấu trúc interleaver xem nguyên lí hoạt động, thuật toán cũng như tiêu chí và cách đánh giá chất lượng interleaver?
    Do interleaving gắn liền với channel coding nên khi đánh giá chất lượng bao giờ cũng phải gắn với những channel codes cụ thể, không tách riêng ra được!
    Về nguồn tài liệu thì hiện bạn đang ở nước ngoài (chắc là TU Munich) nên sách vở cũng như Internet chắc đều ko bị hạn chế. Bạn cứ tìm những tài liệu về channel coding, chắc chắn sẽ nói về interleaver. Thực sự mà nói thì tớ cũng không thấy có nhiều nguồn tài liệu nói về cấu trúc bên trong của interleaver, có lẽ nó đơn giản và đã được tối ưu hoá rồi (tớ nghĩ là thuật toán có lẽ gần giống với thuật toán tạo tín hiệu giả nhiễu). Các địa chỉ về Channel coding trên web thì bạn có thể tìm ở website của NASA, Caltech, Stanford và một vài trường ở Australia. Đức cũng có RWTH Aachen và TU Munich khá mạnh về channel coding còn gì :) Sách cũng có rất nhiều, từ cổ đến kim. Hồi xưa tớ nhớ có quyển "Error Control Systems for Digital Communications and Storage" của Stephen B. Wicker được viết tương đối đầy đủ và dễ hiểu, bạn tìm thử xem. Không biết bây giờ có quyển nào mới + hay ho về cái này không nhỉ.
  3. Nghi

    Nghi Thành viên quen thuộc

    Tham gia ngày:
    14/03/2001
    Bài viết:
    924
    Đã được thích:
    0
    vote cho bác molen 5*. Bác cho em cái e-mail liên hệ, biết đâu mai sau có dịp làm việc
    Bao nhiêu người đẹp ta không biết
    Người đẹp bao người đâu biết ta
    Ta đi trong cõi vô tình ấy
    Trời bỗng mờ sương mắt bỗng nhòa
    Hnt1
  4. TD

    TD Thành viên mới

    Tham gia ngày:
    27/06/2002
    Bài viết:
    25
    Đã được thích:
    0
    Xin chào bạn Molen, rất cám ơn sự nhiệt tình của bạn!
    Phần bạn nói về Interleaver là hoàn toàn chính xác. Theo tôi biết thì nó được áp dụng trong GSM để tránh các lỗi chùm gây ra bởi kênh truyền do hiện tượng fading (ví dụ như một vết xước trên CD của bạn nghe trực quan hơn).
    Cái tôi đang quan tâm cũng liên quan đến interleaver, nhưng nó được áp dụng vào coded modulation (tôi tạm dịch là: điều chế mã hoá), tôi xin trình bày sơ lược nội dung như sau:
    Khi thiết kế hệ thống thông tin số, thông thường người ta tách riêng phần mã hoá (Coding) và điều chế (Modulation), nhưng thực tế thì hai bộ phận này có ảnh hưởng trực tiếp đến nhau:
    Ví dụ như bạn định dùng QPSK để điều chế tín hiệu, nhưng để đạt được một hiệu quả công suất nào đó (power efficiency), bạn phải dùng mã hoá kênh với tốc độ 2/3 (ví dụ convolutional code), do đó bạn phải sử dụng phương thức điều chế khác (ví dụ trong trường hợp này là 8-PSK) để đảm bảo tốc độ dữ liệu được truyền đi. Nhưng như vậy bạn đã tốn mất khoảng 4dB để đảm bảo phương thức điều chế mới đạt được cùng một tỉ lệ lỗi như phương thức cũ.
    => Nói tóm lại là Mã hoá và Điều chế có quan hệ chặt chẽ với nhau, do đó người ta nghĩ đến việc kết hợp hai khối này vào một và gọi là Coded Modulation, điều này làm tăng hiệu suất của hệ thống thông tin số (Massey, 1974).
    Điểm mấu chốt khi thiết kế hệ thống coded modulation là người ta tìm cách tối ưu bộ mã theo Euclidean Distance (giữa các điểm tín hiệu trong hệ thống điều chế) thay vì với Hamming Distance của bộ mã.
    Từ đó các loại mã sau được phát triển:
    1976 - Ungerboeck:Trellis-coded Modulation (TCM) sử dụng Set Partitioning mapping.
    1977 - Imai: Multilevel Coding (MLC) với Multistage Decoding (MSD)
    1992 - Zehavi: Bit-Interleaved Coded Modulatin (BICM), sử dụng Gray labeling.
    So với 2 phương pháp trên thì BICM đơn giản hơn trong việc thực hiện và "capacity loss" rất nhỏ nếu áp dụng phương pháp đánh nhãn Gray. Và việc áp dụng BICM không phụ thuộc vào phương pháp mã hoá mà bạn sử dụng.
    Tôi nghe nói là phương pháp này đã được áp dụng trong hệ thống Edge của Châu Âu.
    Vấn đề tôi đang thắc mắc là tại sao BICM lại cho kết quả tốt như vậy chỉ đối với Gray labeling, còn nếu áp dụng Set Partitioning thì lại cực tồi?
  5. Nghi

    Nghi Thành viên quen thuộc

    Tham gia ngày:
    14/03/2001
    Bài viết:
    924
    Đã được thích:
    0
    theo em biết thì mã xen được sử dụng để tăng khả năng khôi phục tín hiệu khi có hiện tượng lỗi chùm. Như vậy nếu sử dụng một phương pháp mã hoá ít nhạy cảm với hiện tượng lỗi chùm thì còn có sử dụng phương pháp ghép xen này không ạ?? Mà từ trước đến nay em nghĩ việc ghép xen này cũng không cần có gì phải bàn cãi nhiều. Em hiểu thì ghép xen là như thế này: Ví dụ 1 luồng thông tin với 4 kênh thông tin:1,2,3 ,4 được sắp xếp như sau: 1111222233334444. Sau khi ghép xen sẽ là 1234123412341234. Như vậy nếu có lỗi chùm thì mình vẫn còn đủ lượng thông tin để có thể khôi phục lại tín hiệu ban đầu...hì hì...đọc xong những cái các bác viết mới biết còn nhiều vấn đề quá. Vote cho bác TD 5 sao. Bác cũng cho em cái e-mail luôn nhá
    p/s: Gray labeling mà bác nói có phải là mã Gray không ạ?
    Bao nhiêu người đẹp ta không biết
    Người đẹp bao người đâu biết ta
    Ta đi trong cõi vô tình ấy
    Trời bỗng mờ sương mắt bỗng nhòa
    Hnt1
    Được Nghi sửa chữa / chuyển vào 10:49 ngày 11/11/2002
  6. Nghi

    Nghi Thành viên quen thuộc

    Tham gia ngày:
    14/03/2001
    Bài viết:
    924
    Đã được thích:
    0
    chòi...hoá ra bác TD là anh Đạt ở TU Munich. Em là Nghị này...hì hì...em add anh trong YM rồi đó. Em sắp biến rồi đây, nhưng cũng vẫn lo không biết sang đó thế nào..bên này học hời hợt qué, cái gì cũng học đến nhưng cuối cùng chả biết cái gì
    Bao nhiêu người đẹp ta không biết
    Người đẹp bao người đâu biết ta
    Ta đi trong cõi vô tình ấy
    Trời bỗng mờ sương mắt bỗng nhòa
    Hnt1
    Được Nghi sửa chữa / chuyển vào 10:18 ngày 11/11/2002
  7. molen

    molen Thành viên mới

    Tham gia ngày:
    11/12/2001
    Bài viết:
    18
    Đã được thích:
    0
    Hì, bác TD thế này thì nắm rõ hơn tớ rồi. Ngày xưa tớ làm tốt nghiệp đại học về channel coding nên có chút khái niệm thôi, bây giờ không tiếp tục nữa nên quên đi nhiều, cũng không rõ thực tế hay lý thuyết người ta đang làm gì, làm tới đâu. Vấn đề bác thắc mắc tớ cũng chịu. Gray labeling là gì tớ cũng mù tịt luôn.
    Cám ơn bạn Nghị vote cho 5 sao. Có gì cần trao đổi bạn cứ post lên đây, thỉnh thoảng tớ vào đọc, nếu biết thì trả lời, biết ít cũng trả lời, sai thì đã có người khác sửa. Cung cấp địa chỉ email thì không nên vì nhỡ bạn hỏi mà tớ bận quá không trả lời được thì lại mắc lỗi, áy náy lắm
    Tán phét tí. Đúng là ngày xưa người ta nghiên cứu + thực tế thường tách riêng channel coding với source coding or modulation, nhưng mà như vậy bị mất thông tin và do đó gain của toàn hệ thống sẽ giảm. Những năm 90 đã có nhiều bài báo về join source-channel coding, còn channel coding and modulation thì tớ thấy cũng tương đối "gắn bó" rồi. Sử dụng Euclidean distance để đánh giá/ xây dựng mã cũng được nghiên cứu đáng kể trên lý thuyết. Có lẽ là nó vẫn chưa được đưa vào thực tế chăng?
  8. molen

    molen Thành viên mới

    Tham gia ngày:
    11/12/2001
    Bài viết:
    18
    Đã được thích:
    0
    Đi rồi quay lại p.s thêm cái nữa, bạn Nghị hiểu về interleaver hay scrambler như thế là không chính xác, như vậy thì có khác gì bộ multiplexer đâu .
  9. TuLa

    TuLa Thành viên quen thuộc

    Tham gia ngày:
    24/10/2002
    Bài viết:
    413
    Đã được thích:
    0
    Chào các bác !
    Thấy các bác tham gia chủ đề này vui quá, cho em nhảy dô với nhỉ :-D
    Em cũng đã tưmgf có tìm hiểu qua về vấn đề này, trong thời gian tìm hiểu về nó thì em tạm dịch nghĩa của nó là "cài xen bit" (kô biết các bác gọi nó là gì). Cài xen bit mà em tìm hiểu là ứng dụng trong Truyền hình số. Theo em hiểu thì mục đích của nó gần giống như cách làm giả ngẫu nhiên hoá tín hiệu, đó chính là tăng khả năng "đề kháng" cho chuỗi bit khi có lỗi bit xảy ra. Nhưng dĩ nhiên trong hệ thống thì cài xen bit chẳng đứng độc lập một mình. Nó kết hợp với phương pháp mã hoá ngoài (sửa lỗi) Resolomon - RS(m,n) (thực hiện mã hoá sửa lỗi này trước khi cài xen ở phía phát và như vậy ở phía thu phải sau khi thực hiện cài xen) thì mới hữu hiệu thực sự. Đặc điểm của nhiễu và do vậy lỗi bit tương ứng là xảy ra rất ngẫu nhiên theo từng "mảng" một, mỗi lần có lỗi bit thì có lẽ kô phải chỉ với một bit mà là một nhóm bit --> Giải thuật cài xen bit sẽ làm phân tán sự co cụm của các bit lỗi, khiến các bit lỗi (nếu có) bị dàn đều trên khối bit tương ứng mà ta thực hiện cài xen (giống như thực hiện giả ngẫu nhiên hoá tín hiệu trong CDMA làm mật độ (xác suất) bit 0 và 1 là sấp xỉ nhau). Lại nói về mã hoá RS (Resolomon), mã này chỉ có khả năng sửa đc số lượng lỗi (có thể xảy ra) bit nhất định tuỳ theo số lượng bit của khối bit mà nó mã hoá => do vậy, nếu có số bit lỗi nhiều quá so với số bit mà nó có thể sửa thì có vấn đề lớn rồi :-D. Vậy, với giải thuật cài xen ta đã làm giảm tải trọng khắc khổ cho bước giải mã hoá khối RS => số bit lỗi có thể đc sửa trong toàn bộ dòng bit thu đc tăng lên đáng kể :-D.
    Lại nói về "Cài Xen xxx", có thể có "cài xen trong (cài xen bit)" và "cài xen ngoài (cài xen byte)": Ta cần quán triệt rằng "cài xen" kô phải chỉ có cài xen bit đầu, trong giai đoạn cài xen của hệ thống thì người ta thực hiện cả "cài xen byte" (cài xen byte đc thực hiện trước khi cài xen bit ở phía phát, và có thể thực hiện nhiều lần tuỳ theo mỗi hệ thống) ...... Ta cũng cần chú ý rằng decreamble kô phải là "cài xen" đâu, cài này tương ứng với "convolution coding" (tôi tạm dịch là "mã tích chập"). Cách mã hoá này cũng dùng các thanh ghi dịch để mã hoá (gần giống như kiểu tạo Mã Giả Ngẫu Nhiên) với các tỷ lệ "trích bit" có thể là 1/2 hoặc 2/3 hay 3/4; 4/5; 7/8 (thường hệ thống thu nào cũng cần có khả năng với tất cả các tỷ lệ này), mục đích của nó cũng là để sửa lỗi... tuỳ theo tỷ lệ trích bit của phía phát mà phía thu cần đặt cấu hình cho đúng tỷ lệ này thì mới thu đc ......:-D
    :-D viết nhiều quá kô biết mình đã viết gì nữa, các bác thấy em viết lộn xộn quá thì bảo, để lần sau em viết ít hơn !
    //
    Đc viết bởi Tula ngày 12/11/2002
    *.tus
  10. TuLa

    TuLa Thành viên quen thuộc

    Tham gia ngày:
    24/10/2002
    Bài viết:
    413
    Đã được thích:
    0
    Xin lỗi sửa lại là:
    cài xen byte thực hiện sau cài xen bit ở phía phát; và hình như cái screamble cũng kô phải như tôi và bác molen đã post :-D screamble là cái thuộc về bảo mật hay mã hoá để thu phí thực hiện ở phía phát theo một giải thuật nào đó (Mỹ khác, Châu Âu hình như có chuẩn chung và Nhật cũng khác) => phía thu phải descreamble nó thì mới Ok.
    //
    Nhắn bác "molen" : kô biết bác có thu nạp em làm đẹ tử kô nữa. Hiện giờ em đang có một vấn đề "rất khó khăn" về "lập trình" cũng cùng lĩnh vực này chưa giải quyết đc. Chỉ có dân ngoại (lại phải là dân chuyên thực thụ) mới làm đc, vì VN ta chưa có kinh nghiệm hoặc phải xìa money ra mua của nc ngoài. Kô biết bác có sẵn lòng kô nữa ?
    *.tus

Chia sẻ trang này