您的位置:首页 > 编程语言 > MATLAB

关于通用雷达信号的时频分析与图像绘制(Matlab)

2017-12-02 00:51 495 查看

关于通用雷达信号的时频分析与图像绘制(Matlab)

最近在研究雷达信号的调制识别,所以对通用的雷达信号种类进行了时频域上的研究,下面小结给大家,从信号的原理到matlab的时频图绘制。

信号种类

这里应用的雷达信号类型有:线性调频信号(LFM),偶二次方调频信号(EQFM),Barker码二相编码信号,Frank相位编码信号,多相编码信号(P1,P2,P3,P4),后续还有三角调频连续波和正弦调频波进行补充。

各信号类型简介

线性调频信号:也就是常说的chirp信号,具体数学表达式我就不贴了,matlab基本一句搞定:

fs=2e3;
fc=randi(5,1,1)+3;
fc=fs*(1/fc);
f_start=fc;%[1/8~1/4]*fs
delta_f=randi(9,1,1)+7;
delta_f=fs*(1/delta_f);
Band=delta_f;%[1/16~1/8]*fs,可以根据自己需求调整带宽
t=1/fs:1/fs:t_pulse;%t_puls为脉冲周期,一般为1e-2即可
ylin1 = chirp(t,f_start,t_pulse,f_start+Band);%go up
ylin2 = chirp(t,f_start,t_pulse,f_start-Band);%go down


以上就是生产LFM信号的代码,分别有向上调频和向下调频的信号生成,带框可以根据自己要求的视觉效果进行调制,但要满足奈奎斯特采样原理,尤其是向上调频信号。

以上的代码只能生成一个脉冲周期的LFM,想要实现多脉冲周期的信号生成,可以在信号的生成上加一个for循环,在将信号进行相加即可。放上效果图:





偶二次方调频信号:就是频率的变化不再是线性的,也就是一句程序搞定的事情:

s=-(t_pulse):1/fs:(t_pulse)-1/fs;
ylin = chirp(s,f_start,t_pulse,f_start+Band,'q');%q
ylin = chirp(s,f_start,t_pulse,f_start+Band,'q',[],'convex');






Barker码:其实就是编码的BPSK信号,一般用这三种编码对相位进行编码:

code7=[1,1,1,0,0,1,0];

code11=[1 1 1 0 0 0 1 0 0 1 0];

code13=[1,1,1,1,1,0,0,1,1,0,1,0,1];

fy=2e3;%采样频率
XHCD=100;
MYSLpsk=100;
t =1/fy:1/fy:(XHCD*(1/MYSLpsk));%码元长度*每个码元的持续时间=总时间
h=code11*pi;
m=zeros(1,length(t));
time_duration=round(length(t)/XHCD);
for j=1:XHCD
m((j-1)*time_duration+1:(j)*time_duration)=h(j);
end
m=m(1:length(t));
fcpsk=randi(5,1,1)+3;
fcpsk=fy*(1/fcpsk);
spsk=exp(1i*(2*pi*(fcpsk)*t+m));%调制后的信号mpsk,其中每个码元的相位叠加不一样


附上时频图:



Frank相位编码信号:其相位变化如下:



横坐标代表了相位的位移,可以理解为码元的index,纵坐标为相位值。和Barker信号一样,只要将spsk中的叠加的相位m进行替换就行,即最初始的h进行替换。

对信号进行时频图的绘制:



ac7b



P1,P2,P3,P4:多相编码信号。这几种信号的理论和相位具体函数关系网上太多了,但现在愿意把代码共享出来的人太少了,找到几个有点参考价值的还要收费,还很贵,找了半天,后来还是自己写的代码,我会把我的多相编码信号的生成代码上传到CSDN,由于最近也需要下载点资源,所以还是稍微收取点C币,相当便宜,大家就当支持下我了。大家有需要的,可以在文章的末尾寻找下载链接。

依然把相位图展示出来,顺序是P1,P2,P3,P4.









这四种信号的时频图很接近,也贴出来(P1,P2,P3,P4)









时频方法

谈及时频方法,确实太多了,最简单的模型包括短时傅里叶变换STFT,连续小波变换CWT,双线性模型包括Wigner-ville 分布,伪平滑WVD,choi-williams 分布,最近的自适应参数模型,如ARMA模型,时频重排模型(RS),同步压缩模型SST,同步提取模型SET等等,都可以用来对信号进行时频域的分析,其中STFT,CWT的时频分辨率不足,WVD对于多分量信号的干扰项较严重,RS复杂度太高,SST和SET对瞬时频率的提取很有利,并且可以对信号进行重构,但对信号能量压缩的太过分了,导致在频点上只有一根线,不同种类信号的区分度不够,所以这里用了choi-williams分布(CWD),具体实现方法要用到matlab的时频分析工具箱,安装方法网上也很多,但我发现对于的matlab是用不了的,具体问题在于mex的步骤,根本不会出现后续的编译提示,后来发现了,将解压后的文件夹置于matlab根目录下的toolbox后,然后点击添加路径,将所有的文件夹都添加后,在命令行窗口输入

rehash toolboxcache


很简单,关于时频工具箱我也给出了下载链接,欢迎大家下载,看在我为大家总结了这么多,多多支持我的资源!谢谢!

时频分析工具箱

P1_P4信号生成和时频图绘制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息