圓周卷積的積分算法_第1頁(yè)
圓周卷積的積分算法_第2頁(yè)
圓周卷積的積分算法_第3頁(yè)
圓周卷積的積分算法_第4頁(yè)
圓周卷積的積分算法_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2 圓周卷積原理2.1 圓周卷積定義有兩個(gè)有限長(zhǎng)序列和。設(shè)和的長(zhǎng)度分別為N1和N2,N=maxN1, N2。若、的離散付里葉變換分別為、,且有 =則 =IDFT =上式即為序列與的圓周卷積,習(xí)慣表示為 =??梢钥闯?,圓周卷積和周期卷積過程一樣,只不過這里要取結(jié)果的主值序列。公式中的只在m=0到N-1范圍內(nèi)取值,因而它就是圓周移位,所以這一卷積和稱為圓周卷積。圓周卷積與周期卷積之間的關(guān)系,就是有限長(zhǎng)序列圓周卷積結(jié)果的周期延拓,等于它們周期延拓后的周期卷積。換句話說,周期卷積的主值序列,是各周期序列主值序列的圓周卷積。周期卷積得到是周期序列,圓周卷積得到的是有限長(zhǎng)序列,而且長(zhǎng)度等于參加卷積的序列的

2、長(zhǎng)度。2.2 圓周卷積計(jì)算過程具體步驟如下:(1) 在二元坐標(biāo)上做出與;(2) 把沿著縱坐標(biāo)翻轉(zhuǎn),得到;(3) 對(duì)做圓周移位,得到;(4) 與對(duì)應(yīng)相同的m的值進(jìn)行相乘,并把結(jié)果相加,得到對(duì)應(yīng)于自變量n的一個(gè);(5) 換另一個(gè)n,重復(fù)以上兩步,直到n取遍0到N-1所有的值,得到完整的。3 重疊相加法原理實(shí)際應(yīng)用中通常參加卷積的兩個(gè)序列的長(zhǎng)度相差較大,這樣長(zhǎng)度較小的就需要補(bǔ)很多0,就需要較大的存儲(chǔ)空間,運(yùn)算時(shí)間也會(huì)變長(zhǎng),常用的辦法有重疊相加法和重疊保留法。本次設(shè)計(jì)采用重疊相加法。設(shè)x(n)為無限長(zhǎng)序列,并假定xi(n)表示第i段x(n)序列: 則輸入序列可表為: =i=-xin于是輸出可分解為:

3、=*=i=-xin*hn=i=-yin其中=* 由此表明,只要將x(n)的每一段分別與h(n)卷積,然后再將這些卷積結(jié)果相加起來就可得到輸出序列,這樣,每一段的卷積都可用上面討論的快速卷積來計(jì)算。先對(duì)h(n)及xi(n)補(bǔ)零,補(bǔ)到具有N點(diǎn)長(zhǎng)度,N=N1+N2-1。 一般選擇N=2M,然后用基2 FFT算法通過正反變換計(jì)算 yi(n)=xi(n)*h(n) 由于yi(n)的長(zhǎng)度為N,而xi(n)的長(zhǎng)度為N2,因此相鄰兩yi(n)序列必然有N-N2=N1-1點(diǎn)發(fā)生重疊,這個(gè)重疊部分應(yīng)該相加起來才能構(gòu)成最后的輸出序列。 計(jì)算步驟: a. 事先準(zhǔn)備好濾波器參數(shù)H(k)=DFTh(n),N點(diǎn) b.用N點(diǎn)

