求高斯通道的通道容量 資訊理論

2021-08-17 17:45:45 字數 2912 閱讀 2505

clear,clc;

%一維二元高斯通道的通道容量

xn=8000;

%定義點數

m1=0;

m2=1;

%訊號引數

sigma1=0.38;

sigma2=0.5;

%高斯雜訊引數

xmin=min([m1-5*sigma1,m2-5*sigma2]);xmax=max([m1+5*sigma1,m2+5*sigma2]);

%定義域邊界

x=linspace(xmin,xmax,xn+1);

y1=(((2*pi)^(-0.5))/sigma1)*exp(-(x-m1).^2/(2*(sigma1^2)));

y2=(((2*pi)^(-0.5))/sigma2)*exp(-(x-m2).^2/(2*(sigma2^2)));

%訊號受干擾後的概率密度分布函式

a=(sigma2^2-sigma1^2)/(2*sigma1^2*sigma2^2);

b=(2*m2*sigma1^2-2*m1*sigma2^2)/(2*sigma1^2*sigma2^2);

c=(sigma2^2*m1^2-sigma1^2*m2^2)/(2*sigma1^2*sigma2^2)-log(sigma2/sigma1);

%聯立y1,y2

解二次方程求閾值

ifa==0

x4=c/b;

%二次項係數為

0else

x4=(-b+sqrt(b^2-4*a*c))/(2*a);

%二次項係數不為

0end

y4=(((2*pi)^(-0.5))/sigma1)*exp(-(x4-m1).^2/(2*(sigma1^2)));

y5=[0 y1((xn+1-round(((xmax-x4)/(xmax-xmin))*xn)+1):1:xn+1)];

t1=x(xn+1-round(((xmax-x4)/(xmax-xmin))*xn):xn+1);

patch(t1,y5,[0.5 1 0.5]);

%錯誤概率區域1繪製

hold on;

y6=[y2(1:round((abs(xmin-x4))*xn/(xmax-xmin))-1) 0];

t2=x(1:round((abs(xmin-x4))*xn/(xmax-xmin)));

patch(t2,y6,[1 0.8 0.8]);

%錯誤概率區域2繪製

plot(x,y1,

'-g'

,x,y2,

'-r'

,[x4 x4],[0 y4],

'black'

);%概率密度曲線繪製

xlabel(

'字元值',

'rotation'

,0,'fontsize'

,16);

ylabel(

'概率密度',

'rotation'

,90,

'fontsize'

,16);

title(

'傳送資訊經過高斯通道');

text(x4,y4,,

'fontsize'

,12);

%閾值繪製

dx=0.001;

l=abs(x4-xmin);

nd=round(l/dx);ff1=;ff2=;

fori=1:nd

f1=(((2*pi)^(-0.5))/sigma1)*exp(-((i*dx-abs(xmin))-m1).^2/(2*(sigma1^2)));

f2=(((2*pi)^(-0.5))/sigma2)*exp(-((i*dx-abs(xmin))-m2).^2/((2*sigma2^2)));

ff1(i)=f1*dx;

ff2(i)=f2*dx;

endi1=sum(ff1);

i2=1-i1;

i3=sum(ff2);

i4=1-i3;

py_x=[i1 i2;i3 i4];

%通過積分解得通道概率轉移矩陣

[m,n]=size(py_x);

ix=;cxy=;b2=;

fort=1:999

b2(1)=t*0.001;

b2(2)=1-b2(1);

%先驗概率

px=b2';

[m2,n2]=size(px);

fori=1:m

ix(i,1)=px(i,1)*(-log2(px(i,1)));

%自資訊量

endhx=sum(ix);

%先驗資訊熵

iy_x=;pxy=;

forj=1:m

fori=1:n

pxy(j,i)=px(j,1)*py_x(j,i);

%條件概率

iy_x(j,i)=pxy(j,i)*(-log2(py_x(j,i)));

i3(j,i)=pxy(j,i)*(-log2(pxy(j,i)));

endend

hy1x=sum(sum(iy_x));

hxy=sum(sum(i3));

%聯合熵

py=sum(pxy);iy=;

fori=1:n

iy(i)=py(i)*(-log2(py(i)));

endhy=sum(iy);

hx1y=hxy-hy;

ixy=hy-hy1x;

%互資訊

cxy(t)=ixy;

end[cn cm]=max(cxy);

%找到互資訊的最大值即通道容量

c=cn;

fprintf(

"通道容量為

資訊理論實驗 通道容量迭代演算法 C 實現

熟悉通道容量的迭代演算法 學習如何將複雜的公式轉化為程式 已知 信源符號個數r,新宿符號份額數s 通道轉移概率矩陣p 輸入 任意的乙個通道轉移概率矩陣。r s p在執行時從鍵盤輸入。輸出 最佳信源分布p 通道容量c。乙個通道,若給定輸入分布q x 和轉移概率分布p y x 則輸出概率分布為 y xq...

資訊理論 離散通道及其容量筆記

1.通道容量是資訊能夠可靠傳輸的最大傳輸速率。通道容量定義為通道輸入與輸出平均互資訊的最大值。通道容量僅於通道特性,通道轉移概率有關,與通道輸入無關。但是通道輸入概率必須與通道容量進行匹配才能達到容量。2.單符號離散通道 乙個平穩離散無記憶通道的容量 c定義為輸入與輸出平均互資訊 i x y 的最大...

通道頻寬和通道容量的關係

通道頻寬 bandwidth 1.通道包括模擬通道和數字通道。2.在模擬通道,頻寬按照公式w f2 f1計算 其中f1是通道能夠通過的最低頻率,f2是通道能夠通過的最高頻率,兩者都是由通道的物理特性決定的。當組成通道的電路製成了,通道的頻寬就決定了。為了使訊號的傳輸的失真小些,通道要有足夠的頻寬。3...