
Merhaba Arkadaşlar,
Orhan Gencebay’ın şarkısında dediği gibi hatasız kul olmamakla birlikte maalesef hatasız haberleşme de olmaz. Bugün haberleşme sistemlerinde önceki yazıda tanıştığımız Toplanır Beyaz Gauss Gürültüsünün (AWGN) oluşturduğu hatalar üzerinde konuşacağız. Bu yazıda hataların nasıl oluştuğunu anladıktan sonra daha az hata ile haberleşebilmek için neler yapabileceğimiz ve bu hatanın minimum değerinin olup olmadığı konularına geleceğiz. O zaman başlayalım…
Öncelikle bu yazı gürültüyü tanıdığımız yazının devamı niteliğinde olduğu için ilk olarak o yazıyı okumanızı tavsiye ederim. Şimdi en son AWGN gürültüsünün etki ettiği sinyalin aşağıdaki bağıntı ile temsil edilebileceğini söylemiştik.
\small y(t) = x(t) + n(t)
Burada \small n(t) varyansı \small \sigma_n^2 olan Gauss gürültüsünü temsil etmektedir. Bu gürültü gönderilen sinyalin alıcıda hatalı algılanmasına neden olmaktadır. Konunun daha iyi anlaşılması açısından gönderdiğimiz sinyalin -5 V ve 5 V olmak üzere sadece iki seviyesinin olduğunu varsayalım. Burada -5 V 0 bitine, 5 V ise 1 bitine karşılık gelmektedir. Yine kolaylık olması açısından bu bitlerin oluşma olasılığının eşit olduğunu varsayalım. Bu durumda \small x(t) işaretinin olasılık dağılımı Şekil 1’de verildiği gibi olacaktır.

Burada görüldüğü gibi 1 için 5 V gerilim gönderiliyor ve bu gerilim seviyesinin olasılığı 0.5’dir. Şimdi sonraki adımlarda kullanacağımız için bu sinyalin gücünü hesaplayarak devam edelim. Sinyalin gücünü internetten aradığınızda karşınıza yüksek olasılıkla aşağıda verdiğim formül çıkar.
\small P = \lim_{T\to\infty} \frac{1}{T} \int_{-T/2}^{T/2} x^2(t)dt
İlk bakışta limit integral gibi göz korkutucu işlemler olduğu için zor bir denklem olduğu düşünülebilir. Ancak tüm bu işlemler \small x(t) işaretinin karesinin ortalamasını almak için yapılıyor. Periyodik işaretler için tek bir periyodun karesinin ortalamasını almak yeterlidir. Ancak periyodik olmayan işaretlerde işaret kendini tekrar etmediği için periyodunu sonsuz kabul etmek ve bu nedenle limit işlemi ile periyodu sonsuza götürmek gerekir. Bu açıklamalar sonunda sinyalin gücü aşağıda verildiği gibi de ifade edilebilir.
\small P = E\left[ x^2(t) \right] = var(x(t))
Burada \small E[.] operatörü bilindiği gibi beklenen değer hesabı yapmaktadır. Ayrıca bir işaretin karesinin beklenen değeri o işaretin varyansına ve burada görüldüğü gibi gücüne karşılık gelmektedir. Buna göre Şekil 1’de verilen işaretin gücü aşağıdaki gibi hesaplanır.
\small P = E\left[ x^2(t) \right] = \sum_i P_{x_i}x_i = (0.5)(-5)^2+(0.5)(5)^2 = 25 W
Burada \small P_{x_i} i. sembolün olasılığını, \small x_i ise i. sembolün genlik değerini temsil etmektedir. Bu güç hesabı gürültü için de yapılabilir. Ancak yukarıda gürültünün varyansının \small \sigma_n^2 olduğunu söylemiştik. Bu değer aynı zamanda gürültü gücüne karşılık gelmektedir. Bu bilgilerden sonra alıcıda oluşan, yani AWGN gürültüsü etki eden, sinyalin olasılık dağılımını inceleyebiliriz. Gürültü varyansının 9 ortalamasının 0 olduğu durumda alıcıda oluşan işaretin olasılık dağılımı Şekil 2’de verilmiştir.

