Chirp信号基础知识及matlab实现
Chirp信号的表达式如下: x ( t ) = e x p ( j 2 π ( f 0 t + 1 2 k t 2 ) ) x(t)=exp(j2pi (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);
运行结果: