Create Desired Absorption Filter创建所需吸收滤波器
任务一
(注意:函数 absorption是用户我,定义好的.m文件需要放在工作路径下才可调用
)
以下是我定义的函数
function alpha = absorption(f)
% ABSORPTION 计算海水中声波的吸收系数(单位:dB/m)
% 输入:
% f - 声波频率(Hz),可以是向量或标量
% 输出:
% alpha - 吸收系数(dB/m)% 设置常数参数(标准温盐环境下的近似值)
pH = 8.1; % 海水酸碱度
T = 25; % 温度 (摄氏度)
S = 35; % 盐度 (ppt)
d = 1000; % 深度 (m)% 转换温度为热力学温度
theta = 1 / (1 + 0.03*(T - 25));% 硼酸贡献
A1 = 0.189 * exp((25 - T)/8.0);
f1 = 1.5 * 1e6 * (T/20)^0.5 * 10^(-pH/2) + 4.2 * 1e3;% 镁硫酸盐贡献
A2 = 42.9 * S / 35 * exp((25 - T)/6.0);
f2 = 2.9 * 1e3 * exp((25 - T)/7.2);% 双硼酸盐贡献(可选)
A3 = 3.1 * exp(-T/20);
f3 = 7.5 * 1e3 * (d/1000)^0.5;% 总吸收系数(dB/m)
alpha = (A1 * f.^2 ./ (f.^2 + f1.^2) ...+ A2 * f.^2 ./ (f.^2 + f2.^2) ...+ A3 * f.^2 ./ (f.^2 + f3.^2));
end
%任务一
waterabs = absorption(fr);
任务二
%任务二
plot(fr,waterabs)
Filter Coefficients 滤波器系数
储备知识