前言
基于Clarke模型的改进多径非相关瑞利衰落信道模型(以下简称为改进的Clarke衰落信道模型)是在Clarke模型的基础上,改变了到达角的计算方法得到的。本文在介绍该模型的基础上,给出该模型的MATLAB仿真代码,并给出由该模型仿真代码得到的接收信号包络及其分布的估计值。
一、改进的Clarke衰落信道模型
改进的Clarke衰落信道模型的到达角αn由下式给出:
式中,βk,θn服从在 [–π, π]上的独立均匀分布。
该模型的瑞利衰落过程的正交分量由下式给出:
式中,gk(t)为第k路径信道;N为模拟瑞利信道需要的正弦波个数,N0=N/4;M为需要产生的多径非相关瑞利衰落信道数;k=1,2,…,M。
下面给出该模型的MATLAB仿真代码。
二、改进的Clarke衰落信道模型的MATLAB仿真代码
1.MATLAB代码
代码如下:
function hd = Improved_Clarke_Rayleigh(speed, nPath, Ts, nSamples, N)
c = 3e8; % 光速
fc = 900e6; % 载波频率,默认值900MHz
v = speed*1000/3600; % 将速度换算成m/s
fd = v*fc/c; % 最大多普勒频移
t = (0:(nSamples-1)) * Ts;
const = sqrt(1/N); % 功率归一化系数
wd = 2*pi*fd;
x = 0;
y = 0;
for k = 1:nPath
xk = 0;
yk = 0;
for n = 1:(N/4)
alpha = (2*pi*n-pi+(2*pi*rand-pi))/N + ...
(2*pi*k-pi+(2*pi*rand-pi))/nPath;
ph1 = 2*pi*rand - pi;
ph2 = 2*pi*rand - pi;
xk = xk + const*cos(wd*t*cos(alpha)+ph1);
yk = yk + const*sin(wd*t*sin(alpha)+ph2);
end
x = x + xk;
y = y + yk;
end
hd = (x + 1j*y)/sqrt(2); % h doppler
输入参数speed为移动速度(km/h),nPath为路径数量(应不小于8),Ts为采样时间间隔,nSamples为采样值的个数,N为模拟瑞利衰落信道所需的正弦波的个数。
下面给出仿真主函数:
clc
close all
clear all
speed = 1000; % 移动速度,单位km/h
nPath = 8; % 路径数量,大于等于8
nSamples = 1e6; % 采样值的个数
N = 32; % Clarke模型中正弦波的数量
Ts = 1/(10^4); % 抽样时间间隔
r = Improved_Clarke_Rayleigh(speed, nPath, Ts, nSamples, N);
figure()
plot(20*log10(abs(r)),'-')
grid on
xlabel('samples')
ylabel('接收信号/dB')
title('改进Clarke瑞利衰落信道模型的接收信号包络(移动速度v=1000km/h)')
%% 概率密度函数
step = 0.1;
range = 0:step:3;
h = hist(abs(r), range);
fr_approx = h/(step*sum(h));
fr_theoretical = (range/0.5).*exp(-range.^2);
figure()
plot(range, fr_approx,'ro', range, fr_theoretical,'b');
grid on
title('改进Clarke信道模型衰落值的PDF')
legend('估计值','理论值')
2.仿真结果
仿真结果如下:
对比移动速度100km/h和1000km/h的接收信号包络,可以发现移动台的移动速度越快,信道增益随时间变化也越快,变化幅度也越大,这与实际信道是相符合的,说明该仿真模型基本符合实际衰落情况。
三、改进的Clarke衰落信道模型的概率密度函数
下面给出该模型的概率密度函数仿真结果:
采样值的个数nSamples=10000时,得到的概率密度函数估计值与理论值比较如下:
采样值的个数nSamples=1000000时,得到的概率密度函数估计值与理论值比较如下:
可见,只有当仿真样本足够大时,该模型给出的衰落值的概率密度才和理论值较为一致。
参考文献:
(1)多径非相关瑞利信道生成的改进 王欣,酆广增,通信学报,第28卷第5期2007年5月
(2)FPGA数字信号处理与工程应用实践, 张春生,苏开友编著,中国铁道出版社,2013年