Apa itu FEC, dan Bagaimana Cara Menggunakannya?
Dalam sistem komunikasi, teori informasi, dan teori pengkodean, koreksi kesalahan maju (FEC) adalah teknik yang digunakan untuk mengendalikan kesalahan dalam transmisi data melalui saluran komunikasi yang tidak dapat diandalkan atau berisik. FEC berawal dari karya perintis Claude Shannon pada tahun 1948 tentang komunikasi yang andal melalui saluran transmisi yang bising. Tema sentral Shannon adalah bahwa jika tingkat pensinyalan sistem kurang dari kapasitas saluran, komunikasi yang andal dapat dicapai jika seseorang memilih teknik penyandian dan penguraian kode yang tepat.

Gambar 1 menunjukkan model yang disederhanakan dari sistem kode. Data transmisi mentah direpresentasikan sebagai urutan pesanu. Encoder FEC mengubah pesanumenjadi kata sandiv dengan menambahkan data yang berlebihan, sebelum memasuki saluran yang tidak dapat diandalkan atau berisik. Redundansi tambahan memungkinkan penerima decoder untuk mendeteksi sejumlah kesalahan yang mungkin terjadi dalam pesan, dan sering untuk memperbaiki kesalahan ini tanpa transmisi ulang, dengan tujuan bahwa urutan pesan asliuberhasil dipulihkan pada output decoder.
Jenis kode FEC
Dua jenis kode yang berbeda secara struktural umum digunakan saat ini: kode blok dan kode konvolusi. Encoder untuk kode blok membagi urutan informasiuke dalam blok pesan darikbit informasi (simbol) masing-masing dan mengubah setiap pesanusecara mandiri menjadi codeword,n-bit (simbol)v. RasioR = k/ndisebut laju kode. Bit yang berlebihan (simbol),n-k, berikan kode dengan kemampuan memerangi gangguan saluran.
Parameter penting dari kode blok adalah jarak minimum,dmin, ini adalah jarak antara dua codeword terdekat, yang menunjukkan jumlah minimum perubahan data yang diperlukan untuk mengubah satu codeword yang valid menjadi yang lain. Parameter ini menentukan kemampuan mendeteksi dan mengoreksi kesalahan kode. Biasanya kode FEC dapat mendeteksidmin-1 kesalahan per kata sandi dan koreksi hingga (dmin-1)/2 kesalahan per kata kode. Misalnya, kode Reed Solomon, RS (544, 514,t=15, m=10), adalah kode blok dengan 514 simbol informasi dan 30 simbol redundan. Setiap simbol memiliki 10 bit. jarak minimumnya adalahdmin=31 sedemikian rupa sehingga dapat mengoreksi hingga (dmin-1)/2=15 kesalahan simbol per kata sandi.
Encoder untuk kode konvolusi juga menerima k-blok bit dari urutan informasiudan menghasilkan urutan yang disandikanvdarin-simbol blok. Namun, setiap blok yang dikodekan tidak hanya bergantung pada yang sesuaik-bit pesan blok pada unit waktu yang sama tetapi juga padamblok pesan sebelumnya. Selain bit yang redundan,n-k, lebih banyak redundansi ditambahkan dengan meningkatkan urutan memorimkode untuk mencapai transmisi yang andal melalui saluran yang bising.
Berdasarkan teori Shannon [1], semakin panjang codeword semakin kuat kemampuan koreksi kesalahan yang diberikannya. Namun, kompleksitas pengkodean meningkat dengan panjang codeword juga. Untuk mencapai trade-off yang lebih baik antara kompleksitas dan kinerja pengkodean, ada beberapa teknik untuk membangun kode kuat yang panjang dari kode komponen pendek, seperti kode produk, kode gabungan dan kode interleaved.
Gambar 2 menunjukkan kode produk dua dimensi yang dibentuk oleh dua kode C1(n1, k1) dan C2(n2, k2) dengan jarak minimumdmin1dandmin2, masing-masing. Setiap baris kode produk C1 x C2adalah kata sandi dalam C1dan setiap kolom adalah kata sandi dalam C2. Kode produk mampu memperbaiki kombinasi apa pun dari (dmin1dmin2-1)/2 kesalahan.

