扫频的matlab及FPGA实现
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
扫频原理
已知扫频表达式
s
(
t
)
=
e
x
p
(
1
i
∗
π
k
t
2
)
;
s(t)=exp(1i*\pi kt^2);
s(t)=exp(1i∗πkt2);
其瞬时相位
d
θ
d
t
=
2
π
k
t
;
\frac{d\theta}{dt}=2\pi kt;
dtdθ=2πkt;
瞬时频率
f
(
t
)
=
k
t
;
f(t)=kt;
f(t)=kt;
对瞬时相位的变化率
d
f
(
t
)
d
t
=
2
π
k
;
\frac{df(t)}{dt}=2\pi k;
dtdf(t)=2πk;
FPGA实现
设起始频率f_start,结束频率f_end,扫频周期T采样率fsDDS相位位宽32。
f_start_phase = f_start2^32/fs;
f_stop_phase = f_stop2^32/fs;
k = (f_stop_phase -f_start_phase)/(T*fs);
while(1)
if t==0
phase_step = f_start_phase;
else
phase_step+= k;
phase += phase_step;
dds_phase = phase+f_start_phase;
t+=1;
t=mod(t,T);
end
由此可以得到FPGA实现代码。
方法一用DDS IP核设置相位增量模式。
方法二用DDS IP核或自定义波形设置相位累加及相位增量的累加即可。
代码以后补上放假了。