线性调频信号
f
(
t
)
=
K
∗
t
+
f
0
(
1
)
f(t) = K*t + f_0 (1)
f(t)=K∗t+f0(1) ;
f
(
t
)
f(t)
f(t) :瞬时频率,
K
K
K:调频斜率,
f
0
f_0
f0 :初始相位。频率随着时间会不断的变化,相位是频率的积分函数,由此我们可以推导出:
φ
(
t
)
=
1
2
∗
K
∗
t
2
+
f
0
∗
t
(
2
)
\varphi(t) = \frac{1}{2}*K*t^2 + f_0 * t (2)
φ(t)=21∗K∗t2+f0∗t(2) ;
φ
(
t
)
\varphi(t)
φ(t) :瞬时相位
线性调频信号是一个相位不断变化的正弦波,
s
(
x
)
=
s
i
n
(
x
)
x
为角度(
3
)
s
(
t
)
=
s
i
n
(
φ
(
t
)
)
(
4
)
s
(
t
)
=
s
i
n
(
1
2
∗
K
∗
t
2
+
f
0
∗
t
)
(
5
)
s(x) = sin(x) \ x为角度 (3)\\s(t) = sin(\varphi(t)) (4) \\s(t) = sin(\frac{1}{2}*K*t^2 + f_0 * t) (5)
s(x)=sin(x) x为角度(3)s(t)=sin(φ(t))(4)s(t)=sin(21∗K∗t2+f0∗t)(5)
FPGA实现线性调频信号
在rom里面存储一个正弦波的数据,ROM的地址就可以被量化到相位上:
φ
=
36
0
0
d
e
p
t
h
R
O
M
∗
a
d
d
r
p
r
e
s
e
n
t
(
6
)
\varphi = \frac{360^0}{ depth_{ROM} } * addr_{present} (6)
φ=depthROM3600∗addrpresent(6)。
可以通过(2)、(6)公式推出读取出线性调频信号所需要的地址。
xlinx的DDS输入端输入的是 Δ θ \Delta\theta Δθ:相位的递增量;而quartus的DDS输入的是相位。
用互相关函数算相位差和做匹配滤波
使用互相关函数计算相位差
clc ;
clear ;
%% signal
A=1; %amplify
f=10; %Hz
w=2*pi*f; %rad/s rad:弧度的单位
%采样
T=1; %s %观测时间
fs=200*f; %Hz %采样频率
d=1/fs; %s %采样间隔
% t=-T/2:d:T/2; %离散时间t
t= 0:d:T; %离散时间t
% y = sin(wt+h)
y1 = A*sin(w*t) ;
y2 = A*sin(w*t+pi) ;
Cc = xcorr(y1,y2) ; %求互相关
[y_max , t_max] = max(Cc) ; %最大值的行列索引
pahse = (t_max - (T/d + 1) ) * w*d ;
%(最大值的行坐标-中间值)*点之间的相位间隔
x = 0 :d:2*T ;
subplot(2,1,1)
plot(t ,y1 ,t ,y2,"--")
subplot(2,1,2)
plot(x ,Cc)
[1]:罗映霞,马君,朱青松. 基于MATLAB的信号相位差的互相函数求法[J]. 科技情报开发与经济,2003,(07):149-150.