4、FFT計(jì)算Xi(k)=DFTxi(n) c.Yi(k)=Xi(k)H(k) d.用N點(diǎn)IFFT求 yi(n)=IDFTYi(k) e.將重疊部分相加 圖3.1重疊相加法的分段示意圖L點(diǎn)循環(huán)卷積M-1點(diǎn)緩存 x1(n) 后M-1點(diǎn) y(n) 前N點(diǎn) L=N+M-1 h(n)圖3.2 重疊相加法算法示意圖4 MATLAB程序設(shè)計(jì)基于以上對(duì)原理的分析,這里采用FFT算法實(shí)現(xiàn)重疊相加法的圓周卷積計(jì)算。程序主要由計(jì)算圓周卷積的函數(shù)以及重疊相加函數(shù)和主程序三部分組成。4.1 程序設(shè)計(jì)思路函數(shù)conv (x1,x2,L)設(shè)計(jì)(1) x1(n)進(jìn)行N點(diǎn)快速傅里葉變換得X1k(2) x2(n)進(jìn)行N點(diǎn)快速傅里葉

5、變換得X2k(3) 進(jìn)行頻域相乘Yk=X1k*X2k(4) 對(duì)Yk進(jìn)行反變換得到時(shí)域卷積結(jié)果y(n)函數(shù)overlap_add(x,h,N)設(shè)計(jì)(1)首先取圓周卷積的周期L(即進(jìn)行L點(diǎn)的快速傅里葉變換)(2)計(jì)算每一分段的大小N(3)填充序列使得循環(huán)中對(duì)序列的索引不會(huì)超出范圍(4)計(jì)算分段數(shù)K(5)對(duì)序列進(jìn)行分段調(diào)用conv ()函數(shù)計(jì)算圓周卷積(6)各段重疊相加(7)取出實(shí)際的輸出序列4.2 圓周卷積部分計(jì)算圓周卷積函數(shù)的流程圖:對(duì)進(jìn)行FFT運(yùn)算對(duì)進(jìn)行FFT運(yùn)算求和 的頻域之積 對(duì)求反變換得到時(shí)域值y(n)開始結(jié)束程序:function y = circular_conv( x1,x2,L

6、)%利用循環(huán)卷積計(jì)算線性卷積%循環(huán)卷積采用頻域計(jì)算方法,以FFT代替DFT,降低運(yùn)算量x1k= fft(x1,L);%x1做L點(diǎn)FFTx2k= fft(x2,L);%x2做L點(diǎn)FFTyk = x1k.*x2k;%頻域相乘y = ifft(yk);%FFT反變換得循環(huán)卷積結(jié)果end4.3 重疊相加部分重疊相加法程序流程圖: 計(jì)算x1(n)和x2(n)的序列長(zhǎng)度,分段數(shù)并得到臨時(shí)序列將x1(n)每段分別與x2(n)求圓周卷積將重疊部分相加輸出序列y(n)開始結(jié)束程序:function y = overlap_add(x1,x2,N)%重疊相加法實(shí)現(xiàn)%將高點(diǎn)數(shù)DFT轉(zhuǎn)化為低點(diǎn)數(shù)DFTM = leng

7、th(x2);%獲得x2(n)的長(zhǎng)度if NM N = M+1;endL = M+N-1;Lx = length(x1);T = ceil(Lx/N);%確定分段數(shù)t = zeros(1,M-1);%生成1行M-1列的全零矩陣x1 = x1,zeros(1,(T+1)*N-Lx);%不足部分補(bǔ)0y = zeros(1,(T+1)*N);%定義輸出序列,初始化為全0for i=0:1:T xi = i*N+1; x_seg = x1(xi:xi+N-1); y_seg = circular_conv(x_seg,x2,L);%計(jì)算每段的圓周卷積 y_seg(1:M-1) = y_seg(1:M-

8、1)+t(1:M-1);%重疊相加 t(1:M-1) = y_seg(N+1:L); y(xi:xi+N-1) = y_seg(1:N);endy=y(1:Lx+M-1);end4.4 主程序x1=1:1:13;x2=-2,1,3;L=15;m=overlap_add(x1,x2,L);%重疊相加法得到的結(jié)果n=circular_conv(x1,x2,L);%線性卷積直接得到的結(jié)果subplot(4,1,1);a = 1:13;stem(a,x1)title(x1序列)subplot(4,1,2);b = 1:3;stem(b,x2)title(x2序列)subplot(4,1,3);c =

