信號(hào)與系統(tǒng)-課程設(shè)計(jì)-卷積_第1頁
信號(hào)與系統(tǒng)-課程設(shè)計(jì)-卷積_第2頁
信號(hào)與系統(tǒng)-課程設(shè)計(jì)-卷積_第3頁
信號(hào)與系統(tǒng)-課程設(shè)計(jì)-卷積_第4頁
信號(hào)與系統(tǒng)-課程設(shè)計(jì)-卷積_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

信號(hào)與系統(tǒng)課程設(shè)計(jì)報(bào)告學(xué)院電氣與電子工程學(xué)院班級(jí)電氣1004班 學(xué)號(hào)U201011867姓名彭鴻昌一設(shè)計(jì)題目循環(huán)卷積和離散卷積的計(jì)算機(jī)計(jì)算二設(shè)計(jì)目標(biāo)設(shè)有兩離散序列和,則兩序列的循環(huán)卷積和離散卷積分別為:畫出計(jì)算此兩卷積的程序框圖,并用C語言編寫計(jì)算程序,計(jì)算出結(jié)果。用C語言編程,分析計(jì)算結(jié)果。三設(shè)計(jì)原理在泛函分析中,卷積(卷積)、旋積或摺積(英語:Convolution)是通過兩個(gè)函數(shù)f和g生成第三個(gè)函數(shù)的一種數(shù)學(xué)算子,表徵函數(shù)f與經(jīng)過翻轉(zhuǎn)和平移與g的重疊部分的累積。如果將參加卷積的一個(gè)函數(shù)看作區(qū)間的指示函數(shù),卷積還可以被看作是“滑動(dòng)平均”的推廣。卷積關(guān)系最重要的一種情況,就是在信號(hào)與線性系統(tǒng)或數(shù)字信號(hào)處理中的卷積定理。利用該定理,可以將時(shí)間域或空間域中的卷積運(yùn)算等價(jià)為頻率域的相乘運(yùn)算,從而利用FFT等快速算法,實(shí)現(xiàn)有效的計(jì)算,節(jié)省運(yùn)算代價(jià)。1離散卷積信號(hào)與線性系統(tǒng)中,定義x[n],v[n],其卷積為計(jì)算離散卷積時(shí),首先將x[n],v[n]中的離散時(shí)間序號(hào)n改為i,得到信號(hào)x[i],v[i],下一步確定v[n-i]和乘積x[i]v[n-i]。信號(hào)v[n-i]是信號(hào)v[i]的反折和平移,通過對(duì)x[i]v[n-i]中的i求和即可計(jì)算出來,式中i取一定范圍的的整數(shù)。計(jì)算離散卷積時(shí)需要用戶輸入x[n]和v[m]的值,這樣便可以得到所要求的離散卷積的值。2循環(huán)卷積循環(huán)卷積比起線性卷積,在運(yùn)算速度上有很大的優(yōu)越性,它可以采用快速傅里葉變換(FFT)技術(shù),若能利用循環(huán)卷積求線性卷積,會(huì)帶來很大的方便。一般情況下,n≧N時(shí)x[n]*v[n]并不等于零,x[n]*v[n]的N點(diǎn)DFT和這些值不一致。因此,有必要定義一種卷積運(yùn)算,使得n=0,1,…,N-1之外的卷積信號(hào)x[n]*v[n]等于零,這就引出循環(huán)卷積的概念。離散卷積和循環(huán)卷積之間的唯一區(qū)別是:用折疊位移(模N)信號(hào)代替了離散卷積式中的折疊位移信號(hào)。對(duì)于循環(huán)卷積來說,不僅要知道這兩組數(shù)而且要確定N值。四程序流程圖1離散卷積流程圖2循環(huán)卷積流程圖五程序代碼1離散卷積代碼#include<iostream>usingnamespacestd;intmain(){intn,m,k,q; n=m=k=q=0;doublex[100],v[100],y[200]; cout<<"離散卷積y\n"; cout<<"輸入x[n]的長(zhǎng)度\n"; cin>>n; cout<<"輸入v[m]的長(zhǎng)度\n"; cin>>m; cout<<"輸入x[n]\n"; for(k=0;k<=n-1;k++) cin>>x[k]; cout<<"輸入v[m]\n"; for(k=0;k<=m-1;k++) cin>>v[k]; for(q=0;q<=m+n-2;q++) for(k=0;k<=n-1;k++) if((q-k)>=0) y[q]=x[k]*v[q-k]+y[q]; cout<<"離散卷積y[n]為\n"; for(q=0;q<=m+n-2;q++)cout<<"y["<<q<<"]="<<y[q]<<"\n"; cout<<"其余值均為0\n";return0;}2循環(huán)卷積代碼#include<iostream>usingnamespacestd;intmain(){inti,j; i=j=0; intt;doublex[100],v[100],y[200]; cout<<"循環(huán)卷積y\n"; cout<<"輸入N的值\n"; cin>>t; cout<<"輸入x[n]\n"; for(i=0;i<=t-1;i++) cin>>x[i]; cout<<"輸入v[m]\n"; for(i=0;i<=t-1;i++) cin>>v[i]; for(j=0;j<=t-1;j++) for(i=0;i<=t-1;i++) if((j-i)>=0) y[j]=x[i]*v[j-i]+y[j]; elseif((j-i)<0) y[j]=x[i]*v[j-i+t]+y[j]; cout<<"循環(huán)卷積y[n]為\n"; for(j=0;j<=t-1;j++) cout<<"y["<<j<<"]="<<y[j]<<"\n";return0;}六計(jì)算結(jié)果與驗(yàn)證編程軟件使用Code::Blocks,編譯器為GNUGCCCompiler1循環(huán)卷積驗(yàn)證循環(huán)卷積=x[0]v[0]+x[1]v[2]+x[2]v[1]=11,n=0y[n]=x[n]③v[n]=x[0]v[1]+x[1]v[0]+x[2]v[2]=11,n=1=x[0]v[2]+x[1]v[1]+x[2]v[0]=14,n=2驗(yàn)算結(jié)果與編程計(jì)算結(jié)果一致2離散卷積驗(yàn)證離散卷積1234554321543211086421512963201612842520151055142640554026145驗(yàn)算結(jié)果與編程計(jì)算結(jié)果一致七體會(huì)與感想在本次課程設(shè)計(jì)中,通過運(yùn)用信號(hào)與系統(tǒng)、C/C++語言有關(guān)知識(shí)以及Code::Blocks,wps等軟件的應(yīng)用,對(duì)所學(xué)的內(nèi)容有了更為清楚的認(rèn)識(shí),學(xué)會(huì)了如何利用圖書館、網(wǎng)絡(luò)及各種常用軟件,了解研究報(bào)告的格式。在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論