%關於線性調頻信號(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