İkinci nesil sayısal video yayını (DVB-S2) ileri hata kodlama birimi tasarımı ve gerçeklemesi
Design and implementation of forward error correction unit for second generation digital video broadcasting (DVB-S2)
Yazar: ŞAKİR BALTA
Danışman: DOÇ. DR. MESUT KARTAL
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı / Telekomünikasyon Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2013
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Tez çalışması, uydu haberleşme sistemleri aracılığıyla yapılan sayısal video  yayınlarının alıcı tarafında kulanılan ileri hata düzeltme birimi tasarımı ve gerçeklemesini kapsamaktadır. Bu kapsamda Avrupa Telekominikasyon Standardı Enstitüsü (ETSI) tarafından İkinci Nesil Sayısal Video Yayını (DVB-S2) için belirtilen standartlar göz önüne alınmıştır. Alıcı tarafı DVB-S2 ileri hata kod çözücü  birimi  standartlar incelenerek ve daha önceki çalışmalar dikkate alınarak tasarlanmış ve VHDL kodları yazılarak donanımsal olarak gerçeklenmiş MODELSIM yardımıyla benzetimleri yapılmış ve MATLAB yardımıyla da doğrulanmıştır.
DVB-S2 gibi yüksek hız ve büyük uzunluktaki veriler için yüksek başarım sağlayan ve hızlı, esnek bir yapı üzerinde durularak oldukça kullanışlı ve karmaşıklıktan uzak bir tasarım gerçekleştirilmiştir. Literatürde geçen bir çok farklı yaklaşım incelenmiş ve en uygun modellerde karar kılınarak mümkün olduğunca hızlı olması için gerekli paralelleştirmeler yapılmıştır. DVB-S2 standartlarında uydu sistemleri dijital video yayını için kullanılacak ileri hata düzeltme birimi, daha hızlı ve daha yüksek hata düzeltme performansı sağlamak amacıyla ardışıl kodlama tekniğini içermektedir. Bu kodlama türü, klasik kodlama türlerinin seri bir şekilde ard arda  bağlanması ve bir kodlama türünden çıkan verinin diğeri için girdi kabul edilmesiyle oluşturulmaktadır. 
DVB-S2 için ardışıl kodlama yapısı iç kodlama ve dış kodlama birimlerinden oluşmaktadır. Dış kod olarak BCH(Bose-Chaudri-Hocquenghem) kodu iç kod olarak LDPC (Low Density Parity Check) kodu kullanılmıştır. 
BCH kod çözücüsü tasarımında  hızlı aynı zamanda kapladığı alan açısından da az ve esnek bir yapı oluşturulmuştur. Dışarıdan set edilebilen parametrelerle değişik veri uzunluklarına uyumlu bir  tasarım yapılmıştır. Hata belirteci(syndrome) hesaplamada paralel GF çarpıcıları kullanılırak hızlı olması sağlanmıştır. Anahtar eşitlik çözücüde gecikmenin ve kritik yol beklemesinin(Critical path delay) en az olması için RiBM (Reformulated inverse-free Berlekamp-Massey) algoritması kullanılmıştır. Fifo büyüklükleri dışarıdan set edilebilecek şekilde esnek yapılmıştır.
LDPC kod çözücü yapısında hızlı haberleşme sistemleri için ideal olan belief propagation yöntemi seçilmiş literatürden farklı olarak  karmaşıklığı ve kapladığı alanı azaltmak amacıyla min-sum algoritması kullanılmıştır.  Tekrar hız açısından verimli olması amacıyla düzenli H matrisi güvenilir bir kaynaktan kenar tablosu alınarak oluşturulmuştur.  İterasyon sayısı, mod kodu, veri uzunlukları  dışarıdan girilebilecek şekilde yapılarak hertürlü(yer ya da hız) kısıt için optimum ayarlanabilecek bir tasarım oluşturulmuştur. Gerek hız gerek yer açısından bit ve kontrol noktaları RAM leri 360 bitlik gruplara ayrılarak kısmi paralel bir yapı oluşturulmuştur. Hesaplanan LLR değerlerinden sadece 2 si tutularak  literatürdekilere göre yerden kazanç  sağlanmıştır. Yumuşak karar LDPC kodu kullanılarak yerden tasarruf sağlanmış kodlama performansı artırılmıştır.
Sentez sonucunda BCH kod çözücü algoritması kullanılan Virtex-6 (XC6VLX240T ? 1FFG1156)  FPGA de %13 kadar yer kaplamaktadır ve minimum periodu 4.345 ns olmak üzere maksimum frekansı 230 MHz'dir. LDPC kod çözücüsünün kapladığı alan ise %45 ve minimum periodu 4.49 ns olmak üzere maksimum frekansı 222 MHz seviyedindedir. Elde edilen sonuçlar düşünüldüğünde gerekleri (100MHz frekansında) hem kapladığı alan hem de hız açısından gerekleri fazlasıyla yerine getiren bir tasarım yapılmış olduğu görülmektedir. Herbir modül işlevsel bir şekilde tasarlanmıştır ve başka amaçlarda da kullanılabilecek çok esnek bir yapı oluşturulmuştur. 
Tasarım her yönüyle incelenmiş, benzetimi ve sentezi yapılmıştır. Hem LDPC hem de BCH blokları FPGA gerçeklemesi yapılarak  DVB-S2 ileri hata düzeltme birimi tasarımı tamamlanmıştır.

