%关于线性调频信号(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

posted on 2019-04-16 19:54  kiki__xiunai  阅读(16562)  评论(0编辑  收藏  举报