

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)字信號處理</b></p><p> 學(xué)院 學(xué)院</p><p><b> 班級 </b></p><p><b> 學(xué)號 </b></p><p><b> 姓名 </b><
2、;/p><p><b> 目錄</b></p><p><b> 一 設(shè)計(jì)概述</b></p><p> 1 設(shè)計(jì)題目………………………………………………3</p><p> 2 設(shè)計(jì)目的………………………………………………3</p><p> 3 具體步驟………………
3、………………………………3</p><p> 4 實(shí)現(xiàn)方法………………………………………………4</p><p> 二 設(shè)計(jì)目標(biāo)…………………………………………………4</p><p><b> 三 設(shè)計(jì)內(nèi)容</b></p><p> 1 原理學(xué)習(xí)………………………………………………4</p>&l
4、t;p> 1.1循環(huán)卷積…………………………………………..5</p><p> 1.2離散卷積…………………………………………..5</p><p> 2 程序流程圖……………………………………………6</p><p> 3 c語言編程與計(jì)算</p><p> 3.1 c語言程序………………………………………...7<
5、/p><p> 3.2計(jì)算結(jié)果…………………………………………..8</p><p><b> 4 驗(yàn)證計(jì)算結(jié)果</b></p><p> 4.1 驗(yàn)算循環(huán)卷積……………………………………9</p><p> 4.2 驗(yàn)算離散卷積……………………………………9</p><p> 四 體會與感
6、想……………………………………………..10</p><p> 五 參考文獻(xiàn)………………………………………………..10</p><p><b> 一 設(shè)計(jì)概述</b></p><p> 設(shè)計(jì)題目: 循環(huán)卷積和離散卷積的計(jì)算機(jī)計(jì)算</p><p> 設(shè)計(jì)目的:1、自學(xué)C語言以及鞏固信號與系統(tǒng)離散卷積與循環(huán)卷積的內(nèi)
7、容;</p><p> 2、培養(yǎng)獨(dú)立思考以及靈活應(yīng)用所學(xué)知識的能力;</p><p> 3、培養(yǎng)和掌握正確的設(shè)計(jì)思想和認(rèn)真負(fù)責(zé)的設(shè)計(jì)態(tài)度;</p><p> 4、自行檢驗(yàn)與調(diào)試出精確、簡便、實(shí)用、可靠的設(shè)計(jì)方法。</p><p> 具體步驟:①仔細(xì)分析設(shè)計(jì)題目、目的及內(nèi)容;</p><p> ②分析離散卷積與
8、循環(huán)卷積的特點(diǎn)與異同;</p><p> ?、鄯治鲇?jì)算步驟并畫出流程圖;</p><p> ④用C語言進(jìn)行編程并用VC6.0進(jìn)行演算;</p><p> ?、葑孕杏?jì)算進(jìn)行驗(yàn)算;</p><p> ?、薹治鼋Y(jié)果并分享體會</p><p> 運(yùn)用軟件:office word2003 VC6.0</p>
9、<p> 實(shí)現(xiàn)方法: 通過學(xué)習(xí)課本及參閱相關(guān)書籍以及網(wǎng)絡(luò),從理論上分析離散卷積和循環(huán)卷積的特點(diǎn);學(xué)習(xí)用Word設(shè)計(jì)程序流程圖,C語言編程進(jìn)行計(jì)算,并驗(yàn)證計(jì)算結(jié)果。</p><p><b> 二 設(shè)計(jì)目標(biāo)</b></p><p> 設(shè)有兩離散序列和,則兩序列的循環(huán)卷積和離散卷積分別為:</p><p> 畫出計(jì)算此兩卷積的程序框
10、圖,并用C語言編寫計(jì)算程序,計(jì)算出結(jié)果。</p><p> 學(xué)生用C語言編程,分析計(jì)算結(jié)果。</p><p><b> 三 設(shè)計(jì)內(nèi)容</b></p><p> 離散卷積和循環(huán)卷積的計(jì)算機(jī)計(jì)算</p><p><b> 1 原理學(xué)習(xí)</b></p><p> 卷積關(guān)
11、系最重要的一種情況,就是在信號與線性系統(tǒng)或數(shù)字信號處理中的卷積定理。利用該定理,可以將時間域或空間域中的卷積運(yùn)算等價為頻率域的相乘運(yùn)算,從而利用FFT等快速算法,實(shí)現(xiàn)有效的計(jì)算,節(jié)省運(yùn)算代價。</p><p><b> 1.1 循環(huán)卷積</b></p><p> 循環(huán)卷積比起線性卷積,在運(yùn)算速度上有很大的優(yōu)越性,它可以采用快速傅里葉變換(FFT)技術(shù),若能利用循
12、環(huán)卷積求線性卷積,會帶來很大的方便。一般情況下,n≧N時x[n]*v[n]并不等于零,x[n]*v[n]的N點(diǎn)DFT和這些值不一致。因此,有必要定義一種卷積運(yùn)算,使得n=0,1,…,N-1之外的卷積信號x[n]*v[n]等于零,這就引出循環(huán)卷積的概念。離散卷積和循環(huán)卷積之間的唯一區(qū)別是:用折疊位移(模N)信號代替了離散卷積式中的折疊位移信號。</p><p> 對于循環(huán)卷積來說,不僅要知道這兩組數(shù)而且要確定N值
13、。</p><p><b> 1.2離散卷積</b></p><p> 信號與線性系統(tǒng)中,定義x[n],v[n],其卷積為 計(jì)算離散卷積時,首先將x[n],v[n]中的離散時間序號n改為i,得到信號x[i],v[i],下一步確定v[n-i]和乘積x[i]v[n-i]。信號v[n-i]是信號v[i]的反折和平移,通過對x[i]v[n-i]中的i求和即可計(jì)算出來,式中
14、i取一定范圍的的整數(shù)。</p><p> 計(jì)算離散卷積時需要用戶輸入x[n]和v[m]的值,這樣便可以得到所要求的離散卷積的值</p><p> 3 c語言編程與計(jì)算</p><p> 3.1 c語言程序</p><p> #include<stdio.h></p><p> #include
15、<stdlib.h></p><p> void discreat();</p><p> void circle(); </p><p> void main()</p><p><b> {int i;</b></p><p> printf("歡迎使用卷積計(jì)
16、算程序\n");</p><p> printf("請進(jìn)行選擇,輸入1進(jìn)行循環(huán)卷積計(jì)算,輸入2進(jìn)行離散卷積計(jì)算:");</p><p> scanf("%d",&i);</p><p> printf("\n");</p><p> while(i!=1&a
17、mp;&i!=2)</p><p> {printf("輸入錯誤,請重新選擇:");</p><p> scanf("%d",&i);</p><p><b> }</b></p><p><b> if(i=1)</b></p&
18、gt;<p><b> circle();</b></p><p><b> else</b></p><p> discreat(),i--;</p><p><b> if(i=1)</b></p><p> discreat();</p>
19、;<p><b> else</b></p><p><b> circle();</b></p><p> printf("感謝使用\n");</p><p> system("pause");</p><p><b> }
20、</b></p><p> void circle()</p><p><b> {</b></p><p><b> int i,j;</b></p><p><b> i=j=0;</b></p><p><b> i
21、nt t;</b></p><p> float a[100],b[100],c[200];</p><p> printf("現(xiàn)在計(jì)算循環(huán)卷積y\n");</p><p> printf("請輸入N的值\n");</p><p> scanf("%d",&
22、;t);</p><p> printf("請輸入x[n]\n");</p><p> for(i=0;i<=t-1;i++)</p><p> scanf("%f",&a[i]);</p><p> printf("請輸入v[m]\n");</p>
23、<p> for(i=0;i<=t-1;i++)</p><p> scanf("%f",&b[i]);</p><p> for(j=0;j<=t-1;j++)c[j]=0;</p><p> for(j=0;j<=t-1;j++)</p><p> for(i=0;i&
24、lt;=t-1;i++)</p><p> if((j-i)>=0)</p><p> c[j]+=a[i]*b[j-i];</p><p> else if((j-i)<0)</p><p> c[j]+=a[i]*b[j-i+t];</p><p> printf("循環(huán)卷積y[n]
25、為\n");</p><p> for(j=0;j<=t-1;j++)</p><p> printf("y[%d]=%f\n",j,c[j]);</p><p><b> }</b></p><p> void discreat()</p><p>
26、 {int n,m,k,q;</p><p> n=m=k=q=0;gg</p><p> static float x[100],y[100],z[200]; </p><p> printf("計(jì)算離散卷積y\n");</p><p> printf("請輸入
27、x[n]的長度\n");</p><p> scanf("%d",&n);</p><p> printf("請輸入v[m]的長度\n");</p><p> scanf("%d",&m);</p><p> printf("請輸入x[n]
28、\n");</p><p> for(k=0;k<=n-1;k++)</p><p> scanf("%f",&x[k]);</p><p> printf("請輸入v[m]\n");</p><p> for(k=0;k<=m-1;k++)</p>
29、<p> scanf("%f",&y[k]);</p><p> for(q=0;q<=m+n-2;q++)</p><p> for(k=0;k<=n-1;k++)</p><p> if((q-k)>=0)</p><p> z[q]+=x[k]*y[q-k];</p
30、><p> printf("離散卷積y[n]為\n");</p><p> for(q=0;q<=m+n-2;q++)</p><p> printf("y[%d]=%f\n",q,z[q]);</p><p> printf("其余值均為0\n");</p>
31、<p><b> }</b></p><p><b> 3.2計(jì)算結(jié)果</b></p><p><b> 4 驗(yàn)證計(jì)算結(jié)果</b></p><p> 4.1 驗(yàn)算循環(huán)卷積</p><p> =x[0]v[0]+x[1]v[2]+x[2]v[1]=11,
32、n=0</p><p> y[n]=x[n] ③v[m] =x[0]v[1]+x[1]v[0]+x[2]v[2]=11, n=1</p><p> =x[0]v[2]+x[1]v[1]+x[2]v[0]=14, n=2</p><p> 4.2 驗(yàn)算離散卷積</p><p><b> 陣列方法:</b><
33、;/p><p> 1 2 3</p><p> 3 2 1</p><p> 3 2 1</p><p><b> 6 4</b></p><p><b> 9</b></p><p&g
34、t; 3 8 14</p><p> y[0]=3,n=0</p><p> y[1]=8, n=1</p><p> y[n]=x[n]*v[n]= y[2]=14, n=2</p><p> y[3]=8,n=3</p><p> y[4]=3,n=4</p><p
35、><b> 其他為0</b></p><p> 驗(yàn)算結(jié)果與編程計(jì)算結(jié)果一致。</p><p><b> 四 體會與感想</b></p><p> 本次課設(shè)花了不少心思,主要在細(xì)節(jié)問題上不能夠做到一步到位,所以在檢查過程中耗費(fèi)了不少時間。同時對于C語言的學(xué)習(xí),沒有做到穩(wěn)固。所以導(dǎo)致以前學(xué)的很多知識都已經(jīng)忘記,不
36、得不又拾起以前的課本。但至少這一次課設(shè)讓我溫習(xí)了以前的知識也懂得了知識需要時時刻刻去溫習(xí)。免得以前的知識白學(xué)了,當(dāng)然,在成功后還是蠻有成就感的。又是一個自己做的成果,很滿足。</p><p><b> 五 參考書目</b></p><p> 1.Fundamentals of Signals and Systems -Using the Web and MATLA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 離散時間系統(tǒng)及離散卷積
- 信號與系統(tǒng)課程設(shè)計(jì)--方波和單邊指數(shù)信號的卷積
- 信號處理課程設(shè)計(jì)--線性卷積與圓周卷積演示程序的設(shè)計(jì)
- 數(shù)字信號課程設(shè)計(jì)---方波和單邊指數(shù)信號的卷積及卷積過程演示
- 《信號與系統(tǒng)》課程設(shè)計(jì)——計(jì)算機(jī)聲頻測試系統(tǒng)仿真
- 計(jì)算機(jī)硬件課程設(shè)計(jì)報告---簡單計(jì)算機(jī)的設(shè)計(jì)
- 計(jì)算機(jī)課程設(shè)計(jì)報告
- 計(jì)算機(jī)操作系統(tǒng)課程設(shè)計(jì)報告
- 計(jì)算機(jī)操作系統(tǒng)課程設(shè)計(jì)報告
- 計(jì)算機(jī)圖形課程設(shè)計(jì)報告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報告--簡單計(jì)算機(jī)
- fft快速卷積課程設(shè)計(jì)報告
- 計(jì)算機(jī)系統(tǒng)算法設(shè)計(jì)與分析報告課程設(shè)計(jì)
- 計(jì)算機(jī)機(jī)房管理系統(tǒng)課程設(shè)計(jì)報告
- 計(jì)算機(jī)控制系統(tǒng)課程設(shè)計(jì)報告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報告--復(fù)雜模型計(jì)算機(jī)的設(shè)計(jì)
- 計(jì)算機(jī)控制系統(tǒng)課程設(shè)計(jì)報告
- 計(jì)算機(jī)高級語言課程設(shè)計(jì)報告
- 計(jì)算機(jī)高級語言課程設(shè)計(jì)報告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
評論
0/150
提交評論