船舶辐射噪声的程序matlab
时间: 2023-07-31 12:07:22 浏览: 304
船舶辐射噪声的计算程序有很多种,其中一种比较常见的是使用MATLAB编写的程序。下面给出一个简单的船舶辐射噪声计算程序供参考。
```matlab
clc
clear all
close all
%% 声速和密度
c = 1480; % 水中声速
rho = 1000; % 水的密度
%% 船舶参数
Lpp = 150; % 船长
B = 20; % 船宽
H = 10; % 船高
T = 5; % 吃水
V = 10; % 航速
%% 计算噪声源强度
P0 = 1; % 参考声压级
S = Lpp * B; % 船体面积
M = V * rho * S; % 海水通过船体的质量流量
Q = 1.2 * M * V; % 海水通过船体的体积流量
I0 = P0^2 / (rho * c); % 声强参考值
IL = 10 * log10(I0); % 参考声强级
PL = 10 * log10(Q) + 10 * log10(S) + IL; % 噪声源强度
%% 计算传播损失
R = 1000; % 距离
TL = 20 * log10(R) + 2 * H * (1 - cosd(atan(T / Lpp))) + 10 * log10((2 * pi * R) / c);
% 声衰减损失,包括距离衰减和船体反射损失
TS = 10 * log10((4 * pi * R^2) / S); % 阻尼损失
Ttotal = TL + TS; % 总的传播损失
%% 计算接收声压级
P1 = sqrt((10^(PL / 10)) / (4 * pi * R^2)); % 接收声压
P2 = P1 * 10^(-Ttotal / 20); % 考虑传播损失后的接收声压
IL2 = 10 * log10((P2^2) / (rho * c)); % 接收声强级
SPL = IL2 + 10 * log10((4 * pi * R^2) / S); % 接收声压级
disp(['船舶辐射噪声为:', num2str(SPL), 'dB']);
```
需要注意的是,这个程序只是一个简单的船舶辐射噪声计算程序,如果需要更加准确的计算,需要考虑更多的因素,例如船体的几何形状、船速对船体产生的影响等。同时,不同的计算方法也可能会得到不同的结果,因此在进行船舶辐射噪声计算时,需要根据具体情况选择合适的方法。
阅读全文