Gambar 3 menunjukkan kode gabungan satu tingkat dengan kode luar C1(n1, k1) dengan jarak minimumdmin1dan kode dalam C2(n2, k2) dengan jarak minimumdmin2. Jarak minimum penggabungan mereka setidaknyadmin1dmin2.

Gambar 4 menunjukkan transmisi kode yang disisipkan. Diberikan kode blok (n,k) C, dimungkinkan untuk membuat kode blok (λn, k) dengan menyisipkan, yaitu hanya dengan menyusun codeword dalam C ke dalam baris larik persegi panjang dan kemudian mentransmisikan kolom larik tersebut dengan kolom. Meskipun jarak minimum dari kode yang disisipkan masihdminsebagai kode individu C, ini dapat memecah error burst panjang menjadi codeword yang berbeda.

Kode FEC yang lebih canggih, seperti kode turbo dan kode low-density parity-check (LDPC), telah ditemukan oleh para akademisi dan diadopsi oleh industri dalam beberapa dekade terakhir untuk mendekati batas Shannon (atau kapasitas saluran) . Namun, peningkatan kinerja luar biasa mereka biasanya dibayar oleh kompleksitas dan latensi encoding/decoding yang besar.
Ada empat faktor penting yang perlu dipertimbangkan ketika memilih kode FEC dan skema pengkodean yang tepat untuk sistem komunikasi tertentu. Untuk mempertahankan throughput tinggi atau menghindari peningkatan link rate secara signifikan,tingkat kodeperlu tinggi. Untuk mengkompensasi kehilangan saluran atau melonggarkan persyaratan rasio sinyal terhadap kebisingan (SNR) atau tingkat kesalahan bit (BER) pada pemotong keputusan di penerimakeuntungan pengkodeandiinginkan. Namun kelemahan dari FEC adalahlatensi pengkodeandankompleksitas pengkodeanyang akan meningkatkan waktu transmisi dan daya/biaya sistem.
Aplikasi FEC ke Sistem Tautan Serial
Lanskap teknologi FEC untuk sistem komunikasi jalur kabel ditunjukkan pada Gambar 5 dan mencakup sambungan listrik dan optik. Untuk tautan listrik, industri baru-baru ini memasukkan pembaruan format pensinyalan dari format pensinyalan dua tingkat (NRZ) ke format pensinyalan empat tingkat (PAM4) selama transisi dari kecepatan data tautan 25 Gb/dtk ke 50 Gb/dtk.
Salah satu tantangan desain utama PAM4 SerDes adalah penalti deteksi PAM4 melalui NRZ, sekitar 9,54 dB atau bahkan lebih besar jika mempertimbangkan degradasi margin horizontal karena perlintasan sinyal multi-level. Oleh karena itu, FEC menjadi bagian penting dari solusi sistem PAM4 untuk mengimbangi penalti deteksi ini. RS (544, 514, 15) FEC, juga dikenal sebagai KP4 FEC, telah diadopsi secara luas di tautan PAM-4. Ini menyediakan sistem Ethernet 200/400G dengan penguatan pengkodean hingga 7dB, sambil menambahkan penalti latensi ratusan nano-detik (ns) sebagai biaya. Kode FEC gain tinggi seperti kode low density parity check (LDPC) dan kode produk Turbo (TPC) biasanya dipertimbangkan untuk sistem transmisi optik jarak jauh dengan biaya latensi dan kompleksitas pengkodean yang lebih besar. Untuk aplikasi latensi rendah, kode blok pendek sederhana dengan perolehan dan kompleksitas pengkodean sedang dapat digunakan.















































