Chirp信号的表达式如下:
x
(
t
)
=
e
x
p
(
j
2
π
(
f
0
t
+
1
2
k
t
2
)
)
x(t)=exp(j2\pi (f_0t+\frac{1}{2} kt^2))
x(t)=exp(j2π(f0t+21kt2))
其中,
f
0
f_0
f0 称作起始频率,k为调频率
对相位进行求导,得到角频率以及频率随时间的线性变化关系 f = f0+k*t,也可通过欧拉公式转换得到。
给定信号信号时间长度为50ms 带宽 B=5KHz,初始频率 f 0 = 3 K H z f_0=3KHz f0=3KHz 采样频率为 f s f_s fs = 44100Hz.
(1)方法一:(matlab自带函数)
% chirp信号生成的第一种方法
t=0: 1/44100 :0.05; % 采样率是44100HZ
y=chirp(t,3000,0.05,8000);% 第一个参数表示时间长度,第二个参数表示当t=0s时对应的频率,第三个和第四个参数为当t=0.05s时对应的频率
subplot(2,1,1);
plot(y);
subplot(2,1,2);
spectrogram(y,256,250,256,44100);
运行结果:
(2)方法二:(表达式)
t = (1:2205)/44100;
f0 = 3000;
u = 10^5;
y = exp(1j*2*pi*(f0*t+1/2*u*t.*t));
figure;
subplot(2,1,1);
plot(imag(y));
title('chirp信号虚部');
subplot(2,1,2);
spectrogram(imag(y),256,250,256,44100);
figure;
subplot(2,1,1);
plot(real(y));
title('chirp信号实部');
subplot(2,1,2);
spectrogram(real(y),256,250,256,44100);
运行结果: