线性调频信号及仿真[python]
線性調(diào)頻信號(hào)及仿真
線性調(diào)頻(LFM)是一種不需要偽隨機(jī)編碼序列的擴(kuò)展頻譜調(diào)制技術(shù)。由于線性調(diào)頻信號(hào)占用的頻帶寬度遠(yuǎn)大于信息帶寬,所以也可以獲得很大的系統(tǒng)處理增益。線性調(diào)頻信號(hào)又稱鳥(niǎo)聲(Chirp)信號(hào),因?yàn)槠漕l譜帶寬落于可聽(tīng)范圍,則聽(tīng)若鳥(niǎo)聲,所以又稱Chirp擴(kuò)展頻譜(CSS)技術(shù)。
啁啾(Chirp)是指頻率隨時(shí)間而改變(增加或減少)的信號(hào)。其名稱來(lái)源于這種信號(hào)聽(tīng)起來(lái)類似鳥(niǎo)鳴的啾聲。
在水聲通信中,利用LFM作為前導(dǎo)信號(hào),用于檢測(cè)同步。在瀏覽網(wǎng)上諸多文章后做如下匯總。
瞬時(shí)頻率
直觀上,瞬時(shí)頻率為相位的微分。
當(dāng)有一信號(hào)x(t)=Asin(?(t)x(t)=Asin(\phi(t)x(t)=Asin(?(t),其瞬時(shí)頻率f(t)f(t)f(t)可表示為:
f(t)=12πd?2(t)dt(1)f(t)=\frac{1}{2\pi}\frac{d_{\phi}2(t)}{dt} \tag{1}f(t)=2π1?dtd??2(t)?(1)
對(duì)式(1)進(jìn)行再次微分,則可表示頻率變化率k(t)k(t)k(t):
k(t)==12πd?22(t)dt2(2)k(t)==\frac{1}{2\pi}\frac{d^2_{\phi}2(t)}{dt^2} \tag{2}k(t)==2π1?dt2d?2?2(t)?(2)
chirp信號(hào)
因?yàn)槎x了chirp信號(hào)是頻率隨時(shí)間而改變(增加或減少)的信號(hào),則有
線性chirp信號(hào)
瞬時(shí)頻率f(t)f(t)f(t)是呈線性變化,f(t)=f0+kt,k=f1?f0T(1)f(t)=f_0+kt , k=\frac{f_1-f_0}{T}\tag{1}f(t)=f0?+kt,k=Tf1??f0??(1)f0f_0f0?為起始頻率,f1f_1f1?為最終頻率,TTT為從f0f_0f0?變化到f1f_1f1?所經(jīng)歷的時(shí)間,
相位和頻率的之間的關(guān)系為:?(t+Δt)=?(t)+2πf(t)Δt(2)\phi(t+\Delta t)=\phi (t)+2\pi f(t)\Delta t \tag{2}?(t+Δt)=?(t)+2πf(t)Δt(2)?′(t)=2πf(t)(3)\phi^{'}(t)=2\pi f(t)\tag{3}?′(t)=2πf(t)(3)因此對(duì)于線性chirp信號(hào),相位可以表達(dá)為:
?(t)=?0+2π∫0tf(t)dt(4)\phi(t)=\phi_{0}+2\pi\int_{0}^{t} f(t) dt\tag{4}?(t)=?0?+2π∫0t?f(t)dt(4)將式(1)帶入式(4)?(t)=?0+2π∫0t(f0+kt)dt(5)\phi(t)=\phi_{0}+2\pi\int_{0}^{t} (f_0+kt) dt\tag{5}?(t)=?0?+2π∫0t?(f0?+kt)dt(5)?(t)=?0+2π(f0t+k2t2)(6)\phi(t)=\phi_{0}+2\pi (f_0t+\frac{k}{2}t^2) \tag{6}?(t)=?0?+2π(f0?t+2k?t2)(6)?0\phi_0?0?為初始相位(t=0),故,正弦線性chirp對(duì)應(yīng)的時(shí)域函數(shù)為:
x(t)=sin[(?0+2π(f0t+k2t2)](7)x(t)=sin[(\phi_0+2\pi(f_0t+\frac{k}{2}t^2)]\tag{7}x(t)=sin[(?0?+2π(f0?t+2k?t2)](7)
使用python完成以上仿真
import matplotlib.pyplot as plt import numpy as npt=np.arange(0,5,0.001) x = np.sin(2 * np.pi * (0.1 + t)* t)plt.plot(t, x) plt.xlabel('時(shí)間') plt.ylabel('振幅') plt.title('線性chirp仿真') plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.show()chirp信號(hào)數(shù)學(xué)表達(dá)
正弦線性chirp對(duì)應(yīng)的時(shí)域函數(shù)為:
x(t)=sin[(?0+2π(f0t+k2t2)](8)x(t)=sin[(\phi_0+2\pi(f_0t+\frac{k}{2}t^2)]\tag{8}x(t)=sin[(?0?+2π(f0?t+2k?t2)](8)
或者表達(dá)為:
x(t)=exp(j2π(f0t+12kt2))(9)x(t)=exp(j2\pi(f_0t+\frac{1}{2}kt^2))\tag{9}x(t)=exp(j2π(f0?t+21?kt2))(9)
一般的仿真中使用式(9)較多。
Python中的chirp信號(hào)函數(shù)
在python中可使用scipy.signal.chirp函數(shù)產(chǎn)生chirp信號(hào)。
scipy.signal.chirp(t, f0, t1, f1, method=‘linear’, phi=0, vertex_zero=True)
掃頻余弦發(fā)生器
t:評(píng)估波形的次數(shù) 數(shù)組
f0:時(shí)間t=0時(shí)的頻率(單位Hz)浮點(diǎn)型
t1:指定f1的時(shí)間 浮點(diǎn)型
f1:t1時(shí)刻波形的頻率(單位Hz)浮點(diǎn)型
method : 可選擇{‘linear’, ‘quadratic’, ‘logarithmic’, ‘hyperbolic’},
掃頻方式,默認(rèn)為線性
phi:相位偏移,單位為度。默認(rèn)值為0 浮點(diǎn)型
vertex_zero 只在quadratic模式下使用,它決定了拋物線的頂點(diǎn)是t=0還是t=t1
默認(rèn)函數(shù)cos(phase+(π/180)??)cos(phase + (\pi/180)*\phi)cos(phase+(π/180)??)
較為詳細(xì)的chirp信號(hào)Python代碼實(shí)現(xiàn)
import numpy as np import matplotlib.pyplot as plt######################## T = 10e-6 #線性調(diào)頻信號(hào)時(shí)間長(zhǎng)度 BW = 30e6 #線性調(diào)頻信號(hào)調(diào)頻帶寬 K = BW/T #調(diào)頻斜率 Fs_LFM = 2*BW #采樣頻率 Ts = 1/Fs_LFM N = int(T/Ts) t = np.linspace(-T/2,T/2,N) st_LFM = np.cos(np.pi*K*np.power(t,2))plt.subplot(311) plt.plot(t*1e6,st_LFM) plt.xlabel('時(shí)間(us)') plt.ylabel('振幅(W)') plt.title('時(shí)域LFM信號(hào)')plt.subplot(312) freq = np.linspace(-Fs_LFM/2,Fs_LFM/2,N) sf_LFM = np.fft.fftshift(np.fft.fft(st_LFM)) plt.plot(freq*1e-6,abs(sf_LFM.real)) plt.xlabel('頻率(MHz)') plt.ylabel('振幅(W)') plt.title('線性調(diào)頻信號(hào)的實(shí)部頻譜幅度')plt.subplot(313) st_complex = np.exp(1j*np.pi*K*np.power(t,2)) sf_complex = np.fft.fftshift(np.fft.fft(st_complex)) plt.plot(freq*1e-6,abs(sf_complex)) plt.xlabel('頻率(MHz)') plt.ylabel('振幅(W)') plt.title('線性調(diào)頻信號(hào)的復(fù)部頻譜幅度')fig = plt.gcf() plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.show()參考文檔
[1]適合初學(xué)者的 chirp 理解與推導(dǎo)
[2]scipy.signal.chirp函數(shù)
[3]Chirp信號(hào)基礎(chǔ)知識(shí)及matlab實(shí)現(xiàn)
總結(jié)
以上是生活随笔為你收集整理的线性调频信号及仿真[python]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于预计算的全局光照技术
- 下一篇: 线性调频信号学习笔记