天天看点

【随机共振】基于随机共振的高频弱信号检测的MATLAB仿真

1.软件版本

matlab2021a

2.本算法理论知识

1、理想条件下的仿真。比如就是高斯白噪声的时候,在通信频段上的随机共振特性。

2、考虑如果不是高斯白噪声的时候,会出现什么情况。比如噪声的特性有一些随机性或者是考虑把信号经过瑞丽信道等来模拟。或者色噪声之类的。

3、进一步通过后,则考虑如果有多径时候的情况,这个时候可以考虑用自己设定的多经结构(结构参数可以参考五缘湾的实验(信道响应为文件channel-H))。

4、在上述都通过后,则选用链接的模型(http://oalib.hlsresearch.com),比如Bellhop模型或者raytracing等来做一个近似完整的仿真。

5、最后,都通过后则考虑上海测现场来做。

    整理结论“首先考虑周期信号在高斯白噪声下、非高斯白噪声下、多径结构下(五缘湾海测信道响应)、bellhop模型下的随机共振的仿真,然后考虑把周期信号换成chirp信号(即岑哲的探测信号),最后放到岑哲的毕设中去,结论就是加入了随机共振后,他的系统检测效果更好了”

3.核心代码

clc;
clear;
close all;
warning off;

load 基于遗传算法参数优化\R.mat


%噪声信噪比
SNR   = -3;

%信号频率
f     = 2000;%20-30khz       
%参样频率
fs    = 64*f;   
Ts    = 1/fs;
%SR算法三个参数
h     = 0.2;
a     = w1_best;
b     = w2_best; 
t     = 0:Ts:2^12*Ts;%每0.2递增
%信号 
s     = sin(2*pi*f*t);       
%噪声的设置
x1    = awgn(s,SNR,'measured');
%输入无噪信号傅立叶变换
y     = fft(s,4096); 
pyy   = y.*conj(y)/4096;
ff    = fs*(0:2048)/4096;

figure;
subplot(321);
plot(t,s);
title('输入无噪信号');
xlabel('时间t/s');
ylabel('信号幅度A');

subplot(322);
plot(ff,pyy(1:2049));
xlabel('频率f/Hz');
ylabel('频谱幅度');
title('输入无噪信号的频谱');

%输入加噪信号傅立叶变换
y     = fft(x1,4096); 
pyy   = y.*conj(y)/4096;
ff    = fs*(0:2048)/4096;

subplot(323);
plot(t,x1);
title('输入加噪噪信号');
xlabel('时间t/s');
ylabel('信号幅度A');

subplot(324);
plot(ff,pyy(1:2049));
xlabel('频率f/Hz');
ylabel('频谱幅度');
title('输入加噪信号的频谱');


%四阶龙格库塔法对双稳态输出信号求解
x     = sr(a,b,h,x1);
%输出信号求傅立叶变换
y     = fft(x,4096); 
py    = y.*conj(y)/4096;
ff    = fs*(0:2048)/4096;
 
subplot(325);
plot(t,x);
title('输出信号');
xlabel('时间t/s');
ylabel('信号幅度A');
subplot(326);
plot(ff,py(1:2049));
xlabel('频率f/Hz');
ylabel('频谱幅度');
title('输出信号的频谱');

 
      

4.操作步骤与仿真结论

【随机共振】基于随机共振的高频弱信号检测的MATLAB仿真

1、理想条件下的仿真。比如就是高斯白噪声的时候,在通信频段上的随机共振特性。

在理想情况,我们的这个部分的仿真效果如下所示:

【随机共振】基于随机共振的高频弱信号检测的MATLAB仿真

2、考虑如果不是高斯白噪声的时候,会出现什么情况。比如噪声的特性有一些随机性或者是考虑把信号经过瑞丽信道等来模拟。或者色噪声之类的。

在1的基础上,我们将噪声使用有色噪声来处理(多径的分析在后面步骤3测试)

【随机共振】基于随机共振的高频弱信号检测的MATLAB仿真

 3、进一步通过后,则考虑如果有多径时候的情况,这个时候可以考虑用自己设定的多经结构(结构参数可以参考五缘湾的实验(信道响应为文件channel-H))。

    注意,这里你要求提供可以修改多径参数的功能,所以我这里自己写了一个多径信道,然后可以设置多径的个数,每一经的延迟和幅度等三个参数,就不用你的ChannedlH这个文件了。

【随机共振】基于随机共振的高频弱信号检测的MATLAB仿真

4、在上述都通过后,则选用链接的模型(​​http://oalib.hlsresearch.com​​),比如Bellhop模型或者raytracing等来做一个近似完整的仿真。

这里,选择Bellhop模型进行测试。

【随机共振】基于随机共振的高频弱信号检测的MATLAB仿真

5.参考文献

继续阅读