雷达发射信号产生(COS、Chirp、LFM、BPSK、QPSK、FSK、BPSK_FSK以及QPSK_FSK)
1.COS脉冲信号
COS脉冲是一个点频信号,其数学表达式为
S
(
t
)
=
C
o
s
(
2
∗
π
∗
f
0
∗
t
)
.
\ S(t) = \ Cos(2*\pi*f_0*t)\,.
S(t)= Cos(2∗π∗f0∗t).
其中,
f
0
\ f_0
f0 是载波频率。
仿真结果:
仿真参数如下:
采样率:300MHz
载频 : 1MHz
脉宽 : 20e-6s
脉冲重复频率: 20kHz
仿真时长:100e-6s
(1)时域结果
(2)频域结果
从频域图中分析可以得到,COS脉冲信号的频域为点频信号,对应的频率与载频一致。
2.LFM线性调频信号
线性调频(LFM)信号是指瞬时频率随时间成线性变化的信号。(设振幅归一化,初始相位为零)。线性调频信号也称为鸟声(Chirp)信号,因为其频谱带宽落于可听范围,听着像鸟声,所以又称Chirp扩展频谱(CSS)技术。LFM技术在雷达、声纳技术中有广泛应用,例如,在雷达定位技术中,它可用来增大射频脉冲宽度、加大通信距离、提高平均发射功率,同时又保持足够的信号频谱宽度,不降低雷达的距离分辨率。
LFM线性调频信号数学表达式为:
S
(
t
)
=
e
x
p
(
j
∗
(
2
∗
π
∗
f
0
∗
t
+
π
∗
k
∗
t
2
)
)
.
\ S(t) = \ exp(j*(2*\pi*f_0*t+\pi*k*t^2))\,.
S(t)= exp(j∗(2∗π∗f0∗t+π∗k∗t2)).
其中,
f
0
\ f_0
f0 是载波频率,
k
=
B
r
/
T
p
\ k=Br/Tp
k=Br/Tp为调频斜率,
B
r
\ Br
Br表示带宽,
T
p
\ Tp
Tp表示脉宽。
仿真参数如下:
采样率:300MHz
载频 : 1MHz
脉宽 : 20e-6s
带宽 : 30MHz
脉冲重复频率: 20kHz
仿真时长:100e-6s
(1)时域结果
(2)频域图
3.BPSK信号
BPSK信号是一种相位调制信号,利用载波的相位变化来传递数字信息,而振幅和频率保持不变。在BPSK中,通常用初始相位0和
π
\pi
π 来分别表示二进制‘’1‘’和‘’0‘’,因此,BPSK信号的数学表达式为
S
(
t
)
=
e
x
p
(
j
∗
(
2
∗
π
∗
f
0
∗
t
+
β
(
t
)
)
)
.
\ S(t) = \ exp(j*(2*\pi*f_0*t+\beta(t)))\,.
S(t)= exp(j∗(2∗π∗f0∗t+β(t))).
其中,
f
0
\ f_0
f0 是载波频率,
β
(
t
)
\beta(t)
β(t)为码元
仿真参数如下:
采样率:300MHz
载频 : 1MHz
脉宽 : 20e-6s
BPSK码宽:1e-6s
脉冲重复频率: 20kHz
仿真时长:100e-6s
(1)时域图
(2)频域图
(3)相位图
4.QPSK信号
QPSK信号的正弦载波有4个可能的离散相位状态,每个载波相位携带2个二进制符号,其信号表示式为:
S
(
t
)
=
e
x
p
(
j
∗
(
2
∗
π
∗
f
0
∗
t
+
Γ
(
t
)
)
)
.
\ S(t) = \ exp(j*(2*\pi*f_0*t+\Gamma(t)))\,.
S(t)= exp(j∗(2∗π∗f0∗t+Γ(t))).
其中,
f
0
\ f_0
f0 是载波频率,
Γ
(
t
)
\Gamma(t)
Γ(t)为正弦载波的相位,有四种可能
仿真参数如下:
采样率:300MHz
载频 : 1MHz
脉宽 : 20e-6s
QPSK码宽:1e-6s
脉冲重复频率: 20kHz
仿真时长:100e-6s
(1)时域图
(2)频域图
(3)相位图
5.FSK信号
2FSK(Frequency Shift Keying)为二进制数字频率调制(二进制频移键控),用载波的频率来传送数字信息,即用所传送的数字信息控制载波的频率。2FSK信号便是符号“0”对应于载频 f1,而符号“1”对应于载频 f2(与 f1 不同的另一载频)的已调波形,因此2FSK信号的数学表达式为:
S
(
t
)
=
e
x
p
(
j
∗
(
2
∗
π
∗
f
1
∗
t
+
β
1
(
t
)
)
)
+
e
x
p
(
j
∗
(
2
∗
π
∗
f
2
∗
t
+
β
2
(
t
)
)
)
.
\ S(t) = \ exp(j*(2*\pi*f_1*t+\beta_1(t)))+exp(j*(2*\pi*f_2*t+\beta_2(t)))\,.
S(t)= exp(j∗(2∗π∗f1∗t+β1(t)))+exp(j∗(2∗π∗f2∗t+β2(t))).
其中,
f
1
\ f_1
f1 是载波频率,
β
1
(
t
)
\beta_1(t)
β1(t)为码元,控制载频
f
1
\ f_1
f1,
β
2
(
t
)
\beta_2(t)
β2(t)为
β
1
(
t
)
\beta_1(t)
β1(t)的补码,用来控制载频
f
2
\ f_2
f2。
仿真参数如下:
采样率:300MHz
载频1 : 1MHz
载频2 : 20MHz
脉宽 : 20e-6s
FSK码宽:2e-6s
脉冲重复频率: 20kHz
仿真时长:100e-6s
(1)时域图
(2)频域图
(3)相位图
6.BPSK_FSK信号
BPSK_FSK码指的是FSK中的码元使用BPSK码进行相位调制
仿真参数如下:
采样率:300MHz
载频1 : 1MHz
载频2 : 20MHz
脉宽 : 20e-6s
FSK码宽:2e-6s
BPSK码宽:1e-6s
脉冲重复频率: 20kHz
仿真时长:100e-6s
(1)时域图
(2)频域图
(3)相位图
7.QPSK_FSK信号
BPSK_FSK码指的是FSK中的码元使用BPSK码进行相位调制
仿真参数如下:
采样率:300MHz
载频1 : 1MHz
载频2 : 20MHz
脉宽 : 20e-6s
FSK码宽:2e-6s
QPSK码宽:1e-6s
脉冲重复频率: 20kHz
仿真时长:100e-6s
(1)时域图
(2)频域图
(3)相位图
部分代码
// An highlighted block
clear
clc
Fc1 = 1e6; %%载频1
Fc2 = 20e6; %%载频1
Fs = 300e6; %%采样频率
Tr = 20e-6; %%脉冲宽度
PRT = 50e-6; %%脉冲重复时间
Time = 100e-6; %%仿真时间
Br = 30e6; %%带宽
TcBPSK = 1e-6; %%BPSK码元宽度
TcFSK = 2e-6; %%FSK码元宽度
Signallabel = 'LFM';
real = 0;
switch Signallabel
case 'Cos'
Signal = ChirpGenerator(Fc1,Fs,Tr,PRT,Time, 1-RealSign);
case 'Chirp'
Signal = ChirpGenerator(Fc1,Fs,Tr,PRT,Time, RealSign);
case 'LFM'
Signal = LFMGenerator(Fc1,Fs,Tr,PRT,Time, Br);
case 'BPSK'
Signal = BPSKGenerator(Fc1,Fs,Tr,PRT,Time, TcBPSK, RealSign);
case 'QPSK'
Signal = QPSKGenerator(Fc1,Fs,Tr,PRT,Time, TcBPSK, RealSign);
case 'FSK'
Signal = FSKGenerator(Fc1,Fc2,Fs,Tr,PRT,Time, TcFSK,RealSign);
case 'BPSK_FSK'
Signal = BPSK_FSKGenerator(Fc1,Fc2,Fs,Tr,PRT,Time, TcBPSK, TcFSK,RealSign);
case 'QPSK_FSK'
Signal = QPSK_FSKGenerator(Fc1,Fc2,Fs,Tr,PRT,Time, TcBPSK, TcFSK,RealSign);
otherwise
errordlg('输入的雷达信号类型有误');
end
t = linspace(0,Time,Time*Fs);
figure(1),%时域图
plot(t,real(Signal))
xlabel('仿真时长')
figure(2),%频域图
aa = fftshift(fft(Signal));
f = linspace(-Fs/2,Fs/2,Time*Fs);
plot(f,abs(aa))
xlabel('频率')
figure(3),%相位图
plot(t,phase(Signal))