欢迎来到泰骏兴电子,大家有问题可以直接联系管理员QQ:233619809单片机 QQ群:59194556 各位游客也可以注册玩玩,享受更多权益。温馨提示:本网站仅提供平台学习以及渠道,一切后果自行承担,还望广大用户提高自我意识,请不要轻易相信他人,请不要轻易相信他人,请不要轻易相信他人。为了更好的管理论坛工作,所以现在使用邮箱注册,如果以前的邮箱不能修改的,请联系管理员代为修改

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 138|回复: 0

PM2.5的AQI空气质量C语言计算程序STM32与51单片机等都可以用

[复制链接]
发表于 2023-12-23 08:35:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1、简介
       环境空气质量标准的建立,可以为环境空气质量管理、保护人体健康、维护生态环境安全,促进人与社会、自然和谐可持续发展发挥积极作用。20世纪70年代,美国最先构建环境空气指数标准,随后,世界各国也基于各自的空气质量状况建立了适合本国的空气质量指数发布系统,如中国的API(air pollution index)和AQI(air quality index)。可见,空气质量指数标准的建立时间也不是很久远。

       目前,中国空气质量标准来自国家环境保护部发布的《环境空气质量标准》(GB3095-2012)、《环境空气质量指数(AQI)技术规定(试行)》(HJ 633-2012)。从之前的3种、5种污染物到现在的6种污染物标准,分别为:,具体如下:

                                               表1 中国空气质量指数发展历程




   2、AQI计算方法
       如表1 所示,空气质量指数分为24h平均的指数、1h平均的指数以及8h平均,所以不同类型的指数计算方法也各不相同。而现实中我们常用的指数为24小时的以及1h的,气象平台平时用来发布的实时AQI数据是根据1hAQI标准计算出来的。24小时的AQI则更能体现当天的整体空气质量情况如何。

       我们先来介绍AQI计算方式的,然后后面我们会介绍具体的1hAQI计算方式以及24hAQI具体计算方式。









  1. u16 AQI_LAQI[]={0,50,100,150,200,300,400,500};
  2. u16 AQI_PM2_5_24h_ug_m3[]={0,35,75,115,150,250,350,500};

  3. float PM2_5_AQI(u16 PM2_5_vale)
  4. {
  5.                         u8 q;
  6.                         float AQI;
  7.                         for(q=0;q<sizeof(AQI_PM2_5_24h_ug_m3) / sizeof(AQI_PM2_5_24h_ug_m3[0]);q++)
  8.         {
  9.                         if(PM2_5_vale>=AQI_PM2_5_24h_ug_m3[q])
  10.                 {
  11.                         AQI=(float)((float)(AQI_LAQI[q+1]-AQI_LAQI[q])/(AQI_PM2_5_24h_ug_m3[q+1]-AQI_PM2_5_24h_ug_m3[q]))*(PM2_5_vale-AQI_PM2_5_24h_ug_m3[q])+AQI_LAQI[q];
  12.                         if(AQI<=500)
  13.                         {
  14.                         return AQI;
  15.                         }
  16.                         else
  17.                         {
  18.                         return 500;
  19.                         }
  20.                 }
  21.         }
  22. }
  23. void cs()
  24. {
  25.                         u16 q;
  26.                         for(q=0;q<500;q++)
  27.         {
  28.                         printf("PM2.5=%d          AQI=%0.2f\r\n",q,PM2_5_AQI(q));
  29.         }
  30. }
复制代码




高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|泰骏兴电子科技有限公司 ( 粤ICP备2023060260号-1 ) 单片机爱好者

GMT+8, 2026-4-11 05:21

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表