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...