分?jǐn)?shù)階Fourier變換應(yīng)用于水聲通信及其FPGA實現(xiàn)
復(fù)數(shù)結(jié)果的新表達(dá)式是:
本文引用地址:http://2s4d.com/article/146838.htm Rr=[(Ar+Ai)×(Br-Bi)]+(Ar×Bi-Ai×Br)(3次乘法) (8)
Ri=Ar×Bi+Ai×Br(復(fù)用來自Rr的乘積) (9)
綜上可知:改進(jìn)的復(fù)數(shù)乘法可用3個乘法器、3個加法器和2個減法器實現(xiàn)。在Cyclone系列FPGA中,每個8×8位乘法器需95個邏輯單元,而每個位寬16位的加法/減法模塊只需18個邏輯單元,即改進(jìn)后的復(fù)數(shù)乘法器減少41個邏輯單元,降低了FPGA的資源消耗。
卷積模塊
本文采用FFT運算完成卷積運算[11]?;诳焖俑盗⑷~變換的卷積計算流程如圖5所示。分別對x(n)和h(n)進(jìn)行FFT運算,得到對應(yīng)的頻域響應(yīng)X(k)和H(k),將X(k)和H(k)相乘的結(jié)果再做IFFT,即可以得到x(n)和h(n)的卷積結(jié)果y(n)?! ?/p>
由于進(jìn)行卷積的Chirp信號已知,為了降低FPGA的資源消耗,可預(yù)先計算Chirp信號的FFT結(jié)果,并將其保存到RAM中,即可減少一次FFT硬件運算。其改進(jìn)快速傅立葉變換的卷積計算流程示意圖如圖6?! ?/p>
兩次FFT運算共需要2×1/2Nlog2N次相乘還有N次相乘,因此共需要相乘次數(shù)為m=N(1+lbN)。傳統(tǒng)方法直接計算線性卷積需要n=ML次乘法。當(dāng)x(n)和h(n)點數(shù)相同時,則M=L,傳統(tǒng)直接計算方法與改進(jìn)方法進(jìn)行卷積計算的運算量[12]比較為:
???????? ?? (10)?
由式(10)可知M值越大,此算法的優(yōu)越性越明顯。用硬件語言設(shè)計出改進(jìn)快速傅立葉變換的卷積部分并生成模塊,如圖7所示?! ?/p>
fpga相關(guān)文章:fpga是什么
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
評論