Tingkat koreksi kesalahan menyesatkan

10

Dalam teori pengkodean, 'seberapa bagus suatu kode' berarti berapa banyak kesalahan saluran dapat diperbaiki, atau lebih baik, tingkat kebisingan maksimal yang dapat ditangani oleh kode tersebut.

Untuk mendapatkan kode yang lebih baik, kode dirancang menggunakan alfabet besar (bukan biner). Dan kemudian, kodenya bagus jika dapat menangani tingkat besar "simbol" yang salah.

Mengapa ini tidak dianggap kecurangan? Maksudku, bukankah kita hanya peduli tentang apa yang terjadi ketika kita "menerjemahkan" setiap simbol menjadi string biner? "Tingkat kesalahan bit" berbeda dari tingkat "kesalahan simbol". Sebagai contoh, laju bit-error tidak bisa lebih dari 1/2 sementara (jika saya mengerti ini dengan benar), dengan alfabet yang cukup besar, kesalahan simbol bisa naik ke . Apakah ini karena kita secara artifisial membatasi saluran hanya untuk mengubah "simbol" daripada bit, atau apakah karena kode sebenarnya lebih baik?1-ϵ

Ran G.
sumber
1
Mengapa Anda membatasi diri pada kode biner jika media / teknologi transmisi Anda dapat menangani lebih banyak?
Raphael
@ Raphael Akan membantu jika Anda dapat membenarkan poin Anda dengan beberapa contoh praktis teknologi kehidupan nyata yang menangani simbol-simbol non-biner dan mempostingnya sebagai jawaban.
Mohammad Alaggan
@ M.Alaggan: Saya bukan ahli dalam hal ini; Saya pikir jika Anda dapat menyandikan 0/1 pada pembawa gelombang, Anda dapat menyandikan lebih banyak simbol, juga, mentransmisikan lebih banyak informasi dengan interval waktu. Akan mengejutkan saya jika teknologi modern tidak akan melakukan ini (pikirkan kode-multiplexing) tapi saya tidak bisa menyebutkan contoh konkret.
Raphael
@ Raphael Saya pikir Anda benar, saluran komunikasi digital saat ini DO bekerja dengan simbol yang lebih besar, tetapi tidak lebih dari, katakanlah, 256-bit per simbol (yang cukup jarang untuk nirkabel, tetapi mungkin umum untuk kabel). Tetapi ukuran simbol terbatas pada ukuran yang sangat kecil, dan tidak bisa (praktis) tumbuh sesuka hati.
Ran G.

Jawaban:

8

Banyak kode yang digunakan secara luas untuk data biner adalah kode gabungan, yang disusun dengan menggunakan dua kode koreksi kesalahan. The kode batin adalah lebih alfabet biner, dan kode luar adalah lebih dari satu alfabet yang simbol sesuai dengan codeword dari kode batin. Ini memungkinkan Anda untuk menggunakan kekuatan superior dari ukuran alfabet yang lebih besar untuk menyandikan pesan biner tanpa "curang".

Definisi standar jarak minimum adalah yang alami untuk digunakan ketika mempertimbangkan kode gabungan, serta dalam teori kode pada ukuran alfabet besar. Itu hanya akan "curang" jika Anda menggunakan angka-angka ini untuk membandingkan kode biner dengan kode alfabet besar yang mengkodekan input biner tanpa menggunakan kode dalam juga; ahli teori pengkodean cukup pandai untuk tidak melakukan ini (dan saya percaya bahwa sejak kode gabungan ditemukan, kode alfabet besar sering digunakan bersama dengan kode bagian dalam, tetapi kode alfabet besar juga sangat baik untuk memperbaiki kesalahan pada saluran bursty seperti sebagai CD, karena sejumlah besar kesalahan bit berurutan hanya akan memengaruhi beberapa "simbol").

Peter Shor
sumber
Peter, terima kasih atas jawabannya. Untuk kode yang digabungkan, bukankah benar bahwa tingkat kesalahan (bit) tidak dapat melebihi 1/2? jadi metode ini hanya memungkinkan kita semakin dekat ke 1/2 sambil menjaga decoding efisien, kan?
Ran G.
@Bisa: Untuk kode biner , laju kesalahan bit tidak boleh melebihi 1/2. Kode gabungan tidak harus berupa biner. Tapi itu nitpicking; komentar Anda pada dasarnya benar.
Peter Shor