Gönderilen işaretin tek bir değerde olmasına rağmen alınan işarette yayılma olmasının nedeni, gürültünün Gauss dağılımına sahip olmasıdır. Alıcıda alınan işaret, 5 V ve -5 V’tan hangisine daha yakınsa ona göre gönderilen bitler elde edilebilir. Bu işlem alınan işaretin 0 V’tan büyük ve küçük olması şeklinde de gerçekleştirilebilir. Bu bilgilere göre Şekil 2’de görülen turuncu eğrinin 0 V’un üzerinde kalan parçası (1 numaralı bölge) 0 biti gönderildiği durumda 1 algılanma olasılığını temsil etmektedir. Benzer şekilde mavi eğrinin 0 V’un altında kalan bölümü ise (2 numaralı bölge) 1 biti gönderildiği durumda 0 algılanma olasılığını gösterir. Bu gürültü Gauss dağılımlarında yararlanılarak aşağıdaki gibi hesaplanabilir.
\small P_y(hata|x_0) = \frac{1}{\sqrt{2\pi \sigma_n^2}} \int_0^\infty exp \left( \frac{-(v+5)^2}{2\sigma_n^2} \right) dv
\small P_y(hata|x_1) = \frac{1}{\sqrt{2\pi \sigma_n^2}} \int_{-\infty}^0 exp \left( \frac{-(v-5)^2}{2\sigma_n^2} \right) dv
Buraya kadar her şey çok güzel. Ancak bu aşamada integralleri hesaplarken ufak bir problemle karşılaşıyoruz. Gauss fonksiyonunun integrali analitik olarak hesaplanamıyor maalesef. 🙂 Neyse ki yardımımıza sayısal çözümler yetişiyor. Aşağıda bağıntıları verilen \small Q(x) ve \small erfc(x) fonksiyonları yardımıyla Gauss fonksiyonunun altında kalan alanı hesaplayabiliyoruz.
\small Q(x) = \frac{1}{\sqrt{2\pi}}\int_x^\infty exp\left( \frac{-u^2}{2} \right) du
\small erfc(x) = \frac{1}{\sqrt{2\pi}}\int_x^\infty exp\left( -u^2 \right) du
Bu fonksiyonlar tablo şeklinde veya Matlab gibi programlarda fonksiyon olarak tanımlanmıştır. Şimdi gerekli dönüşümler yapıldıktan sonra hata olasılıkları \small Q(x) fonksiyonu cinsinden aşağıdaki gibi hesaplanabilir.
\small P_y(hata|x_0) = P_y(hata|x_1) = Q\left( \frac{5 - (-5)}{2\sigma_n} \right) = 0.0467
İki bit aynı hata olasılığına sahip olduğu için bu değer aynı zamanda alınan bitin hatalı olma olasılığını temsil eden Bit Hata Oranına (Bit Error Rate, BER) karşılık gelir. Şimdi bu hatanın düşürülmesi için neler yapabileceğimiz konusunda konuşabiliriz. İlk olarak tahmin edilebileceği gibi sinyal gücünü arttırmak Şekil 2’de görülen Gauss eğrilerini birbirinden uzaklaştıracağı için hata olasılığını azaltacaktır. Benzer şekilde gürültü gücünün azaltılması da işaretlerin yayılma miktarını azaltacağı için yine hata olasılığı azalır. Burada görüldüğü gibi sinyal gücü ile gürültü gücü arasında tanımlanacak bir oran hata olasılığı ile doğrudan ilişkili olacaktır. Bu orana Sinyal Gürültü Oranı (Signal to Noise Ratio, SNR) denilmektedir ve genellikle logaritmik eksende aşağıdaki gibi tanımlanmaktadır.
\small SNR = 10log \left( \frac{P_s}{\sigma_n^2} \right) [dB]
Bu tanımlamadan sonra yukarıda hesapladığımız hata değerini SNR’a bağlı olarak yazabilirsek, hangi SNR değerinde ne kadar hata olasılığına sahip olduğumuzu kolaylıkla hesaplayabiliriz. Yazıyı daha fazla uzatmamak için doğrudan sonucu vereceğim. Oluşturulan senaryo için BER’in SNR’a bağlı ifadesi aşağıdaki gibi elde edilir.
\small BER = Q \left( \sqrt{SNR} \right) = 0.5erfc\left( \sqrt{\frac{SNR}{2}} \right)
Bu bağıntıdan yararlanılarak SNR-BER grafiği kolaylıkla elde edilebilir. Aşağıda bunun için yazılan program ve Şekil 3’te bu programın çıktısı yer almaktadır.
clear; clc;
SNR_dB = 0:0.5:20; % Logaritmik SNR
SNR = 10.^(SNR_dB/10); % Doğrusal SNR
BER = qfunc(sqrt(SNR)); % BER hesabı
figure; % Görselleştirme
semilogy(SNR_dB, BER, 'LineWidth', 1); grid on;
xlabel('SNR [dB]'); ylabel('BER');

Evet görüldüğü gibi SNR değeri arttıkça hata olasılığı oldukça düşmektedir. Ancak \small 10^{-25} seviyelerine ulaşmasına rağmen SNR ne kadar arttırılırsa arttırılsın BER sıfıra hiçbir zaman ulaşmayacaktır. Bunun nedeni Gauss dağılımının kollarının sonsuza kadar devam etmesidir. Tabii ki \small 10^{-25} oldukça düşük bir değer ve bir çok sistemde ve alanda bu değer sıfır olarak kabul edilebilir, ancak istatistiksel olarak bir hata olasılığının her zaman olduğu, yani hatasız haberleşme olmadığı söylenebilir.
Gerçekten oldukça uzun ve ağır bir yazı oldu. Sonraki yazıda Shannon kapasitesi gibi daha zor bir konu üzerinde durmayı düşünüyorum. Kimse haberleşmenin kolay olduğunu söylemedi. 🙂 O zaman yazıyı yine Orhan Gencebay’ın şarkısındaki sözleri biraz değiştirerek sonlandıralım. Hatasız kul olmaz, insanları hatalarıyla sevin. 🙂 Sonraki yazılarda görüşmek üzere efendim kendinize iyi bakın.