You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

室内VLC Matlab仿真中如何引入cos(phi)、cos(psi)计算接收光功率

室内VLC系统LOS链路接收光功率Matlab实现

核心公式修正

标准朗伯视距(LOS)链路直流增益公式如下:

$$H(0) = \frac{(m+1)A_{det}}{2\pi D^2} \cos^m(\phi) \cos(\psi) T_s(\psi) g(\psi), \quad 0 \leq \psi \leq \Psi_{FOV}$$
各参数定义:

  • $\phi$:发射端出射角,即LED法线与出射光线的夹角
  • $\psi$:接收端入射角,即PD法线与入射光线的夹角
  • $T_s(\psi)$:光滤波器增益,本次仿真忽略取1
  • $g(\psi)$:聚光镜增益,本次仿真忽略取1
  • $\Psi_{FOV}$:接收端视场角,本次设置为60°

实现步骤

  • 拆分原代码中合并的出射角、入射角余弦项,严格按照公式独立写入$\cos^m(\phi)$、$\cos(\psi)$两个计算项,替换原正对场景下的近似写法
  • 配置遍历参数:固定发射出射角$\phi=0^\circ$,生成入射角数组,取值范围0°~30°,步长5°
  • 逐点计算各入射角对应的信道增益、接收光功率,角度计算使用cosd()函数直接输入角度值,避免弧度转换错误
  • 修正原代码单位笔误:光功率转dBm时以1mW为参考值计算,替换原代码中错误的dB单位写法

修正后可运行Matlab代码

close all;
clear all;
clc;

%% 基础参数配置
% LED/PD固有参数
theta = 70;                       % LED半功率角,单位:度
m = -log10(2)/log10(cosd(theta)); % 朗伯辐射阶数
P_total = 20;                     % 单LED发射光功率,单位:W
Adet = 1e-4;                      % PD探测面积,单位:m^2

% 光元件参数,本次仿真忽略滤波器、聚光镜影响,增益均设为1
Ts = 1;                           
G_Con = 1;                        

% 链路几何参数
h = 2.15;                         % 发射端与接收端垂直距离,单位:m
FOV = 60;                         % 接收端视场角,单位:度

%% 仿真遍历参数设置
phi = 0;                          % 固定发射出射角为0°
psi_arr = 0:5:30;                 % 接收入射角取值范围0°~30°,步长5°
cosphi = cosd(phi);               % 发射出射角余弦值,固定为1
D1 = h;                           % phi=0时光线沿垂直方向传播,传输距离等于垂直高度

%% 逐点计算信道增益与接收功率
res_len = length(psi_arr);
H_A1_list = zeros(1, res_len);
P_rec_list = zeros(1, res_len);
P_rec_dBm_list = zeros(1, res_len);

for idx = 1:res_len
    psi = psi_arr(idx);
    % 入射角超过FOV时接收增益为0,当前psi最大值30°<FOV60°,判断逻辑为通用场景预留
    if psi > FOV
        H_A1 = 0;
    else
        cospsi = cosd(psi);
        % 代入标准朗伯LOS信道直流增益公式计算
        H_A1 = (m+1)*Adet * (cosphi^m) * cospsi / (2*pi*D1^2);
    end
    H_A1_list(idx) = H_A1;
    P_rec = P_total * H_A1 * Ts * G_Con;
    P_rec_list(idx) = P_rec;
    P_rec_dBm_list(idx) = 10*log10(P_rec / 1e-3); % 转换为dBm单位(参考功率1mW)
end

%% 结果输出与绘图
% 命令行打印各入射角对应计算结果
fprintf('psi(°)\t信道增益H_A1\t接收光功率(W)\t接收光功率(dBm)\n');
for idx = 1:res_len
    fprintf('%d\t%.6e\t%.6e\t%.2f\n', psi_arr(idx), H_A1_list(idx), P_rec_list(idx), P_rec_dBm_list(idx));
end

% 绘制接收功率随入射角变化曲线
figure;
plot(psi_arr, P_rec_dBm_list, 'b-o','LineWidth',1.5,'MarkerSize',6);
grid on;
xlabel('接收入射角ψ (°)');
ylabel('接收光功率 (dBm)');
title('固定φ=0°时接收光功率随入射角变化关系');

结果说明

  • 当$\psi=0^\circ$(PD法线与入射光线完全重合)时,信道增益达到最大值,接收光功率最高
  • 接收光功率随入射角增大单调下降,衰减规律与$\cos(\psi)$线性相关,符合朗伯辐射特性
  • 所有仿真入射角取值均小于60°接收FOV,无信号截断情况
  • 若需恢复原二维平面接收功率分布仿真(PD垂直向上放置,此时几何关系满足$\phi=\psi$,$\cos\phi=\cos\psi=h/D_1$),替换对应几何参数计算逻辑即可

内容的提问来源于stack exchange,提问作者SH_IQ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 09:54:27