【大气】大气吸收损耗模型【含Matlab源码 2888期】

发布时间:2024年01月17日

在这里插入图片描述

一、?获取代码方式

获取代码方式1:
完整代码已上传我的资源:【大气】基于matlab大气吸收损耗模型【含Matlab源码 2888期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab物理应用(初级版)

备注:
点击上面蓝色字体付费专栏Matlab物理应用(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab物理应用(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

?二、部分源代码

close all; clear all;

p=1013; % pressure in hPa (1 atm=1013 hPa)
t=15; % atmospheric temp in C, determine from maps in P.1510 if not known
rho=7.5 % water vapor density (g/m^3)

rp=p/1013;
rt=288/(273+t);

% Compute and plot specific attenuation
i1=1;
for f=1:350
ff(i1)=f;
gamdry(i1)=gamo(f,rp,rt);
gamwat(i1)=gamw(f,rp,rt,rho);
i1=i1+1;
end
figure
set(gca,‘Fontsize’,14)
loglog(ff,gamdry,‘linewidth’,3)
hold on
loglog(ff,gamwat,‘r–’,‘linewidth’,3)
loglog(ff,gamdry+gamwat,‘ko’,‘markersize’,8)

xlabel(‘Frequency (GHz)’)
ylabel(‘Specific attenuation (dB/km)’)
grid on
axis([1 350 1e-3 1e2])
set(gca,‘Xtick’,[1:10 20:10:100 200 350])
set(gca,‘Xticklabel’,{‘1’;‘2’;‘’;‘’;‘5’;‘’;‘’;‘’;‘’;‘10’;‘20’;‘’;‘’;‘50’;‘’;‘’;‘’;‘’;‘100’;‘200’;‘350’})

set(gca,‘Ytick’,[0.001 0.01 0.1 1 10 100])
set(gca,‘Yticklabel’,[‘0.001’;’ 0.01’;’ 0.1 ‘;’ 1 ‘;’ 10 ‘;’ 100 '])
legend(‘Oxygen’,‘Water Vapor’,‘Total’)
title(‘1 atm, 15^\circ C, \rho=7.5 g/m^3’)

% Compute and plot zenith attenuation

i1=1;
for f=1:350
ff(i1)=f;

t1=4.64/(1+0.066rp-2.3)*exp(-((f-59.7)/(2.87+12.4*exp(-7.9*rp)))2);
t2=0.14
exp(2.12rp)/((f-118.75)^2+0.031exp(2.2rp));
t3=0.0114/(1+0.14
rp-2.6)*f*(-0.0247+0.0001*f+1.61e-6*f2)/(1-0.0169f+4.1e-5f2+3.2e-7*f3);
ho=6.1/(1+0.17rp^-1.1)(1+t1+t2+t3);
if (f<70)&(ho>10.7rp^0.3)
ho=10.7
rp^0.3;
display(‘Violated condition!’); drawnow;
end;

sigw=1.013/(1+exp(-8.6*(rp-0.57)));
hw=1.66*(1+1.39sigw/((f-22.235)2+2.56*sigw)+3.37*sigw/((f-183.31)2+4.69sigw)+1.58sigw/((f-325.1)^2+2.89sigw));

attendry(i1)=hogamo(f,rp,rt);
attenwat(i1)=hw
gamw(f,rp,rt,rho);
i1=i1+1;
end
figure
set(gca,‘Fontsize’,14)
loglog(ff,attendry,‘b’,‘linewidth’,3)
hold on
loglog(ff,attenwat,‘r–’,‘linewidth’,3)
loglog(ff,attendry+attenwat,‘ko’,‘markersize’,8)

xlabel(‘工作频率 (GHz)’)
ylabel(‘大气气体吸收衰减 (dB)’)
grid on
axis([1 350 1e-3 1e3])
set(gca,‘Xtick’,[1:10 20:10:100 200 350])
set(gca,‘Xticklabel’,{‘1’;‘2’;‘’;‘’;‘5’;‘’;‘’;‘’;‘’;‘10’;‘20’;‘’;‘’;‘50’;‘’;‘’;‘’;‘’;‘100’;‘200’;‘350’})

set(gca,‘Ytick’,[0.001 0.01 0.1 1 10 100 1000])
set(gca,‘Yticklabel’,[‘0.001’;’ 0.01’;’ 0.1 ‘;’ 1 ‘;’ 10 ‘;’ 100 ‘;’ 1000’])
legend(‘氧气’,‘水蒸气’,‘总吸收损耗’)
title(‘1 atm, 15^\circ C, \rho=7.5 g/m^3’)

?三、运行结果

在这里插入图片描述
在这里插入图片描述

?四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]刘萍.如何理解空气质量分指数(IAQI)计算公式并速算[J].黑龙江环境通报. 2014,38(02)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

文章来源:https://blog.csdn.net/weixin_63266434/article/details/135602508
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。