Bu çalışma çift yönlü Fano kod çözümünün donanımsal gerçeklemesini kapsamaktadır. Fano gibi ardışıl kod çözümü yöntemleri Viterbi’ye kıyasla daha düşük donanım karmaşıklığı sağlamaktadır. Bu yöntemler farklı işaret/gürültü oranlarına uyarlanabilir ve değişken hesaplama süresine sahiptir, bu nedenle yüksek işaret/gürültü oranlarında yapılan iş oldukça yüksektir. Fakat düşük işaret/gürültü oranlarında yapılan iş bir hayli düşer. Yapılan işi artırmak ve hesaplama süresindeki değişkenliği azaltmak için çift yönlü kod çözümü yöntemi uygulanabilir. İki kod çözücü ters yönlerde paralel olarak çalışır ve kod dizisinin herhangi bir yerinde birleşir. Bu birleşme iki kod çözücünün durumlarının aynı noktada eşit olmasına bağlıdır. Eğer kontrol edilen durum sayısı birden fazlaysa komşu durumlar da eşit olmalıdır.
Yazılım ortamında yapılan çalışmalar çift yönlü Fano kod çözümünün, işlem yükünü azalttığını göstermektedir. Fakat söz konusu hipotez donanımsal olarak da kanıtlanmalıdır. Yazılımda sadece iterasyon sayısı gözlemlenebilir, ayrıca geleneksel işlemciler yapılan işin yüksek olmasına izin vermez. Fakat donanımda yapılan iş çok daha yüksek olabilir. Bu çalışma bu konudaki boşluğu dolduracaktır. Haberleşme sektöründe FPGA’ler yaygınca kullanıldığı için FPGA üzerindeki gerçekleme sonuçları oldukça önemli. Burada tek yönlü ve çift yönlü Fano kod çözümünün donanımsal verilerini karşılaştırma olanağı bulunacaktır. Ayrıca saat frekansı ve tüketilen FPGA kaynakları açısından Fano ve Viterbi kod çözümleri de karşılaştırılabilecektir.
This study deals with hardware implementation of the bidirectional Fano decoding. Sequential decoding techniques such as Fano provide lower hardware complexity when compared with the Viterbi decoding. These techniques are adaptive to different SNR values and they have variable computational delay, so the throughput is really high at high SNR values. But the throughput drops significantly at low SNR values. Bidirectional decoding technique can be applied to increase the throughput and reduce the computational variability. Two decoders work inversely in parallel and they merge at any position in a codeword. The merger depends on some circumstances. States of the two decoders must be equivalent at the merger position. If number of checked states is chosen higher than one, neighbor states also must be equivalent.
Software implementations show that the bidirectional Fano decoding reduces computational effort, but it must be proved in hardware too. In software, only number of iterations can be measured and also conventional processors do not let high throughput. But in hardware, we can achieve high throughput. This study bridges a gap in this topic. Since FPGAs are widely used in telecommunications industry, implementation results in FPGAs are very important. Here is a chance to compare hardware implementation results of the unidirectional Fano decoding and bidirectional Fano decoding. And also comparison of the Fano decoding and the Viterbi decoding is available in terms of clock frequency and FPGA resources consumed.