信號基礎知識----線性調頻信號LFM //matlab命令:chirp


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM