% 参数设置
num_samples = 1000; % 仿真样本数量
distance = linspace(1, 100, num_samples); % 距离范围
frequency_mmWave = 28e9; % 毫米波频率(28 GHz)
frequency_sub6GHz = 2.4e9; % 低于6GHz频率(2.4 GHz)
% 系统参数
tx_power = 30; % 发射功率(dBm)
antenna_gain = 15; % 天线增益(dB)
noise_floor = -90; % 噪声地板(dBm)
% 路径损耗模型
path_loss_mmWave_LOS = @(d) 20*log10(d) + 20*log10(frequency_mmWave) + 20*log10(4*pi/3e8);
path_loss_mmWave_NLOS = @(d) 35*log10(d) + 20*log10(frequency_mmWave) + 20*log10(4*pi/3e8);
path_loss_sub6GHz_LOS = @(d) 20*log10(d) + 20*log10(frequency_sub6GHz) + 20*log10(4*pi/3e8);
path_loss_sub6GHz_NLOS = @(d) 35*log10(d) + 20*log10(frequency_sub6GHz) + 20*log10(4*pi/3e8);
% 生成路径损耗数据
los_path_loss_mmWave = path_loss_mmWave_LOS(distance);
nlos_path_loss_mmWave = path_loss_mmWave_NLOS(distance);
los_path_loss_sub6GHz = path_loss_sub6GHz_LOS(distance);
nlos_path_loss_sub6GHz = path_loss_sub6GHz_NLOS(distance);
% 接收功率计算
rx_power_mmWave_LOS = tx_power + antenna_gain - los_path_loss_mmWave;
rx_power_mmWave_NLOS = tx_power + antenna_gain - nlos_path_loss_mmWave;
rx_power_sub6GHz_LOS = tx_power + antenna_gain - los_path_loss_sub6GHz;
rx_power_sub6GHz_NLOS = tx_power + antenna_gain - nlos_path_loss_sub6GHz;
% 信噪比计算
snr_mmWave_LOS = rx_power_mmWave_LOS - noise_floor;
snr_mmWave_NLOS = rx_power_mmWave_NLOS - noise_floor;
snr_sub6GHz_LOS = rx_power_sub6GHz_LOS - noise_floor;
snr_sub6GHz_NLOS = rx_power_sub6GHz_NLOS - noise_floor;
% 绘制结果
figure;
subplot(2, 1, 1);
plot(distance, rx_power_mmWave_LOS, 'r-', 'LineWidth', 2, 'DisplayName', 'Rx Power (LOS, mmWave)');
hold on;
plot(distance, rx_power_mmWave_NLOS, 'b--', 'LineWidth', 2, 'DisplayName', 'Rx Power (NLOS, mmWave)');
plot(distance, rx_power_sub6GHz_LOS, 'g-', 'LineWidth', 2, 'DisplayName', 'Rx Power (LOS, Sub-6GHz)');
plot(distance, rx_power_sub6GHz_NLOS, 'm--', 'LineWidth', 2, 'DisplayName', 'Rx Power (NLOS, Sub-6GHz)');
xlabel('距离(米)');
ylabel('接收功率(dBm)');
title('接收功率 vs 距离');
legend('Location', 'Best');
grid on;
subplot(2, 1, 2);
plot(distance, snr_mmWave_LOS, 'r-', 'LineWidth', 2, 'DisplayName', 'SNR (LOS, mmWave)');
hold on;
plot(distance, snr_mmWave_NLOS, 'b--', 'LineWidth', 2, 'DisplayName', 'SNR (NLOS, mmWave)');
plot(distance, snr_sub6GHz_LOS, 'g-', 'LineWidth', 2, 'DisplayName', 'SNR (LOS, Sub-6GHz)');
plot(distance, snr_sub6GHz_NLOS, 'm--', 'LineWidth', 2, 'DisplayName', 'SNR (NLOS, Sub-6GHz)');
xlabel('距离(米)');
ylabel('信噪比(dB)');
title('信噪比 vs 距离');
legend('Location', 'Best');
grid on;
对毫米波和sub 6g进行分析比较matlab代码,有详细的代码注释,值得学习.zip
版权申诉
30 浏览量
2024-01-23
10:00:58
上传
评论
收藏 81KB ZIP 举报
Matlab科研辅导帮
- 粉丝: 1w+
- 资源: 7491
最新资源
- python基于可变卷积改进的U-Net网络实现对胰腺细胞的精准切割源码(高分项目).zip
- python基于可变卷积改进的U-Net网络实现对胰腺细胞的精准切割源码(高分项目).zip
- 基于javascript实现的蚁群算法(JS代码)
- 基于python实现的随机森林(python代码)
- python读取excel到数据库中,简单的数据库管理脚本
- 7777端口抓包数据集
- IMG_0694.GIF
- 基于图像的三维模型重建C++源代码+文档说明(高分课程设计)
- 基于聚焦法的工件立体测量方案,根据数据进行三维重建 使用HALCON处理图像,MATLAB拟合数据+源代码+数据集+效果图
- 锄战三国村 修改:货币使用不减 v1.10(2) 原创 (中文).apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