【雷达信号】BPSK-BARKER13雷达信号仿真【附MATLAB代码】

作品简介
​微信公众号:EW Frontier
关注可了解更多的雷达、通信、人工智能相关代码。问题或建议,请公众号留言;
如果你觉得EW Frontier对你有帮助,欢迎加入我的知识星球或面包多,更多代码等你来学
知识星球:https://wx.zsxq.com/dweb2/index/group/15552518881412
面包多:https://mbd.pub/o/author-a2mYl2tsbA==/work
QQ交流群:192253249

主要原理

相位编码信号载频不变,通过在不同的码元采用不同的相位实现调制。相位编码 技术实现简单且抗干扰性强,通常分为二相编码和多相编码。其中二相编码更为简单, 多相编码则在码字的选择上有着更大的灵活,但是实现相对而言也较复杂,因此目前 大多数相位编码体制雷达的选择仍然是二相编码。二相编码信号可表示为: 


 

式中,u(t)为信号的复包络,可表示为:


 

其中φ(t)为相位调制函数。二相编码中,φ(t)可取0或π两个值,可用相位序列  或二进制序列  表示。因此二相编码信号可表示为:


 

上述二进制序列即是BARKER13码序列。

MATLAB代码

%finished:2020-10-17 20:42:18
%created by xxx
clear all; 
close all;
clc;
% function Bpsk_barker13=barker13(fc,fs,Baud)
%要求信号脉宽0.65us,也就是Baud=2e7
%脉宽=码元数*码元宽度
g=[1,1,1,1,1,0,0,1,1,0,1,0,1];%13位巴克码
fc=2e8;                  %载波频率
fs=2e9;                  %采样率
Baud=2e7;                  %波特率
​
t=0:1/fs:(fs/Baud-1)/fs;               %这一步是关键,它决定了载波采样点和码元采样点长度一致
​
%生成序列
cp=[];
mod1=[];
for n=1:length(g)
    if g(n)==0
        A=zeros(1,fs/Baud);
    else 
        A=ones(1,fs/Baud);
    end
    c=sin(2*pi*fc*t);
    cp=[cp A];%code sequence generated
    mod1=[mod1 c];
end
cm=[];
mod=[];
subplot(311);plot(cp);
%% 根据序列进行sin反相
for n=1:length(g)
    if g(n)==0
        B=ones(1,fs/Baud);     %每个值100个点 
       c=sin(2*pi*fc*t);         %载波信号
    else 
        B=ones(1,fs/Baud);
        c=sin(2*pi*fc*t+pi);     %载波信号
    end
    cm=[cm B];              %s(t)码元宽度100   
    mod=[mod c];          %与s(t)等长的载波信号
end
Bpsk_barker13=cm.*mod;
subplot(312);plot(Bpsk_barker13);
​
y=fft(Bpsk_barker13);
f = (0:length(y)-1)*fs/length(y);
n = length(Bpsk_barker13);
fshift = (-n/2:n/2-1)*(fs/n);
yshift = fftshift(y);
subplot(313);plot(fshift,(abs(yshift)));
​
​


MATLAB仿真结果

1.BARK码序列及BSPK-BARKER13信号生成波形


2.时频图


相关学习资料见面包多链接https://mbd.pub/o/author-a2mYl2tsbA==/work

欢迎加入我的知识星球:https://wx.zsxq.com/dweb2/index/group/15552518881412,永久获取更多相关资料、代码。


创作时间: