【 MATLAB 】適合初學者的 chirp 理解與推導
阿新 • • 發佈:2018-12-12
作為一個菜鳥,當我看到網路上有關chirp的介紹,複雜地讓意志不堅定者想要放棄。為什麼要花費一番力氣學習chirp,對於個人而言,當然能用到,chirp在雷達上還是有一席之地的。就連我手上的那個寬頻接收機甚至也有chirp,我當時就不理解,或者說到現在也不是太會。這裡作為一個開篇,也是一種緣分,我本想學學訊號處理工具箱中的一些函式,今天讓我遇到了chirp。
那就開始吧。對於推導部分,打公式太費勁,我就手寫吧。
事實上,維基百科上寫的是很好的,也很基礎,我是借鑑上面的一些東西,唯一的麻煩就是英文,雖然也能看懂,但是不得不說看起來不如中文方便,理解起來還有一個大腦翻譯的過程。
A chirp
is a signal in which the frequency increases (up-chirp) or decreases (down-chirp) with time. In some sources, the term chirp is used interchangeably with sweep signal. It is commonly used in sonar and radar, but has other applications, such as in spread-spectrum communications.chirp是頻率隨時間增加或減小的一種訊號。在某些領域中,chirp這個詞可以與掃描訊號互換使用。通常用於雷達,聲吶中,但是也有別的用途,例如擴頻通訊。
如下:
首先,如果一個波形被定義為如下:
Linear chirp
下面給出一個線性chirp波形,也就是頻率隨時間線性增加的正弦波;
% A linear chirp waveform; % a sinusoidal wave that increases in frequency linearly over time clc clear close all t = 0:.001:5; x = sin( 2 .* pi .* ( 0.1 + t ) .* t ); plot(t,x); title('a sinusoidal linear chirp') xlabel('t/sec') ylabel('amplititude')
指數(幾何)chirp
In an exponential chirp, the frequency of the signal varies exponentially as a function of time:
也就是說,在指數chirp中,訊號的頻率隨時間呈現指數變化:
% An exponential chirp waveform;
% a sinusoidal wave that increases in frequency exponentially over time
clc
clear
close all
t = 0:.001:5;
x = sin( 2 * pi *0.1 * ( 3 .^ t) .* t );
plot(t,x);
title('a exponential chirp')
xlabel('t/sec')
ylabel('amplititude')
沒有什麼目的,最後只是把上面兩幅圖畫到一起作為對比:
% A linear chirp waveform;
% a sinusoidal wave that increases in frequency linearly over time
clc
clear
close all
t = 0:.001:5;
x1 = sin( 2 .* pi .* ( 0.1 + t ) .* t );
subplot(2,1,1)
plot(t,x1);
title('a sinusoidal linear chirp')
xlabel('t/sec')
ylabel('amplititude')
% An exponential chirp waveform;
% a sinusoidal wave that increases in frequency exponentially over time
t = 0:.001:5;
x2 = sin( 2 * pi *0.1 * ( 3 .^ t) .* t );
subplot(2,1,2)
plot(t,x2);
title('a exponential chirp')
xlabel('t/sec')
ylabel('amplititude')