9、1:15;stem(c,m)title(基于重疊相加法的圓周卷積結(jié)果)5 MATLAB實(shí)現(xiàn) 圖5.1 圓周卷積m文件 圖5.2 重疊相加法m文件圖5.3 主程序m文件圖5.4 程序運(yùn)行結(jié)果圖5.5 基于重疊相加法的圓周卷積結(jié)果表格心得體會(huì)數(shù)字信號(hào)處理是我們電信專業(yè)非常重要的一門課程,學(xué)好它對(duì)以后的進(jìn)一步學(xué)習(xí)或者工作都有至關(guān)重要的作用,經(jīng)過了一個(gè)學(xué)期的理論課程的學(xué)習(xí),我感覺自己還停留在做題目上,而對(duì)理論知識(shí)的應(yīng)用卻知之甚少,因此,這次課程設(shè)計(jì)對(duì)我來說是一個(gè)非常好的機(jī)會(huì)來進(jìn)一步認(rèn)識(shí)理論知識(shí)的具體意義,懷著這種心態(tài),我從對(duì)理論知識(shí)的回顧到設(shè)計(jì)仿真,每一步都非常認(rèn)真的對(duì)待,我從中也學(xué)到了不少。這次課程

10、設(shè)計(jì)主要用到了matlab軟件,這款軟件在對(duì)數(shù)字信號(hào)處理的建模、編程、分析、實(shí)現(xiàn)等方面功能非常強(qiáng)大,由于之前在實(shí)驗(yàn)課中我們?cè)?jīng)接觸過matlab,因此這次做起來相對(duì)輕松一些。我選做的題目是基于重疊相加法的圓周卷積,在開始進(jìn)行程序設(shè)計(jì)之前,我先對(duì)理論知識(shí)進(jìn)行了回顧,在熟悉了圓周卷積以及重疊相加法的原理以及matlab的應(yīng)用環(huán)境后,我開始了軟件的設(shè)計(jì),雖說之前對(duì)matlab有所了解,但對(duì)軟件里面的程序包并不了解,所以編程的過程中也遇到過很多問題,比如找不到需要用的函數(shù),但通過查看軟件自帶的幫助信息我很快能夠找到自己想要的東西,在熟悉了原理后,程序設(shè)計(jì)并不復(fù)雜,但程序的調(diào)試卻花了很長(zhǎng)時(shí)間,其中也遇到

11、了一些莫名其妙的問題,調(diào)試成功后第二次再打開就不行了,經(jīng)過了長(zhǎng)時(shí)間的調(diào)試,并且在老師和同學(xué)的幫助下,我換了個(gè)軟件終于解決了。雖然調(diào)試的過程并不順利,但成功后的喜悅是無窮的。我從中學(xué)到了很多東西,這些都是書本上很難遇到的,當(dāng)然最終能夠獲得成功也離不開老師的幫助,所以在此感謝老師對(duì)我的幫助致謝在這次課程設(shè)計(jì)過程中,我得到了許多人的幫助。首先我要感謝吳巍老師在課程設(shè)計(jì)上給予我的指導(dǎo)、提供給我的支持和幫助,這是我能順利完成這次報(bào)告的主要原因,更重要的是老師幫我解決了許多技術(shù)上的難題,讓我能做得更加完善。在此期間,我不僅學(xué)到了許多新的知識(shí),而且也開闊了視野,提高了自己的設(shè)計(jì)能力。其次,我要感謝幫助過我的同學(xué),同時(shí)也感謝學(xué)院為我提供良好的做課程設(shè)計(jì)的環(huán)境。最后再一次感謝所有在設(shè)計(jì)中曾經(jīng)幫助過我的良師益友和同學(xué)!參考文獻(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論