📄 jbl_yiqun1.asv
字号:
%改进的蚁群算法应用于搜索信号有效带宽
%信噪比SNR=-10dB
%信号有效带宽250~300Hz
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%高斯噪声环境下宽带矢量信号
%固定信号源,水听器位于原点
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
close all;
clear all;
%初始化参数
snap=8192; %采样点数
fs=4096; %采样频率
SNR=-10; %信噪比
nfft=4096;
%信号带宽
f1=250;
f2=300;
%待检测频率范围
f3=201;
f4=500;
%信号源方位
r=50;
phi=pi/5;
%产生噪声
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_s/En_n*10.^(SNR/10)); %信号幅值
u=[1,cos(phi),sin(phi)];
ss=kron(A_s.*signal,u);
%信号+噪声
x=[ss zeros(snap,1)]+An*noise;
En=sum(x(:,1).^2)/snap;
window=hanning(nfft); %加汉宁窗
[En_p,f]=psd(p,nfft,fs,window);
[En_vx,f]=psd(vx,nfft,fs,window);
[En_vy,f]=psd(vy,nfft,fs,window);
[pvx,f]=csd(p,vx,nfft,fs,window);
[pvy,f]=csd(p,vy,nfft,fs,window);
[pvz,f]=csd(p,vz,nfft,fs,window);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -