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