Abstract:
The need for reliability and efficiency of digital communication systems in recent years has been growing rapidly. This is because the need for long-distance communication and data processors increase in speed is needed to increase the communication speed. Traditional techniques of modulation and audio communication is generally low data rate and high probability of error.
To ensure reliable communications in noisy environments, low power consuming error correction codes are used. Adding that extra bit of data transmitted error-correcting codes to detect and fix the error resulting from the buyer provides a degree of correction of the well. These codes can increase the reliability of the communication receiver to increase the rate of correct detection. In this context, there are various error correction codes. On each of the areas of application of these codes also provide useful and high-performance.                                                    
The ideal error correcting codes for communication systems are still being investigated by researchers. As it provides the gain of each area covered by error correcting code, complexity, such as energy efficiency brings constraint. 
This thesis, the digital video broadcasting via satellite communication systems at the receiving end, and in the implementation of the driven unit design includes forward error correction. In this context, the The European Telecommunications Standards Institute (ETSI) by the Second Generation Digital Video Broadcasting (DVB-S2) were taken into account to the specified standards. DVB-S2 standard for many different applications designed to be a flexible communication protocol. DVB-S2, MPEG-2 and MPEG-4 (Moving Pictures Expert Group) video standards and compatible high-definition broadcast service (HDTV) support. DVB-S2 supports single or multi-pack or a continuous flow of data.
It includes  powerful forward error correction (FEC)  based on BCH and LDPC coding. Limits based on the mode of transmission is almost Shannon (Quasi-Error Free) signal to noise ratio provides an improvement of about 0.7 dB up to 1 dB(AWGN channel). Many types include point sequence (QPSK, 8PSK, 16APSK, 32APSK). Depending on the nature channel adaptive coding and modulation with channel coding provides error protection (ACM). Receiver DVB-S2 forward error decoder side, and previous studies have examined taking into consideration the standards of the unit is designed and implemented in donanım, ModelSim VHDL code written with the help of MATLAB with the help of simulations made ??and confirmed.
High-speed and large-length data, such as DVB-S2 provides a high performance and fast, flexible structure, with emphasis on the design was quite convenient and uncomplicated.
In the literature, many different approaches are examined and the decision-making them the most appropriate models parallelism is required to be made ??as quickly as possible. Digital video broadcasting standard DVB-S2 satellite systems used for forward error correction unit, in order to provide faster performance and higher error correction coding technique involves sequential. This type of coding, coding types of classical repeatedly in a series connection and the other is the data input to the adoption of an encoding type is created.
As part of the sequential coding BCH(Bose-Chaudri-Hocquenghem) code is used for outer code and LDPC(Low Density Parity Check) code is used for inner code for DVB-S2 system. 
BCH decoder design fast and flexible at the same time a structure has been established in terms of the area covered. Compatible with different data length can be set from outside the design parameters were made. BCH coding is done to protect the data packet errors that may occur. It is quite systematic and after the encoding of the data BCH coding bits of information is encoded and added. BCH error correction coding is applied for t = 12 bit error correction for all short-frame (short-frame) (N = 16,200), 7 of 11 different code types with normal frame (standard frame) (N = 64,800). The remaining four types of code in the normal frame t = 10 or t = 8-bit BCH error correction coding is applied. t = 12-bit error correction code has 192 parity bits(12x16), t = 10-bit error correction code has 160 parity bits(10x16),  and t = 8 bit parity error correction code produces 128 parity bits(8x16). Error indication (syndrome) have been quick calculation using parallel GF multipliers. Key equality and critical path delay to expect solvent to be at least RiBM (Reformulated inverse-free Berlekamp-Massey) algorithm is used. FIFO sizes were flexible enough to be set from the outside.
LDPC decoder structure of the belief propagation method that is ideal for high-speed communication systems, as opposed to the complexity of the selected literature and min-sum algorithm is used in order to reduce the footprint. LDPC can be fully expressed by parity-check matrix or by matrix code generator. DVB-S2 standard describes a method for encoding data therefore matrix is effectively described. Encoding and decoding operations are performed in a special way so no need to store the parity-check matrix or the manufacturer matrix. This standard method is defined as "standardized matrix". This standardized matrices "H" is the so-called parameter specifies the encoding step of classified and matrices for all DVB-S2, this value is equal to 360. Again regularly in order to be efficient in terms of speed table on the edge of the H matrix formed from a trusted source. 
In this algorithm, the parity bits and the probability (likelihood) values, like a message comes back and forth between VN and CN's. The first possibility is the quality of the values ??and symbols from the channel with the constellation points between the Euclidean distances are calculated. Post the log-likelihood ratios provide a simple arithmetic is passed to the form. Other connected to the CN's been set to zero according to the indications on the basis of parity equations and VN hostels expected parity bits are connected to the CN determines. 
The parity bits are expected to go along with all the VN's as LLR values??. VN keeps parity bits of these values ??and use them to update the LLR values??, and the cycle begins again. In this way, the equations of parity bits that are compatible with the right message corrected the bits with other corrupted bits.
VN depends on each one of these two LLR value of RAM, and each one holds the sum of the total coming from CN and VN contains messages from the collectors to create, combine and output messages and input and output messages that keeps the registers.
Each CN depends on the RAM and one big iteration, and each of the smaller of the two LLR value of the input message with the location of input messages with the sign of the pair holds bits. VN messages will go to any of the LLR value is generated by reading .
Shift values ??to be used in the mixing module, the control module and the CN s read and write addresses for reads from ROM . To move a message to VN , these values ??are used directly from the CN . In order to deliver the message to the CN VN in either direction in order to ensure the flow of data values ??in the scroll function is disabled. At the same time the control module delays may occur during all these operations are waste.
Number of iterations, mode code, making all kinds of data to be entered from the outside lengths (location or speed) created a design constraint that can be set for the optimum. In terms of both speed and in the s-bit and 360-bit RAM divided into groups partial checkpoints created a parallel structure. LLR is calculated according to the values ??from just 2 percent gain in the literature have been kept. Using soft decision LDPC code encoding to save space provided increased performance.
In this study, different from the literature data for different lengths of 21 pieces of the DVB-S2 standard, the analysis and hardware implementation of the BCH error correction codes and LDPC codes are made. High-speed and large-length data, such as DVB-S2 provides a high performance and fast, flexible structure, with emphasis on the design which was quite convenient and uncomplicated. In the literature, many different approaches are examined and the most appropriate models are choosen  and parallelised is  to  make ??the  system quickly as possible.
Examined all aspects of the design, simulation and synthesis is done. BCH and LDPC blocks as well as DVB-S2 forward error correction unit has been completed by ??FPGA design implementation.