一般室内信道模型的matlab仿真代码

一般室内信道模型的matlab仿真代码
clear, clf
scale=1e-9; % ns
Ts=10scale; % 采样时间
t_rms=30
scale; % RMS时延扩展
num_ch=10000; %信道数
% 2径信道
pow_2=[0.5 0.5]; delay_2=[0 t_rms*2]/scale;
H_2 = Ray_model(num_ch).’*sqrt(pow_2);
avg_pow_h_2 = mean(H_2.*conj(H_2));
subplot(221), stem(delay_2,pow_2), hold on, stem(delay_2,avg_pow_h_2,‘r.’);
xlabel(‘Delay[ns]’), ylabel(‘Channel Power[linear]’);
title(‘Ideal PDP and simulated PDP of 2-ray model’);
%legend(‘Ideal’,‘Simulation’);
axis([0 140 0 0.7]);
%指数模型
pow_e=exp_PDP(t_rms,Ts);
delay_e=(0:length(pow_e)-1)*Ts/scale;
H_e = Ray_model(num_ch).’*sqrt(pow_e);
avg_pow_h_e = mean(H_e.*conj(H_e));
subplot(222), stem(delay_e,pow_e), hold on, stem(delay_e,avg_pow_h_e,‘r.’);
xlabel(‘Delay[ns]’), ylabel(‘Channel Power[linear]’);
title(‘Ideal PDP and simulated PDP of exponential model’);
legend(‘Ideal’,‘Simulation’); axis([0 140 0 0.7]);
function PDP=exp_PDP(tau_d,Ts,A_dB,norm_flag)
% 指数 PDP 生成器
% Input:
% tau_d : rms 时延扩展
% Ts : 采样时间
% A_dB : 最小的不可忽略的功率
% norm_flag : 归一化总功率为1
% Output:
% PDP : PDP 向量

if nargin<4, norm_flag=1; end % 归一化
if nargin<3, A_dB=-20; end % 20dB 以下
sigma_tau = tau_d; A = 10^(A_dB/10);
lmax=ceil(-tau_dlog(A)/Ts); % 式2.2
% 计算功率归一化的归一化因子
if norm_flag
p0=(1-exp(-Ts/sigma_tau))/(1-exp(-(lmax+1)Ts/sigma_tau)); % 式2.4
else
p0=1/sigma_tau;
end
% 指数pdp
l=0:lmax; PDP = p0
exp(-l
Ts/sigma_tau);%式 2.5
end
function H=Ray_model(L)
H = (randn(1,L)+1j*randn(1,L))/sqrt(2);
end

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值