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

📄 jbl_yiqun.m

📁 蚁群算法的程序
💻 M
字号:
%改进的蚁群算法应用于搜索信号有效带宽
%信噪比SNR=-10dB
%信号有效带宽250~300Hz

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%高斯噪声环境下宽带矢量信号
%固定信号源,水听器位于原点
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
close all;
clear all;

%初始化参数
x_a=0;
y_a=0;           %水听器坐标
snap=8192;        %采样点数
fs=4096;         %采样频率
SNR=-10;         %信噪比
nfft=4096;
%信号带宽
f1=250;     
f2=300;
%待检测频率范围
f3=201;
f4=500;

%信号源方位
tx=30;
ty=40;
r=sqrt((tx-x_a)^2+(ty-y_a)^2); 
p=atan2(ty-y_a,tx-x_a);

%产生噪声
An=8;                  %噪声幅度基值
noise=randn(snap,4)*sqrt(diag([1,1/3,1/3,1/3]));
np=noise(:,1);
En_n=std(An*np).^2;            %噪声能量	
df=fs/2;           
dEn_n=En_n/df;                  %能量密度

%产生随机信号
signal_p=randn(snap,1);
%信号通过椭圆带通滤波器
wn=[f1 f2]*2/fs;
[b,a]=ellip(6,0.1,30,wn);
signal=filter(b,a,signal_p);

%带宽信号
En_s=std(signal).^2;                    %信号能量
dEn_s=En_s/(f2-f1);         %信号能量密度
A_s=sqrt(2*En_n/En_s*10.^(SNR/10));   %信号幅值
p_s=A_s.*signal;       %声压  
vx_s=p_s.*cos(p);  %X方向振速
vy_s=p_s.*sin(p);  %Y方向振速

%信号+噪声
[p;vx;vy;vz]=[p_s;vx_s;vy_s;zeros(snap)]+An*noise;
p=p_s+An*noise(:,1);
En=sum(p.^2)/length(p);
vx=vx_s+An*noise(:,2);
vy=vy_s+An*noise(:,3);
vz=An*noise(:,4);






⌨️ 快捷键说明

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