Kutupsal kodlar ve uydu iletişimindeki başarımı
Polar codes and their performance in satellite communication
Yazar: OĞUZHAN AYDOĞAN
Danışman: PROF. DR. İBRAHİM ALTUNBAŞ ; DOÇ. DR. ALİ EMRE PUSANE
İstanbul Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı / Telekomünikasyon Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: Kablosuz iletişim = Wireless communication ; Kodlama teorisi = Coding theory ; Uydu iletişim sistemleri = Satellite communication systems

Özet:
Günden güne yaygınlaşan telsiz iletişim uygulamaları yüksek kapasiteye, yüksek veri hızlarına, daha iyi hata başarımına ve kısıtlı olan frekans bandının verimli kullanımına ihtiyaç duymaktadır. Bu ihtiyaca yanıt verebilmek adına telsiz iletişim teknolojileri de sürekli bir yenilenme ve gelişim sürecine girmektedir. Hata başarımlarının iyileştirilebilmesi için literatürde var olan tekniklerin birlikte kullanımına ek olarak yeni kodlama ve kod çözücü teknikleri de önerilmektedir. 5G teknolojisinde kullanımının ardından, kutupsal (polar) kodlara duyulan ilginin arttığı ve bu alanda yapılan çalışmaların hız kazandığı gözlemlenmektedir. Kutupsal kodlar, ilk olarak katlamalı kodların dış kod olduğu durumda iç kod olarak kullanılması amacıyla tasarlanmasına rağmen tek başına da oldukça iyi hata başarımına sahiptir. İlerleyen süreçte kutupsal kodların ikili ayrık belleksiz kanallarda kanal kapasitesini gerçekleyebileceğinin kuramsal olarak ispatlanmasıyla beraber kutupsal kodlar üzerine yapılan çalışmalar hız kazanmıştır.
Kutupsal kodların çözülmesi için kanaat yayılımı (belief propagation, BP), ardışık giderme (successive cancellation, SC) ve listeli ardışık giderme (successive cancellation list, SCL) gibi farklı kod çözücü yapılarından faydalanılmaktadır. Benzer şekilde kutupsal kodların tasarımı için Bhattacharyya parametresi, Monte-Carlo, Gauss yaklaşıklığı (Gaussian approximation), yoğunluk evrimi (density evolution) gibi farklı kod tasarım teknikleri kullanılabilmektedir. Kutupsal kodlar, kanala özgü kodlar olarak tasarlandığı için kutupsal kod tasarımı hata başarımında önemli rol oynamaktadır. Bu tez çalışması kapsamında Monte-Carlo benzetim tabanlı kod tasarımı ve Bhattacharyya parametresi ile kutupsal kod tasarım yöntemleri gerçeklenmiştir. Farklı işaret gürültü oranları için kod tasarımları gerçeklenerek, işaret-gürültü oranı değişiminin kod tasarımına olan etkisi gözlemlenmiştir. 
Ayrıca literatürde yer alan kanaat yayılımı, ardışık giderme ve listeli ardışık giderme kod çözücü yapıları da detaylı biçimde incelenmiş olup bilgisayar benzetimleri yardımıyla literatürdeki hata başarımları elde edilerek kod çözücü algoritmalarının doğruluğu kanıtlanmıştır. Kanaat yayılımı kod çözücüsüne farklı erken sonlandırma teknikleri eklenerek, erken sonlandırma yöntemlerinin hata başarımı ve yineleme sayısına etkileri gözlemlenmiştir. Gerçeklenen diğer bir kod çözücü olan ardışık giderme kod çözücüsünün kodlayıcı yapısı göz önünde bulundurularak nasıl gerçeklenmesi gerektiği detaylı şekilde incelenmiştir. Ek olarak listeli ardışık giderme kod çözücü yapısı, kod çözme yolları ve örnek ağaç yapıları yardımıyla analiz edilmiştir. Listeli ardışık giderme kod çözücüye ait liste uzunluğunun artışına paralel olarak hata başarımının iyileştiği gözlemlenmiştir. Listeli ardışık giderme kod çözücü yapısı döngüsel artık denetimi (cyclic redundancy check, CRC) desteğiyle gerçeklenmiş ve CRC eklenmesinin hata başarımını iyileştirdiği gözlemlenmiştir. Ayrıca farklı CRC polinomlarının hata başarımı üzerindeki etkisi analiz edilmiş ve aynı dereceye sahip CRC polinomları kullanılması durumunda hata başarımında önemli bir değişikliğe neden olmadığı görülmüştür.
Ardından kutupsal kodlarn bir uygulaması olarak uydu iletişiminde kutupsal kod tasarımı ve kullanımı ele alınmıştır. Gölgelemeli Rician kanal modeli yardımıyla farklı gölgeleme seviyeleri için uydu kanalları modellenmiş ve bu kanal modelleri için Monte-Carlo benzetim tabanlı kod tasarımı gerçeklenmiştir. Farklı gölgeleme seviyeleri için uydu kanallarında, uydu kanallarına özgü tasarlanan kodların toplamsal beyaz Gauss gürültülü kanal için tasarlanan kutupsal kodlardan daha iyi hata başarımı sergilediği görülmüştür. Uydu kanallarındaki hata başarımında, kod tasarımı için kullanılan gölgeleme seviyesinin etkisinin sınırlı olduğu görülmüştür. İletişim sisteminde doğrusal olmayan yüksek güçlü kuvvetlendirici kullanılmasının hata başarımına etkilerini incelemek için doğrusal olmayan yüksek güçlü kuvvetlendiricili sisteme özel kod tasarımları gerçeklenmiştir. Yapılan benzetimler sonucunda kutupsal kodların hata başarımlarının uydu kanallarında doğrusal olmayan kuvvetlendirici varlığından etkilenmediği görülmüştür. Kutupsal kodların doğrusal olmayan kuvvetlendiricilerin bozucu etkisine karşı dayanıklı olduğu çıkarımında bulunulmuştur.

