目录
前言
本文是信息论周三上午三四节班第五组所做的调研报告
小组成员:P02114041项丙才、P02114044王明慧、P02114045吴远帅、P02114046陆梓赫、P02114049尹从宇
本文主要由平均互信息的定义推导出离散序列信道的容量。
其次,多维无记忆加性信道可以等价为L个独立并联加性信道,从而推出多维无记忆加性连续信道及其容量。
最后,根据加性噪声的不同,分两类情况讨论。其中, 当各单元时刻L个高斯噪声均为,但方差不同且为
时,若输入信号的总均功率受限,本文根据拉格朗日乘数法推导出最佳输入功率分配。
一、离散序列信道及其容量
离散序列信道
对于无记忆离散序列信道,其信道转移概率为
,
根据平均互信息的定义
,
如果信道无记忆,则
(1-1)
证明如下:
二、多维无记忆加性连续信道及其容量
多维无记忆加性信道等价为L个独立并联加性信道
信道数入随机序列,输出随机序列
,加性信道由
,其中
是均值为零的高斯噪声,表示各单元时刻上的噪声。
由于信道无记忆,所以有,即信源序列的转移概率等于各个符号转移概率的乘积。
加性信道中噪声随机序列的的各时刻分量是统计独立的,即,各分量都是均值为
、方差为
高斯变量。所以多维无记忆高斯加性信道就可等价为L个独立的并联高斯加性信道。由式
可得
则
(2-1)
分下列两种情况讨论:
(1)当每个单元时刻上的噪声都是均值为、方差相同且为
的高斯噪声时,由式
可得
当且仅当输入矢量X的各分量统计独立,均值都为、方差相同为
的高斯变量时,信道中传输的信息率可达到最大。
(2)当各单元时刻L个高斯噪声均为,但方差不同且为
时,若输入信号的总均功率受限,约束条件为
(2-2)
则此时各单元时刻的信号平均功率应合理分配,才能使信道容量最大。也就是需要在式的约束条件下,求式
中
的分布。
三、注水法功率分配的证明
上述问题是一个标准的求极大值的问题,采用拉格朗日乘数法来计算:
作辅助函数
令,可得
即
满足上式时,式才能取得最大值。
上式表示各单元时刻上信号平均功率与噪声功率之和,即各个时刻的信道输出功率相等,设为常数,则
则各单元时刻输入信号平均功率为
将上式代入式,得
、
当某些单元时刻的噪声太大,大于常数
,使式中
出现负数值,说明这些时刻的信道质量太差,必须置
,不进行功率分配,予以关闭。然后重新调整信号输入的功率分配,直至
不再出现负值。这就是“注水法”的原理。
四、注水法功率分配的应用及MATLAB仿真实例
例:有一并联高斯加性信道,各子信道噪声方差为 ,
,
,
,
,
,
,
,
,
。
(1)若输入信号总功率 ,则平均输出功率
,因为该值大于所有子信道的噪声功率
,所以各子信道分配的功率分别是:
,
,
,
,
,
,
,
,
,
。总的信道容量
。
(2)若输入信号总功率 ,则平均输出功率
,该值小于最后4个子信道的噪声功率
,关闭这四个子信道,即
,
,
,
。重新计算平均输出功率
,关闭第6个子信道,
。再次计算平均输出功率
。此时其他子信道分配的功率:
,
,
,
,
。总的信道容量
。
注水法功率分配实例如下:
MATLAB仿真过程:
MATLAB仿真结果:
参考代码:
clc;
close all;
clear;
%% 初始化
Ptsum=11; %总传输功率
noise=[2 1 4 3 2 4 2 1]; %噪声功率
N= length(noise) ; %信道个数
[noise_sorted,index]=sort(noise);
for p=length(noise_sorted):-1:1
T_P=(Ptsum+sum(noise_sorted(1:p)))/p;
Input_Power=T_P-noise_sorted;
Pt=Input_Power(1:p);
if(Pt(:)>=0)
break
end
end
power_alloc=zeros(1,N);
power_alloc(index(1:p))=Pt; %分配的功率
capacity=sum(log2(1+power_alloc./noise)); %信道容量
for ii =1:length(noise)
g(ii,:)=[noise(ii),power_alloc(ii)];
end
bar(g,'stack');
legend ('Noise Level','Power Level')
ylabel('Noise & Power Level','fontsize',12)
xlabel('Number of Channels (N)','fontsize',12)
title('Power Allocation for Waterfilling Alogorithm','fontsize',12)