版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)字信號(hào)處理課程設(shè)計(jì)題目: 基于MATLAB的卷積演示系統(tǒng) 學(xué)院: 專業(yè): 班級(jí): 學(xué)號(hào): 姓名: 指導(dǎo)教師: 目 錄摘要3ABSTRACT4第一章 背景51.1MATLAB的優(yōu)點(diǎn)51.2 MATLAB的組成6第二章 設(shè)計(jì)原理及分析82.1 卷積的定義82.2線性卷積的運(yùn)算82.3 循環(huán)卷積的運(yùn)算9第三章 設(shè)計(jì)內(nèi)容與分析103.1設(shè)計(jì)內(nèi)容103.2線性卷積的分析103.3循環(huán)卷積的分析10第四章 實(shí)驗(yàn)代碼及結(jié)果114.1線性卷積的 MATLAB 設(shè)計(jì)源程序114.2循環(huán)卷積的 MATLAB 設(shè)計(jì)源程序124.3 分析兩類卷積關(guān)系144.4動(dòng)態(tài)演示基于重疊相加法的長序列快速卷積144.5用MAT
2、LAB設(shè)計(jì)一個(gè)卷積演示界面17第五章 收獲與體會(huì)20致謝21參考文獻(xiàn)22摘要本文講述的是運(yùn)用MATLAB軟件編寫線性卷積和循環(huán)卷積,運(yùn)行程序并得到正確結(jié)果,附上運(yùn)行結(jié)果圖讓大家參照對(duì)比。MATLAB是一款在數(shù)學(xué)類科技應(yīng)用軟件中特別是在數(shù)值計(jì)算方面首屈一指的軟件,它可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。而線性卷積和循環(huán)卷積在工程上的應(yīng)用亦非常廣泛,在MATLAB軟件處理下,實(shí)現(xiàn)任意兩個(gè)序列的線性和循環(huán)卷積對(duì)于工程上的輔助是相當(dāng)重要的。卷積關(guān)系最重要的一種情況,
3、就是在信號(hào)與線性系統(tǒng)或數(shù)字信號(hào)處理中的卷積定理。利用該定理,可以將時(shí)間域或空間域中的卷積運(yùn)算等價(jià)為頻率域的相乘運(yùn)算,從而利用FFT等快速算法,實(shí)現(xiàn)有效的計(jì)算,節(jié)省運(yùn)算代價(jià)。本文從線性卷積和循環(huán)的定義出發(fā),分析其運(yùn)算原理以及相關(guān)的公式、程序,著重介紹并分析了卷積的運(yùn)算過程,讓大家明白什么是卷積。程序運(yùn)行之后得到正確的結(jié)果,將運(yùn)行后正確的波形圖放在本次論文中讓大家直觀的做比較。關(guān)鍵詞:MATLAB、線性卷積、循環(huán)卷積、波形圖AbstractThis is about using MATLAB software linear convolution and cyclic convolution, o
4、peration procedure and get the right result, enclosed operation result diagram let everybody referenceMATLAB is a type of technology in applications of mathematics, especially in numerical calculation of the leading software, which can be matrix calculation, and data mapping function, the realizatio
5、n of algorithms, creation of user interface, connected to other procedures, such as programming languages, the main application in engineering computing, control design, signal processing and communications, image processing, signal detection, financial modeling in areas such as design and analysis.
6、 And linear convolution in the application of engineering has a very wide range of software in MATLAB, the realization of any two sequences of linear convolution support for projects is very important. Convolution relationship between the most important case, that is linear in the signal and digital
7、 signal processing system or the convolution theorem. Use of the theorem can be time-domain or space domain to the convolution operation in frequency domain equivalent of the multiplication operation, thus the use of FFT and other fast algorithms, the calculation of effective, cost-saving operation.
8、From linear convolution and circulation of the definition, analyzes its operation principle and relevant formula, procedures, and emphatically introduces and analyses the convolution operation process, let everyone know what convolution. After the program is running properly after operation, the res
9、ults will be put on the right of the waveform Desmond tutu paper let everybody intuitive to compare.Key words:MATLAB;Linear convolution;Circular convolution;Sequence Wave第一章 背景1.1MATLAB的優(yōu)點(diǎn)MATLAB編程語言又稱為M語言,是一種交互式的高級(jí)編程語言,一種高階的矩陣/數(shù)組語言。它具有以下的特點(diǎn)和優(yōu)勢(shì):(1)語法簡(jiǎn)單和編程效率高(2)便于用戶使用和擴(kuò)充(3)方便高校的矩陣和數(shù)組運(yùn)算(4)方便的圖形和圖像操作功能(
10、5)功能強(qiáng)大的工具箱1.1.1 語法簡(jiǎn)單編程效率高M(jìn)ATLAB是一個(gè)高級(jí)的矩陣/陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c(diǎn)。新版本的MATLAB語言是基于最為流行的C+語言基礎(chǔ)上的,因此語法特征與C+語言極為相似,而且更加簡(jiǎn)單,更加符合科技人員對(duì)數(shù)學(xué)表達(dá)式的書寫格式。使之更利于非計(jì)算機(jī)專業(yè)的科技人員使用。1.1.2 便于用戶使用和補(bǔ)充新版本的MATLAB可以利用MATLAB編譯器和C/C+數(shù)學(xué)庫和圖形庫,將自己的MATLAB程序自動(dòng)轉(zhuǎn)換為獨(dú)立于MATLAB運(yùn)行的C和C+代碼。允許用戶編寫可以和MATLAB進(jìn)行交互的C或C+語言程序 作為強(qiáng)大的科學(xué)計(jì)算軟件,MATLA
11、B提供了圖形界面的設(shè)計(jì)與開發(fā)功能,MATLAB中的基本圖形用戶界面對(duì)象分為三類:用戶界面控制對(duì)象、下拉式菜單對(duì)象和內(nèi)容式菜單對(duì)象。 1.1.3 方便高效的矩陣和數(shù)組運(yùn)算MATLAB是一個(gè)包含大量計(jì)算算法的集合。其擁有600多個(gè)工程中要用到的數(shù)學(xué)運(yùn)算函數(shù),可以方便的實(shí)現(xiàn)用戶所需的各種計(jì)算功能。函數(shù)所能解決的問題其大致包括矩陣運(yùn)算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號(hào)運(yùn)算、傅立葉變換和數(shù)據(jù)的統(tǒng)計(jì)分析、工程中的優(yōu)化問題、稀疏矩陣運(yùn)算、復(fù)數(shù)的各種運(yùn)算、三角函數(shù)和其他初等數(shù)學(xué)運(yùn)算、多維數(shù)組操作以及建模動(dòng)態(tài)仿真等。在高校中,MATLAB以成為數(shù)學(xué),信息,控制等諸多學(xué)科有關(guān)課程的有效教學(xué)工
12、具 1.1.4 方便圖形和圖像操作功能MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對(duì)圖形進(jìn)行標(biāo)注和打印。它對(duì)一些特殊的可視化要求,例如圖形對(duì)話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。1.1.5 功能強(qiáng)大的工具箱MATLAB對(duì)許多專門的領(lǐng)域都開發(fā)了功能強(qiáng)大的模塊集和工具箱。一般來說,它們都是由特定領(lǐng)域的專家開發(fā)的,用戶可以直接使用工具箱學(xué)習(xí)、應(yīng)用和評(píng)估不同的方法而不需要自己編寫代碼。1.2 MATLAB的組成MATLAB很重要的特點(diǎn),是附加了一個(gè)解決專門問題的應(yīng)用程序大家族,叫工具箱。它對(duì)于MATLAB用戶是非常重要的,能讓用戶
13、學(xué)習(xí)和應(yīng)用專門的技術(shù)。工具箱是MATLAB函數(shù)的全面集合,擴(kuò)展了MATLAB解決特殊類型問題的環(huán)境。工具箱可以應(yīng)用的領(lǐng)域包括信號(hào)處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、磨具邏輯、子波、模擬等方面。MATLAB這個(gè)名字,代表MATRIX LABOROATOR.MATLAB系統(tǒng)由5個(gè)主要部分組成:1.2.1 開發(fā)環(huán)境這是一組工具程序,幫助用戶使用MATLAB功能和文件。許多工具是圖形用戶界面,包括MATLAB桌面和命令窗口,命令的歷史窗口,編輯器和差錯(cuò)程序,觀看幫助信息的瀏覽器,工作區(qū),文件和收索路徑。1.2.2 MATLAB的數(shù)學(xué)函數(shù)庫這是一個(gè)計(jì)算算法的巨大集合,范圍從初等函數(shù),入求和、正弦、余弦和復(fù)數(shù)運(yùn)算,
14、到更高級(jí)別的函數(shù),像矩陣求逆、矩陣特征值、貝賽爾函數(shù)和快速傅里葉變換。1.2.3 MATLAB語言一個(gè)高級(jí)的矩陣和數(shù)組運(yùn)算,具有控制流語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出、面向?qū)ο蟮某绦蛱攸c(diǎn)。用這種語言能夠快速建立運(yùn)行快且短小的程序,也能建立大的和復(fù)雜的應(yīng)用程序。1.2.4 圖形MATLAB有廣泛的程序,用于把向量和矩陣顯示為圖形,以及注解和打印這些圖像。它包括高級(jí)功能,用于二維和三維數(shù)據(jù)的形象化、圖像處理、動(dòng)畫和演示圖形;包括低級(jí)功能,讓用戶完全定制圖形外觀,以及為用戶的應(yīng)用程序建立完全的圖形用戶界面。1.2.5 MATLAB應(yīng)用程序接口(API)這是一個(gè)程序庫,允許用戶寫C和FORTRAN程序
15、與MATLAB交互。其中包含的程序,用于從MATLAB調(diào)用例行程序,調(diào)用MATLAB作為計(jì)算引擎,以及讀取MAT文件。第二章 設(shè)計(jì)原理及分析 2.1 卷積的定義任意信號(hào)f(t)都可以根據(jù)不同需要進(jìn)行不同的分解。如信號(hào)f(t)可以分解為直流分量和交流分量,也可以分解為奇分量和偶分量,或分解為實(shí)部分量和虛部分量。如果信號(hào)費(fèi)解為沖擊信號(hào),那么信號(hào)分解為一系列不同強(qiáng)度,不同時(shí)延的沖擊信號(hào)的疊加,這個(gè)過程稱為卷積積分。一般而言,如果有兩個(gè)函數(shù)和,則它們的積分稱為與的卷積積分,簡(jiǎn)稱卷積,表達(dá)式為:,即:2.2線性卷積的運(yùn)算卷積運(yùn)算是線性時(shí)不變系統(tǒng)分析的重要工具,很多濾波器的設(shè)計(jì)中都要用到卷積運(yùn)算。給出線性
16、卷積運(yùn)算的定義,設(shè)有離散信號(hào)x(n)和y(n),其線性卷積為: 線性卷積有四步運(yùn)算:卷積運(yùn)算時(shí),y(n)要先反折得到y(tǒng)(-n);m0表示y(-n)序列右移, m=1&kN);x1=x1,zeros(1,N-length(x1); %把序列x1按點(diǎn)數(shù)擴(kuò)展,不足補(bǔ)零x2=x2,zeros(1,N-length(x2); %把序列x1按點(diǎn)數(shù)擴(kuò)展,不足補(bǔ)零 m=0:N-1;x=zeros(N,N); %N行N列矩陣for n=0:N-1 %n取1、2、N-1,每個(gè)值都執(zhí)行for循環(huán)中的代碼一次 x(:,n+1)=x2(mod(n-m),N)+1);end;yn=x1*x;subplot(3,1,3);
17、 %畫出運(yùn)行結(jié)果圖形stem(m,yn,r,.);title(序列x1和序列x2的循環(huán)卷積結(jié)果); %圖形命名運(yùn)行程序,輸入序列x1,x2x1=-1 2 3 -5x2=6 7 -10 4 12N=10循環(huán)卷積結(jié)果如圖2: 圖2:N=10時(shí)循環(huán)卷積運(yùn)行結(jié)果圖當(dāng)輸入序列x1=-1 2 3 -5,x2=6 7 -10 4 12,N=8時(shí)。結(jié)果如圖3 圖3:N=8時(shí)循環(huán)卷積運(yùn)行結(jié)果圖4.3 分析兩類卷積關(guān)系循環(huán)卷積是線性卷積進(jìn)行循環(huán)移位后的結(jié)果,當(dāng)循環(huán)卷積的點(diǎn)數(shù)N=線性卷積兩個(gè)信號(hào)長度的和減1,則循環(huán)卷積與線性卷積的結(jié)果是一樣的。假設(shè)lfm信號(hào)長度是N,lfm_back長度是N,循環(huán)卷積的長度是L,則
18、L應(yīng)該=2*N-1.4.4動(dòng)態(tài)演示基于重疊相加法的長序列快速卷積1.重疊相加法快速卷積源程序如下:N=8; %分段的長度,也就是做fft的長度h=1,3,2,1; %系統(tǒng)沖擊響應(yīng)h(n) for i=0:9 %定義x(n) x(i+1)=5-i;endfor i=10:18 x(i+1)=i-15;endLenx=length(x);M=length(h);M1=M-1; %重疊部分的長度L=N-M1; %不重疊部分的長度h=fft(h,N);K=ceil(Lenx/L); %分的段數(shù)for i=Lenx:K*L-1 %將x(n)補(bǔ)成長度為K*L的序列 x(i+1)=0;endY=zeros(
19、K,N); %保存結(jié)果矩陣初始化YY=zeros(1,(K-1)*L+N);%最終結(jié)果矩陣初始化for k=0:K-1 xk=x(k*L+1:k*L+L),zeros(1,M1); Y(k+1,:)=(ifft(fft(xk).*h); YY(k*L+1:k*L+N)=YY(k*L+1:k*L+N)+Y(k+1,:)end運(yùn)行后結(jié)果如下:4.5用MATLAB設(shè)計(jì)一個(gè)卷積演示界面(1)啟動(dòng)MATLAB R2010a 在正確完成MATLAB的安裝并啟動(dòng)計(jì)算機(jī)之后,選擇“開始”|“所有程序”|MATLAB|R2010a|MATLAB R2010a命令,或者直接雙擊桌面上的MATLAB的快捷方式圖標(biāo),
20、啟動(dòng)MATLAB R2010a。(2)MATLAB R2010a的主界面 MATLAB的默認(rèn)窗口如圖4所示,其中包括主菜單欄、工具欄、命令窗口、歷史命令窗口、工作區(qū)瀏覽器和當(dāng)前路徑窗口等。圖4:MATLAB默認(rèn)窗口(3)點(diǎn)擊工具欄的按鈕,將彈出以下的菜單,如圖5。 圖5:MATLAB窗口在空白處寫下所要實(shí)現(xiàn)的卷積源程序代碼,如圖6。 圖6:程序輸入窗口(4)源程序代碼寫好后,此時(shí)按下F5按鈕,將彈出以下的菜單,如圖7。 圖7:保存程序窗口點(diǎn)擊保存按鈕,將彈出以下界面,如圖8。 圖8:運(yùn)行程序窗口(5)輸入X1=-1 2 3 -5,X2=6 7 -10 4 12后,按下Enter鍵:出現(xiàn)以下結(jié)果
21、:同時(shí)彈出以下的運(yùn)行界面,如圖9 圖9:程序運(yùn)行結(jié)果圖第五章 收獲與體會(huì)總結(jié)本次數(shù)字信號(hào)處理課程設(shè)計(jì),我受益匪淺。首先就是方案的確定。由于這個(gè)學(xué)期我學(xué)習(xí)了數(shù)字信號(hào)處理這門課程,課程中我了解到要實(shí)現(xiàn)兩信號(hào)的卷積,可以通過定義來實(shí)現(xiàn),也可以通過DFT來計(jì)算線性卷積。對(duì)于有限長序列,存在兩種形式的卷積:線性卷積與循環(huán)卷積。由于循環(huán)卷積可以采用DFT的快速算法快速傅里葉變換進(jìn)行運(yùn)算,運(yùn)算速度上有很大的優(yōu)越性。其中,設(shè)計(jì)線性卷積有4個(gè)步驟,翻轉(zhuǎn)、移位 、相乘、求和,而循環(huán)卷積則是通過循環(huán)移位后得到的矩陣與序列相乘。根據(jù)上數(shù)字信號(hào)處理課上老師講的求法,畫出了思路的流程圖,然后根據(jù)流程圖寫出程序,事半功倍。將結(jié)果與直接調(diào)用MATLAB自帶的函數(shù)比較,結(jié)果顯示,自己設(shè)計(jì)的程序是正確的。通過這次課程設(shè)計(jì),我對(duì)線性卷積和循環(huán)的定義、原理、以及實(shí)現(xiàn)方法都有了深入的認(rèn)識(shí)。同時(shí)也對(duì)MATLAB軟件產(chǎn)生了更加濃厚的興趣。在做完本次課程設(shè)計(jì)要求的線性卷積之后,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)計(jì)事務(wù)所實(shí)習(xí)日記
- 會(huì)計(jì)人員培訓(xùn)心得體會(huì)
- 幼兒教育的教學(xué)隨筆匯編12篇
- 關(guān)于銷售類生產(chǎn)實(shí)習(xí)報(bào)告4篇
- 鄉(xiāng)鎮(zhèn)雪亮工程公共視頻應(yīng)用聯(lián)網(wǎng)項(xiàng)目綜合視頻監(jiān)控系統(tǒng)功能介紹
- 法律的作用(醉駕版)
- 2025年運(yùn)載火箭控制系統(tǒng)仿真實(shí)時(shí)處理系統(tǒng)項(xiàng)目發(fā)展計(jì)劃
- 《職場(chǎng)溝通》電子教案 項(xiàng)目六 職場(chǎng)面試溝通
- 商鋪出租合同模板
- 杭州市房屋租賃合同
- 水運(yùn)工程重大事故隱患清單
- 仿寫詩歌-鄉(xiāng)愁
- 三年級(jí)《稻草人》閱讀測(cè)試試題附答案
- 心理健康與職業(yè)生涯(第一章)課件
- 粵教版三年級(jí)勞動(dòng)與技術(shù)全冊(cè)教案教學(xué)設(shè)計(jì)
- 越努力越幸運(yùn)商務(wù)紅色工作匯報(bào)PPT模板
- (完整版)外科學(xué)名詞解釋【完整版】
- 永磁同步電機(jī)控制系統(tǒng)設(shè)計(jì)與仿真畢業(yè)論文
- 傳感器與檢測(cè)技術(shù)課后習(xí)題和答案(陳杰)
- 藏歷新年ppt模版課件
- 基于PLC的自動(dòng)門控制系統(tǒng)
評(píng)論
0/150
提交評(píng)論