⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vector_locomotion.m

📁 利用频率细化方位估计,水声信号处理中的一项技术
💻 M
字号:
%矢量水听器信号模拟 vector_locomotion
%远场条件,球面波衰减
%给定目标起始位置、运动速度,模拟信号强度,(二维情况)

function [p,vx,vy]=vector_locomotion(x_a,y_a,target_x,target_y,target_vx,target_vy,T,r_0,len,fs,f,An,SNR);

target_x=target_x+target_vx*T;      %目标运动
target_y=target_y+target_vy*T;      %目标运动
r_1=sqrt((target_x-x_a)^2+(target_y-y_a)^2);  %目标与水听器的当前距离
phi1=atan2(target_y-y_a,target_x-x_a);  %水平方位角

%噪声--各项同性噪声场
W=randn(len,4);
N=[1,0,0,0;
   0,1/3,0,0;
   0,0,1/3,0;
   0,0,0,1/3];
N=sqrt(N);
noise=W*N;
p_n=noise(:,1); %声压的噪声

En=std(An*p_n).^2;	%噪声的总能量
df=fs/2;            %分析带宽
dEn=En/df;		    %单位带宽的能量

t=0:1:len-1;
%信号
A_0=sqrt(2*10.^(SNR/10)*dEn);	         %初始时刻声压幅值
A_1=A_0*r_0/r_1;        %随着距离变化,幅值变化
Es=A_1.^2/2;            %信号的总能量

p_1=A_1*cos(2*pi*f*t/fs);
vx_1=p_1*cos(phi1);
vy_1=p_1*sin(phi1);

%信号加噪声
p=p_1'+An*noise(:,1);
vx=vx_1'+An*noise(:,2);
vy=vy_1'+An*noise(:,3);

%SNR=10*log10(Es/dEn) %检验信噪比

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -