%关于线性调频信号(LFM)
%参考书目:声呐技术,第二章P33
clc;close all;clear all;
%参数----------------------------------
f0=1000;
T=5;%时宽,时间总长
B=10;%带宽
fs=100;%采样频率
Ts=1/fs;%采样时间间隔
N=T/Ts;%采样点个数
k=B/T;%调频斜率
t=linspace(0,T,N);
y=exp(1i*(2*pi*f0*t+pi*k*t.^2)); %线性调频信号(LFM)的时间函数
%作图---------------------------------------------
subplot(211);
plot(t,real(y));title('LFM信号时域波形');xlabel('时间/s');ylabel('幅度');
Y=fftshift(fft(y));
f=linspace(0,fs,N);
subplot(212);
plot(f,abs(Y));title('LFM信号频谱');xlabel('频率/Hz');ylabel('幅度');
%fftshift的用处-------------------------------------
figure;
subplot(211);
plot(abs(fft(y)));
xlabel('\omega/\pi');ylabel('|e^j^\omega/|');title('fft变换');
f=linspace(0,fs,N);
subplot(212);
plot(f,abs(Y));title('LFM信号频谱');xlabel('频率/Hz');ylabel('幅度');title('利用了fftshift的命令');
%三维图像--------------------------------------------------------------------------------------------------------------
t=-T:0.05:T; %频移分辨力rou=0.88/T
v=-B:0.05:B; %时延分辨力rou=0.88/B
[t,v]=meshgrid(t,v); %401*201
r=pi*(k*t+v).*(T-abs(t));
X=sin(r)./r.*(T-abs(t)); %模糊函数,假设A=1
figure;
surf(t,v,abs(X))
%================================================================================================
matlab提供chirp函数,可以直接用,如示例:
t = 0:0.001:2; % 2 secs @ 1kHz sample rate
y = chirp(t,0,1,200); % Start @ DC,
% cross 150Hz at t=1 sec
spectrogram(y,256,250,256,1E3,'yaxis')
figure(2)
plot(t,y)
-----------------这里t指出采样频率1khz和采样时长2秒;y是用chirp生成chirp信号;0是从频率为0的直流开始,1和200是指定在1秒的时候频率线性增长到200hz。
关于fftshift还是好好研究一下:http://www.cnblogs.com/limanjihe/p/10014142.html