主要内容

用被动声纳系统定位声标

这个例子展示了如何模拟被动声纳系统。在浅水信道中,通过拖曳被动阵列对固定水声信标进行检测和定位。声信标以每秒37.5千赫兹的频率发射10毫秒的脉冲,并被模拟为各向同性投影仪。定位系统在地表下拖曳一个无源阵列,该阵列被建模为均匀线阵。一旦检测到声信标信号,就使用到达方向估计器来定位信标。

定义水下通道

在这个例子中,声学信标位于200米深的浅水通道的底部。一个无源阵列被拖到水面以下来定位信标。

首先,在信标和无源阵列之间建立一个多径信道来传输信号,考虑十个传播路径,包括直接路径和从上表面和下表面反射的路径。isopaths将由多路径通道使用,通道,来模拟信号的传播。

推进速度=1520;航道深度=200;运行频率=37.5e3;等径线=相控。等速水下航道(“ChannelDepth”,渠道深度,...“NumPathsSource”“属性”“NumPaths”10“传播速度”速度);通道=相控。多通道(“工作频率”, OperatingFrequency);

定义声信标和无源阵列

声信标波形

定义声信标发出的波形。该波形为矩形脉冲,重复间隔为1秒,宽度为10毫秒。

脉冲重复频率= 1;脉冲宽度= 10 e - 3;pulseBandwidth = 1 /脉冲宽度;fs = 2 * pulseBandwidth;wav =分阶段。RectangularWaveform (脉冲重复频率的脉冲重复频率,“脉冲宽度”脉冲宽度,...“SampleRate”,fs);channel.SampleRate=fs;

声信标

接下来,定义声学信标,它位于信道底部上方1米的地方。声学信标被模拟成一个各向同性投影仪。声波信标波形将辐射到远场。

投影仪=分阶段。IsotropicProjector (“电压响应”, 120);projRadiator =分阶段。散热器(“传感器”投影仪...“传播速度”propSpeed,“工作频率”, OperatingFrequency);beaconPlat =分阶段。平台(“初始位置”, 5000;2000;-199年),...“速度”,[0; 0; 0]);

被动声纳

被动拖曳阵列将检测并定位pings源,并将其建模为具有半波长间距的五元线性阵列。被动阵列在y方向的速度为1m/s。阵列轴的方向与行进方向平行。

水听器=分阶段。IsotropicHydrophone (“VoltageSensitivity”, -150);数组=分阶段。齿龈(“元素”,水听器,...“NumElements”5.“元素间距”propSpeed / OperatingFrequency / 2,...“ArrayAxis”“y”);arrayCollector =分阶段。收集器(“传感器”大堆...“传播速度”propSpeed,“工作频率”, OperatingFrequency);arrayPlat =分阶段。平台(“初始位置”,[0; 0; -10],...“速度”, (0;1;0]);

定义每个水听器元件的接收放大器。选择20 dB的增益和10 dB的噪声系数。

rx=相控接收器前置放大器(...“获得”, 20岁,...“NoiseFigure”10...“SampleRate”,财政司司长,...“种子源”“属性”...“种子”, 2007);

模拟被动声纳系统

启动声标,发送十次信号。在传播延迟之后,在阵列的接收信号中ping出现一个峰值。

x=wav();numTransmits=10;rxsig=0(大小(x,1),5,numTransmits);我= 1:numTransmits%更新阵列和声学信标位置[pos_tx, vel_tx] = beaconPlat(1 /脉冲重复频率);[pos_rx, vel_rx] = arrayPlat(1 /脉冲重复频率);%计算声信标和阵列之间的路径(路径,夹住,树脂黄、rcvang srcang] =...等径线(位置tx、位置rx、标高tx、标高rx、1/prf);%传播声信标波形tsig=projRadiator(x,srcang);rsig=信道(tsig、路径、dop、aloss);%收集传播的信号rsig = arrayCollector (rsig rcvang);%存储接收到的脉冲rxsig(:,:我)= abs (rx (rsig));结束

画出最后接收到的脉冲。由于有多条传播路径,每个ping都是多个脉冲的叠加。

t =(0:长度(x) / fs;情节(t, rxsig(:,结束))包含(‘时间’);ylabel (‘信号幅度(V)’

图中包含一个轴对象。axis对象包含一个类型为line的对象。

估计到达方向

估计声信标相对于阵列的到达方向。创建MUSIC estimator对象,指定单个源信号和到达方向作为输出。使用间距为0.1度的扫描角度网格。

musicspatialspect =分阶段。MUSICEstimator (“SensorArray”大堆...“传播速度”propSpeed,“工作频率”...工作频率,“ScanAngles”,-90:0.1:90,“DOAOutputPort”,真的,...“NumSignalsSource”“属性”“NumSignals”,1);

接下来,收集ping信号,再重复500次。估计每个重复间隔的到达方向,并将估计值与真实的到达方向进行比较。

numTransmits = 500;angPassive = 0 (numTransmits, 1);angAct = 0 (numTransmits, 1);我= 1:numTransmits%更新阵列和声学信标位置[pos_tx, vel_tx] = beaconPlat(1 /脉冲重复频率);[pos_rx, vel_rx] = arrayPlat(1 /脉冲重复频率);%计算声标和阵列之间的路径(路径,夹住,树脂黄、rcvang srcang] =...等径线(位置tx、位置rx、标高tx、标高rx、1/prf);angAct(i)=rcvang(1,1);%传播声信标波形tsig=projRadiator(x,srcang);rsig=信道(tsig、路径、dop、aloss);%收集传播的信号rsig=arrayCollector(rsig,rcvang);rxsig=rx(rsig);估计到达的方向[~,Ang(i)]=音乐空间谱(rxsig);结束

绘制每个脉冲重复间隔的估计到达角和真实到达方向。

绘图([angAct])xlabel(“脉冲数”)伊拉贝尔(的到达角(度))传说(“估计DOA”“实际DOA”

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些目标分别表示估计的DOA和实际的DOA。

预计到达方向与实际到达方向的一致度不超过1度。

总结

本例中,在浅水信道中模拟了信标与无源阵列之间的声脉冲传输。每一个脉冲信号都沿着10条声学路径接收。对于每个接收到的ping,信标的到达方向相对于无源阵列估计,并与真实的到达方向进行比较。到达的方向可以用来定位和恢复信标。

参考

Urick,罗伯特。水声原理.加利福尼亚,洛斯阿尔托斯:半岛出版社,1983。