版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 數(shù)字信號(hào)處理</b></p><p> 學(xué)院 學(xué)院</p><p><b> 班級(jí) </b></p><p><b> 學(xué)號(hào) </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語(yǔ)言編程與計(jì)算</p><p> 3.1 c語(yǔ)言程序………………………………………...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> 四 體會(huì)與感
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語(yǔ)言以及鞏固信號(hào)與系統(tǒng)離散卷積與循環(huán)卷積的內(nèi)
7、容;</p><p> 2、培養(yǎng)獨(dú)立思考以及靈活應(yīng)用所學(xué)知識(shí)的能力;</p><p> 3、培養(yǎng)和掌握正確的設(shè)計(jì)思想和認(rèn)真負(fù)責(zé)的設(shè)計(jì)態(tài)度;</p><p> 4、自行檢驗(yàn)與調(diào)試出精確、簡(jiǎn)便、實(shí)用、可靠的設(shè)計(jì)方法。</p><p> 具體步驟:①仔細(xì)分析設(shè)計(jì)題目、目的及內(nèi)容;</p><p> ?、诜治鲭x散卷積與
8、循環(huán)卷積的特點(diǎn)與異同;</p><p> ?、鄯治鲇?jì)算步驟并畫出流程圖;</p><p> ?、苡肅語(yǔ)言進(jìn)行編程并用VC6.0進(jìn)行演算;</p><p> ?、葑孕杏?jì)算進(jìn)行驗(yàn)算;</p><p> ?、薹治鼋Y(jié)果并分享體會(huì)</p><p> 運(yùn)用軟件:office word2003 VC6.0</p>
9、<p> 實(shí)現(xiàn)方法: 通過(guò)學(xué)習(xí)課本及參閱相關(guān)書籍以及網(wǎng)絡(luò),從理論上分析離散卷積和循環(huán)卷積的特點(diǎn);學(xué)習(xí)用Word設(shè)計(jì)程序流程圖,C語(yǔ)言編程進(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語(yǔ)言編寫計(jì)算程序,計(jì)算出結(jié)果。</p><p> 學(xué)生用C語(yǔ)言編程,分析計(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、系最重要的一種情況,就是在信號(hào)與線性系統(tǒng)或數(shù)字信號(hào)處理中的卷積定理。利用該定理,可以將時(shí)間域或空間域中的卷積運(yùn)算等價(jià)為頻率域的相乘運(yùn)算,從而利用FFT等快速算法,實(shí)現(xiàn)有效的計(jì)算,節(jié)省運(yùn)算代價(jià)。</p><p><b> 1.1 循環(huán)卷積</b></p><p> 循環(huán)卷積比起線性卷積,在運(yùn)算速度上有很大的優(yōu)越性,它可以采用快速傅里葉變換(FFT)技術(shù),若能利用循
12、環(huán)卷積求線性卷積,會(huì)帶來(lái)很大的方便。一般情況下,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)。</p><p> 對(duì)于循環(huán)卷積來(lái)說(shuō),不僅要知道這兩組數(shù)而且要確定N值
13、。</p><p><b> 1.2離散卷積</b></p><p> 信號(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]的反折和平移,通過(guò)對(duì)x[i]v[n-i]中的i求和即可計(jì)算出來(lái),式中
14、i取一定范圍的的整數(shù)。</p><p> 計(jì)算離散卷積時(shí)需要用戶輸入x[n]和v[m]的值,這樣便可以得到所要求的離散卷積的值</p><p> 3 c語(yǔ)言編程與計(jì)算</p><p> 3.1 c語(yǔ)言程序</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("請(qǐng)進(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("輸入錯(cuò)誤,請(qǐng)重新選擇:");</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("請(qǐng)輸入N的值\n");</p><p> scanf("%d",&
22、;t);</p><p> printf("請(qǐng)輸入x[n]\n");</p><p> for(i=0;i<=t-1;i++)</p><p> scanf("%f",&a[i]);</p><p> printf("請(qǐng)輸入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("請(qǐng)輸入
27、x[n]的長(zhǎng)度\n");</p><p> scanf("%d",&n);</p><p> printf("請(qǐng)輸入v[m]的長(zhǎng)度\n");</p><p> scanf("%d",&m);</p><p> printf("請(qǐng)輸入x[n]
28、\n");</p><p> for(k=0;k<=n-1;k++)</p><p> scanf("%f",&x[k]);</p><p> printf("請(qǐng)輸入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> 四 體會(huì)與感想</b></p><p> 本次課設(shè)花了不少心思,主要在細(xì)節(jié)問(wèn)題上不能夠做到一步到位,所以在檢查過(guò)程中耗費(fèi)了不少時(shí)間。同時(shí)對(duì)于C語(yǔ)言的學(xué)習(xí),沒(méi)有做到穩(wěn)固。所以導(dǎo)致以前學(xué)的很多知識(shí)都已經(jīng)忘記,不
36、得不又拾起以前的課本。但至少這一次課設(shè)讓我溫習(xí)了以前的知識(shí)也懂得了知識(shí)需要時(shí)時(shí)刻刻去溫習(xí)。免得以前的知識(shí)白學(xué)了,當(dāng)然,在成功后還是蠻有成就感的。又是一個(gè)自己做的成果,很滿足。</p><p><b> 五 參考書目</b></p><p> 1.Fundamentals of Signals and Systems -Using the Web and MATLA
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 離散時(shí)間系統(tǒng)及離散卷積
- 信號(hào)與系統(tǒng)課程設(shè)計(jì)--方波和單邊指數(shù)信號(hào)的卷積
- 信號(hào)處理課程設(shè)計(jì)--線性卷積與圓周卷積演示程序的設(shè)計(jì)
- 數(shù)字信號(hào)課程設(shè)計(jì)---方波和單邊指數(shù)信號(hào)的卷積及卷積過(guò)程演示
- 《信號(hào)與系統(tǒng)》課程設(shè)計(jì)——計(jì)算機(jī)聲頻測(cè)試系統(tǒng)仿真
- 計(jì)算機(jī)硬件課程設(shè)計(jì)報(bào)告---簡(jiǎn)單計(jì)算機(jī)的設(shè)計(jì)
- 計(jì)算機(jī)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)操作系統(tǒng)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)操作系統(tǒng)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)圖形課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告--簡(jiǎn)單計(jì)算機(jī)
- fft快速卷積課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)系統(tǒng)算法設(shè)計(jì)與分析報(bào)告課程設(shè)計(jì)
- 計(jì)算機(jī)機(jī)房管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)控制系統(tǒng)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告--復(fù)雜模型計(jì)算機(jī)的設(shè)計(jì)
- 計(jì)算機(jī)控制系統(tǒng)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)高級(jí)語(yǔ)言課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)高級(jí)語(yǔ)言課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡(jiǎn)單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論