python 实现等声值线图绘制

今天讲一类环评项目的噪声预测 - 风电

风机噪声作为面源目前难有成熟的模型进行预测。根据国内外的研究,都是根据与风机中心的位置进行分级预测。

翟国庆等利用美国航天航空局(NASA)研发的风电机组噪声预测模型(以下简称 NASA”模型),结合国内风机特点和风机噪声实际测量值对做出的模型修正提出了对 国内的风电机组噪声预测模型,但模型较复杂且需要的参数较多。根据其模型简化与实 测比对研究的结果,当噪声预测点距风电机组较近(水平距离 d≤2 倍风轮半)时, 噪声测量值不能用点声源模型进行较好预测;当噪声测点距离风电机组较远(水距离 d≥2 倍风轮半径)时,下风向噪声预测点的预测结果与实测值拟合系数明显,一般 可达到 0.95 以上,拟合效果较好。国外学者 Makarewicz 也用数学方法证明了预测点 距风电水平距离大于 2 倍叶片长度即 1 倍风轮直径时,风机叶片噪声符合自声场点声 源的特点;谷朝军等的实测研究结果也表明,在下风向 4 倍叶片长度距离,距离每增 加 1 倍风机噪声约衰减 6dB(A),基本满足点声源的传播规律。

将风机噪声贡献简化为以下情况:

风机直径w=120, d 为 预测点与噪声源的距离,m。

LA(d) 为预测点(距离 r)的噪声值,dB(A);

LAW 为噪声源的声功率级,dB(A)赋值109

当d

当dd>w/π/2时 ,LA(d) = LAW-10lgd

当d>w/π时,LA(d) = LAW-20lgd-8

python 实现等声值线图绘制_第1张图片

根据以上需求可以使用python 进行脚本编写

import numpy as np
import matplotlib.pyplot as plt

# 设置中心点的坐标和地图范围
center_x = 0
center_y = 0
radius = 500
w = 120  # 风机直径

# 计算网格点的坐标
x = np.linspace(-radius, radius, 1000)
y = np.linspace(-radius, radius, 1000)
X, Y = np.meshgrid(x, y)

# 计算每个点的距离和噪声值
d = np.sqrt(X**2 + Y**2)

LA = np.zeros_like(d)
LA[d < w/(2*np.pi)] = 109
LA[(d > w/(2*np.pi)) & (d < w)] = 109 - 10 * np.log10(d[(d > w/(2*np.pi)) & (d < w)])
LA[d > w] = 109 - 20 * np.log10(d[d > w]) - 8

# 背景噪声值
B = 40

# 叠加背景噪声值
LA_total = 10 * np.log10(10**(0.1*LA) + 10**(0.1*B))

# 绘制等声值线图
plt.figure(figsize=(5, 5), dpi=300)
plt.contourf(X, Y, LA_total, levels=np.arange(40, 111, 10), cmap='RdYlGn_r', alpha=0.5)
plt.colorbar(label='Total Sound Level (dB)')
plt.title('Total Sound Contour Map')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()

得到预测结果图

python 实现等声值线图绘制_第2张图片

然后利用ps 叠加卫星图即可出图。

python 实现等声值线图绘制_第3张图片

这里有人可能提出,没有考虑地形的影响,可风电项目往往位于山顶,地形的影响相对较弱。
用这样的分析基本是可以的。

你可能感兴趣的:(工作总结,python,python,人工智能,算法)