Abstract:
It is a well-known fact that wireless communication applications are becoming widespread day by day and they require high capacity, high data rates, better error performance, and efficient use of limited frequency band. In order to meet these requirements, wireless communication technologies are in a continuous development and renewal process. In favor of getting better error performances, new coding and decoding techniques are suggested in addition to the combined use of existing techniques in the literature. 
Linear block and convolutional codes have been traditionally used to improve the error performance of communication systems. Convolutional codes can be used to encode bit or symbol sequences of any length, while block codes are used to encode fixed-length information or symbol blocks specified for the corresponding code. Many block code types have been proposed in the literature, such as Reed-Solomon codes, low density parity check codes, and polar codes. After its use in 5G technology, it is observed that the interest in polar codes has increased and the studies in this field have accelerated. Polar codes have very good error performance on their own, even though they were initially designed as an inner code when convolutional codes are used outer codes. Studies on polar codes have increased after the theoretical proof shows that these codes achieve channel capacity in binary discrete memoryless channels.
Different decoder structures, such as belief propagation decoder, successive cancellation decoder and successive cancellation list decoder are used for decoding polar codes. Equivalently, different code construction techniques, such as Bhattacharyya parameter, Monte-Carlo, Gaussian approximation, and density evolution, are used for the construction of polar codes. Since polar codes are designed as channel-specific codes, polar code construction has an important role in error performance. Therefore, for each channel model used in this thesis, a code construction specific to that model has been implemented. In this thesis, Monte-Carlo simulation based code construction and Bhattacharyya parameter based polar code construction methods are implemented. 
Bhattacharyya parameter based code construction is one of the most basic and simplest methods that can be used for polar code construction. Ideal code construction can be realized for BEC channels, but it is not possible to implement ideal code construction for AWGN and other channel models with the Bhattacharyya parameter based code construction method. Although Monte-Carlo simulation based code construction method is probably the best performing code design method, in practice, it is only applicable for low signal to noise ratio (SNR) region and small block lengths. For the high SNR region and large block lengths, the number of computer simulations required becomes enormous, and, as a result, the time required for code design will be extensive. The effect of signal-to-noise ratio on code design is observed by constructing polar codes for different signal-to-noise ratios. It has been observed that small changes in the signal-to-noise ratio in the code design do not cause significant changes in the code's performance. However, it has been observed that large changes in the design signal-to-noise ratio create noticeable differences in the code performance.
Belief propagation decoder, successive cancellation decoder and successive cancellation list decoder structures are the most known decoders that are used for polar codes. Successive cancellation decoder is more widely used due to its lower complexity compared to that of the belief propagation decoder. On the other hand, successive cancellation decoder has disadvantages against belief propagation decoder due to its high latency and sequential decoding structure. When belief propagation decoder and successive cancellation decoder are examined in terms of error performance, it is seen that belief propagation decoders achieve better error performance than successive cancellation decoders. In addition to these two decoders, successive cancellation decoder is also examined in detail, and the accuracy of the decoder algorithms is proven by obtaining the error performances in the literature with the help of computer simulations. The effects of early termination methods on error performance and number of iterations are observed by combining different early termination techniques with the belief propagation decoder. It is observed that there is no significant change in error performance by combining early termination techniques with the belief propagation decoder. On the other hand, in the case of early termination with the generator matrix, it has been observed that up to 90% gains are achieved in terms of the average number of iterations. The successive cancellation decoder and how it should be implemented is examined in detail considering the encoder structure. The approximation expressions used in hardware implementations to reduce the processing complexity are presented. In order to better understand the working structure of this decoder, a sample decoding process is implemented step by step with the help of sample log-likelihood ratio (LLR) values and tables. Adaptation processes that need to be done in order for alternative decoder structures to work harmoniously are also shown with examples. Moreover, the successive cancellation list decoder is analyzed with the help of decoding paths and sample tree structures. It is observed that the error performance improves in parallel with the increase in the list size of the successive cancellation list decoder. Successive cancellation list decoder is implemented with cyclic redundancy check (CRC) support and it is observed that adding CRC improves error performance. In addition, the effect of different CRC polynomials on the error performance is analyzed and it is seen that there is no significant change in the error performance if CRC polynomials with the same degree are used.
Satellite channels are modeled for different shadowing levels with the help of the shadowing Rician channel model, and Monte-Carlo simulation based code construction is realized for these channel models. In satellite channels for different shadowing levels, such as light, average, and heavy, it is observed that the codes constructed for the satellite channels exhibit better error performance than the polar codes constructed for the additive white Gaussian noise channel. It is observed that the effect of the shadowing level used for code construction is limited on the error performance in satellite channels. In order to examine the effects of using non-linear high-power amplifiers on the error performance in the communication system, system-specific code designs with non-linear high-power amplifiers have been implemented. In heavy shadowing satellite channels, alternative scenarios where the receiver is aware of the non-linear amplifier in the transmitter and the receiver is not aware of the non-linear amplifier in the transmitter are considered and the code construction for these situations is implemented. In the simulations for the situation where the receiver is aware of the presence of high non-linear amplifier in the heavy shadowing satellite channel, it has been observed that the code implemented specifically for this situation and the codes implemented for the non-linear non-amplifier situation have the same error performance. Afterwards, simulations of the situation where the receiver is not aware of the presence of nonlinear amplifier were performed. In these simulation results, it has been observed that the codes constucted specifically for the situation where the receiver is not aware of the presence of nonlinear amplifiers have the same error performance as the codes constucted for the heavy shadowing channel without amplifiers. As a result of the simulations, it is seen that error performance of polar codes are not affected by the presence of non-linear amplifiers in satellite channels when BPSK modulation is used.