水声学原理3.1.6波动声学基础-简正波声场计算及时域波形预报仿真程序.pdf

水声学原理3.1.6波动声学基础-简正波声场计算及时域波形预报仿真程序.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序1: %理想边界(绝对软海底)平行平面层波导声场计算 %对应水声学原理第三章前两节针对波动声学的部分内容 clear all close all clc; f=25;%声源频率 w=f*2*pi;%角频率 c=1500;%声速 k=w/c;%波数 z0=100; %声源深度 L=10000; %所要求解的距离 H=200; %最大深度 step=1000; %运算点数 pp=zeros(step,step);%声场初始化 Tl=zeros(1,8000); lam=c/f;%波长 n=floor(H/(lam/2));%简正波阶数 x=0:L/(step-1):L;%水平距离 z=0:H/(step-1):H;%深度 for i=1:1:n kzn=i*pi/H; %本征值 kn=sqrt(k^2-kzn^2); po=(j*pi*2/H)*sin(kzn*z0)*sin(kzn*z).*besselh(0,2,(kn*x));%声场解析解 pp=po+pp;%求和 end; p0=exp(j*k);%声源归一化条件 p=abs(pp)+10^-7;%避免奇异性 TL=-20*log10(abs(p/p0)); figure pcolor(x,z,TL)%绘图 shading interp; colormap(default) cmap = colormap; colormap(flipud(cmap)); axis ij; jeta=jet(22); jetb=flipud(jeta); colormap(jetb) colorbar; title(绝对软海底传播损失) xlabel(Range/m) ylabel(depth/m) figure h=30;%设置深度 row=floor(h/(H/(step-1))); plot(x,TL(row,:)) title(绝对软海底30m 深度处传播损失曲线) xlabel(Range/m) ylabel(dB/m) axis ij 程序:2: %理想边界(绝对硬海底)平行平面层波导声场计算 clear all clc; f=25;%声源频率 w=f*2*pi;%角频率 c=1500;%水中声速 k=w/c;%水中波数 z0=100; %声源深度 L=10000; %所要求解的距离 H=200; %波导深度 step=1000; %运算点数 pp=zeros(step,step);%声压初始化 Tl=zeros(1,8000); %传播损失初始化 lam=c/f; % 声波波长 n=floor(H/(lam/2)+1/2);%简正波阶数 x=0:L/(step-1):L; z=0:H/(step-1):H; for i=1:1:n-1 kzn=(i-1/2)*pi/H; %本征值 kn=sqrt(k^2-kzn^2); po=(j*pi*2/H)*sin(kzn*z0)*sin(kzn*z).*besselh(0,2,(kn*x));%声场解析解 pp=po+pp; %求和 end; p0=exp(j*k); %点源归一化函数 p=abs(pp)+10^-7;%加上一小量避免问题的奇异性 TL=-20*log10(abs(p/p0));%计算传播损失 pcolor(x,z,TL)%绘图 shading interp; colormap(default) cmap = colormap; colormap(flipud(cmap)); axis ij; jeta=jet(22); jetb=flipud(jeta); colormap(jetb) colorbar; title(绝对硬海底传播损失) xlabel(Range/m) ylabel(depth/m) figure h=30;%设置深度 row=floor(h/(H/(step-1))); plot(x,TL(row,:)) title(绝对硬海底30m 深度处传播损失曲线) xlabel(Range/m) ylabel(dB/m) axis ij 程序3 : %%简正波声场波形预报%% %对应水声学原理第三章前两节针对波动声学的部分内容 clear all close a

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档