matlab中自带的chirp信号能够很好地生成扫频信号,用matlab自编一个,加深理解,同时为使用C语言做准备:
tg=5;%到达目标频率的时间,单位s
PI =3.14.59;
f0=0;%初始频率hz
fitg=50;%目标频率hz
phi0=0;%初始相位
fadd = (fitg-f0)/tg/1000;%每周期增加的频率值
i=1;
for tt = 0:1/1000:tg
psi_t(i)=cos(2*PI*((f0+0.5*tt*fadd1000)*tt+phi0));
end
%对比chirp信号
t=0:1/1000:tg;
y=chirp(t,f0,tg,fitg);
figure;
plot(t,y);hold on;
plot(t,psi_t,'r’);
结果对比
主要有个点是要写成0.5*tt*fadd*1000,因为要保证的是频率的变化率是固定值fadd,相当于要对tt求两次导数。