%生成K分布杂波数据——————————————————————————————
clc;clear all;close all;
%K分布参数设置————————————————————————————————
v=1;%形状参数
b=1.5;%尺度参数
T=10000;%快时间维
L=10;%慢时间维
%生成协方差矩阵————————————————————————————————
ro=0.9;%相关系数,在0到1之间,0为不相关,越接近1相关性越强
row=zeros(L);
for i=1:L
for j=1:L
row(i,j)=ro^(abs(i-j));
end
end
R=sqrtm(row);%求平方根
%生成复高斯随机变量——————————————————————————————
Gauss=1/sqrt(2)*(randn(T,L)+1j*randn(T,L));
u=Gauss*R;%单位功率复高斯随机变量
%生成伽马分布随机数——————————————————————————————
gam=gamrnd(v,b,[T,L]);
Gam=sqrt(gam);%求平方根
%生成K分布杂波数据———————————————————————————————
X=zeros(T,L);
for k=1:T
X(k,:)=u(k,:).*Gam(k);%由一个伽马分布随机数的平方根与一个均值为0,方差为1的复高斯随机变量的乘积产生K分布模型
end
X=abs(X);%数据取模
%作图—————————————————————————————————————
[f,xi]=ksdensity(X(:));
figure,
plot(xi,f)
title('K分布仿真数据密度函数')
评论13