版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、桂林電子科技大學實訓專用紙編號: 數(shù)字信號處理 實訓 (論文)說明書題 目: 用matlab實現(xiàn)兩信號的卷積 院 (系): 應用科技學院 專 業(yè): 電子信息工程 學生姓名: 蔣耀華 學 號: 0801130215 指導教師: 嚴素清 童有為 紀元法 2011 年 6 月 29日第2頁摘 要本文講述的是運用matlab軟件編寫線性卷積和循環(huán)卷積,運行程序并得到正確結(jié)果,附上運行結(jié)果圖讓大家參照對比。MATLAB是一款在數(shù)學類科技應用軟件中特別是在數(shù)值計算方面首屈一指的軟件,它可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理
2、與通訊、圖像處理、信號檢測、金融建模設計與分析等領(lǐng)域。而線性卷積和循環(huán)卷積在工程上的應用亦非常廣泛,在Matlab軟件處理下,實現(xiàn)任意兩個序列的線性和循環(huán)卷積對于工程上的輔助是相當重要的。卷積關(guān)系最重要的一種情況,就是在信號與線性系統(tǒng)或數(shù)字信號處理中的卷積定理。利用該定理,可以將時間域或空間域中的卷積運算等價為頻率域的相乘運算,從而利用FFT等快速算法,實現(xiàn)有效的計算,節(jié)省運算代價。本文從線性卷積和循環(huán)的定義出發(fā),分析其運算原理以及相關(guān)的公式、程序,著重介紹并分析了卷積的運算過程,讓大家明白什么是卷積。程序運行之后得到正確的結(jié)果,將運行后正確的波形圖圖放在本次論文中讓大家直觀的做比較。關(guān)鍵詞:
3、Matlab;線性卷積;循環(huán)卷積;波形圖;正確AbstractThis is about using matlab software linear convolution and cyclic convolution, operation 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
4、calculation of the leading software, which can be matrix calculation, and data mapping function, the realization of algorithms, creation of user interface, connected to other procedures, such as programming languages, the main application in engineering computing, control design, signal processing a
5、nd communications, image processing, signal detection, financial modeling in areas such as design and analysis. 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 ver
6、y important. Convolution relationship between the most important case, that is linear in the signal and digital 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
7、 operation, thus the use of FFT and other fast algorithms, the calculation of effective, cost-saving operation. From linear convolution and circulation of the definition, analyzes its operation principle and relevant formula, procedures, and emphatically introduces and analyses the convolution opera
8、tion process, let everyone know what convolution. After the program is running properly after operation, the results 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;Right目 錄引言11 MATL
9、AB軟件簡介11.1 MATLAB的優(yōu)勢11.2 MATLAB的組成32 卷積分析32.1 卷積的定義32.2 線性卷積的運算42.3 循環(huán)卷積的運算53 MATLAB設計線性卷積53.1 線性卷積的分析53.2 線性卷積的設計流程圖63.3 線性卷積的MATLAB設計源程序64 MATLAB設計循環(huán)卷積84.1 循環(huán)卷積的分析84.2 根據(jù)循環(huán)卷積分析設計流程圖84.3 根據(jù)循環(huán)卷積流程圖設計matlab源代碼105 總結(jié)11謝 辭12參考文獻13桂林電子科技大學實訓專用紙引言在泛函分析中,卷積(卷積)、旋積或摺積(英語:Convolution)是通過兩個函數(shù)f 和g 生成第三個函數(shù)的一種數(shù)
10、學算子,表徵函數(shù)f 與經(jīng)過翻轉(zhuǎn)和平移與g 的重疊部分的累積。如果將參加卷積的一個函數(shù)看作區(qū)間的指示函數(shù),卷積還可以被看作是“滑動平均”的推廣。卷積是分析數(shù)學中一種重要的運算,數(shù)學上的卷積在信號處理中有著非常廣泛的應用。只要這個系統(tǒng)是線性的,對于一維空間是這樣,二維、三維都是這樣,空間域信號是這樣,時間域信號也是這樣。一切信號傳遞處理系統(tǒng)都是卷積系統(tǒng),但是信號發(fā)生系統(tǒng)不像卷積這樣,因為信號發(fā)生系統(tǒng)不是一個無中生有的系統(tǒng),它需要消耗能量,而且是一個非線性系統(tǒng)。卷積關(guān)系最重要的一種情況,就是在信號與線性系統(tǒng)或數(shù)字信號處理中的卷積定理。利用該定理,可以將時間域或空間域中的卷積運算等價為頻率域的相乘運算
11、,從而利用FFT等快速算法,實現(xiàn)有效的計算,節(jié)省運算代價。明確了這些含義以后,我們認為信號放大系統(tǒng)是卷積,信號測量和計數(shù)系統(tǒng)也是積。進一步推廣照相系統(tǒng)是卷積,視覺系統(tǒng)也是卷積。世界上所有的系統(tǒng)都是卷積,例如脈搏是心跳的卷積,水壓的波動是泵水電動機轉(zhuǎn)動力的卷積,只要系統(tǒng)是線性的或近似線性的。卷積的概念還可以推廣到數(shù)列、測度以及廣義函數(shù)上去。因此,我們得到這樣一個一般性的結(jié)論卷積在我們的生活中無處不在,它的應用非常廣泛。1 MATLAB軟件簡介MATLAB名字由MATRIX和 LABORATORY 兩詞的前三個字母組合而成。顧名思義,就是矩陣實驗室( matrix laboratory )。MAT
12、LAB是一種高性能的科學計算軟件,并且廣泛應用于數(shù)學計算、算法開發(fā)、數(shù)學建模、系統(tǒng)仿真、數(shù)據(jù)分析可視化和程序設計集成化等,其具有強大的矩陣運算能力和極高的編程效率,而且使用我們熟悉的數(shù)字符號表示問題與答案,這對于初學者來說很容易上手,同時也方便了用戶對自己需要的應用程序的開發(fā),運行相應的程序還可以在圖形用戶界面的建立各種波形仿真圖。MATLAB是一個交互系統(tǒng),它的基本數(shù)據(jù)元素是數(shù)組,尤其適合解決用矩陣和向量組織數(shù)據(jù)的科學技術(shù)計算問題,對于各種信號的處理可以用不同的庫函數(shù)或者用戶自己編輯的程序來處理,由此可以得到不同的結(jié)果,并且還可以經(jīng)過圖形顯示來驗證。1.1 MATLAB的優(yōu)勢MATLAB編程
13、語言又稱為M語言,是一種交互式的高級編程語言,一種高階的矩陣/數(shù)組語言。它具有以下的特點和優(yōu)勢:(1)語法簡單和編程效率高(2)便于用戶使用和擴充(3)方便高校的矩陣和數(shù)組運算(4)方便的圖形和圖像操作功能(5)功能強大的工具箱1.1.1 語法簡單編程效率高MATLAB是一個高級的矩陣/陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c。新版本的MATLAB語言是基于最為流行的C+語言基礎(chǔ)上的,因此語法特征與C+語言極為相似,而且更加簡單,更加符合科技人員對數(shù)學表達式的書寫格式。使之更利于非計算機專業(yè)的科技人員使用。1.1.2 便于用戶使用和補充新版本的MATLAB可以利用
14、MATLAB編譯器和C/C+數(shù)學庫和圖形庫,將自己的MATLAB程序自動轉(zhuǎn)換為獨立于MATLAB運行的C和C+代碼。允許用戶編寫可以和MATLAB進行交互的C或C+語言程序作為強大的科學計算軟件,MATLAB提供了圖形界面的設計與開發(fā)功能,MATLAB中的基本圖形用戶界面對象分為三類:用戶界面控制對象、下拉式菜單對象和內(nèi)容式菜單對象。1.1.3 方便高校的矩陣和數(shù)組運算MATLAB是一個包含大量計算算法的集合。其擁有600多個工程中要用到的數(shù)學運算函數(shù),可以方便的實現(xiàn)用戶所需的各種計算功能。函數(shù)所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉
15、變換和數(shù)據(jù)的統(tǒng)計分析、工程中的優(yōu)化問題、稀疏矩陣運算、復數(shù)的各種運算、三角函數(shù)和其他初等數(shù)學運算、多維數(shù)組操作以及建模動態(tài)仿真等。在高校中,MATLAB以成為數(shù)學,信息,控制等諸多學科有關(guān)課程的有效教學工具1.1.4 方便圖形和圖像操作功能MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進行標注和打印。它對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應的功能函數(shù),保證了用戶不同層次的要求。1.1.5 功能強大的工具箱MATLAB對許多專門的領(lǐng)域都開發(fā)了功能強大的模塊集和工具箱。一般來說,它們都是由特定領(lǐng)域的專家開發(fā)的,用戶可以直接使用
16、工具箱學習、應用和評估不同的方法而不需要自己編寫代碼。1.2 MATLAB的組成MATLAB很重要的特點,是附加了一個解決專門問題的應用程序大家族,叫工具箱。它對于MATLAB用戶是非常重要的,能讓用戶學習和應用專門的技術(shù)。工具箱是MATLAB函數(shù)的全面集合,擴展了MATLAB解決特殊類型問題的環(huán)境。工具箱可以應用的領(lǐng)域包括信號處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡、磨具邏輯、子波、模擬等方面。MATLAB這個名字,代表MATRIX LABOROATOR.MATLAB系統(tǒng)由5個主要部分組成:1.2.1 開發(fā)環(huán)境這是一組工具程序,幫助用戶使用MATLAB功能和文件。許多工具是圖形用戶界面,包括MATLAB桌面
17、和命令窗口,命令的歷史窗口,編輯器和差錯程序,觀看幫助信息的瀏覽器,工作區(qū),文件和收索路徑。1.2.2 MATLAB的數(shù)學函數(shù)庫這是一個計算算法的巨大集合,范圍從初等函數(shù),入求和、正弦、余弦和復數(shù)運算,到更高級別的函數(shù),像矩陣求逆、矩陣特征值、貝賽爾函數(shù)和快速傅里葉變換。1.2.3 MATLAB語言一個高級的矩陣和數(shù)組運算,具有控制流語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出、面向?qū)ο蟮某绦蛱攸c。用這種語言能夠快速建立運行快且短小的程序,也能建立大的和復雜的應用程序。1.2.4 圖形MATLAB有廣泛的程序,用于把向量和矩陣顯示為圖形,以及注解和打印這些圖像。它包括高級功能,用于二維和三維數(shù)據(jù)的形象化、
18、圖像處理、動畫和演示圖形;包括低級功能,讓用戶完全定制圖形外觀,以及為用戶的應用程序建立完全的圖形用戶界面。1.2.5 MATLAB應用程序接口(API)這是一個程序庫,允許用戶寫C和FORTRAN程序與MATLAB交互。其中包含的程序,用于從MATLAB調(diào)用例行程序,調(diào)用MATLAB作為計算引擎,以及讀取MAT文件。2 卷積分析2.1 卷積的定義任意信號f(t)都可以根據(jù)不同需要進行不同的分解。如信號f(t)可以分解為直流分量和交流分量,也可以分解為奇分量和偶分量,或分解為實部分量和虛部分量。如果信號費解為沖擊信號,那么信號分解為一系列不同強度,不同時延的沖擊信號的疊加,這個過程稱為卷積積分
19、。一般而言,如果有兩個函數(shù)和,則它們的積分稱為與的卷積積分,簡稱卷積,表達式為:,即:2.2 線性卷積的運算卷積運算是線性時不變系統(tǒng)分析的重要工具,很多濾波器的設計中都要用到卷積運算。給出線性卷積運算的定義,設有離散信號x(n)和y(n),其線性卷積為:xym=-+xmym-n線性卷積有四步運算:卷積運算時,y(n)要先反折得到y(tǒng)(-n);m>0表示y(-n)序列右移,m<0表示左移,不同的m表示不同的xy(m)值。線性卷積運算簡潔表示為:xym=xn*yn式中 “”表示線性卷積運算符。由線性卷積的定義_xy (m)=-+xmy(m-n),等式右邊是乘積求和形式,因而考慮能否用矩陣
20、相乘的形式來表示線性卷積。假設序列x(n) 長度為4點,y(n) 長度為3點,x(n) 除區(qū)間之外皆為零,y(n) 除區(qū)間之外皆為零,用矩陣的形式來表達線性卷積Z: y1 0 0 0 y2 y1 0 0 x1Z= y3 y2 y1 0 x20 y3 y2 y1 x30 0 y3 y2 x40 0 0 y3 x(n),y(n)序列長度不同,則將短序列補0使兩者相同。2.3 循環(huán)卷積的運算有限長序列的循環(huán)移位是指y(m-n)RN(n),也就是先讓序列y(n)以N為周期進行周期延拓,再進行反折,然后朝右移位,只朝一個方向移位的原因是:對周期序列向右移動一個位置,也就相當于向左移動了N1個位置,最后取
21、(0,N1)的N個值就得到了循環(huán)移位后的N個序列值。設有序列x(n)和y(n),其N點循環(huán)卷積為:xym=n=0N-1xnym-nNRN(n)由于循環(huán)移位的關(guān)系最后得到的循環(huán)卷積的長度就是N點,m取0,1,2,N-1。循環(huán)卷積的簡潔表示為:xym=x(n)y(n)式中表示循環(huán)卷積運算符。例如N=4的循環(huán)卷積如下: x1 x2 x3 x4 y1Z= x4 x1 x2 x3 y2 x3 x4 x1 x2 y3 x2 x3 x4 x1 y4其中,Nlength(y(n)。值得說明的是,當Nlength(y(n)+ length(x(n)-1時,圓周卷積的值等于線性卷積。3 MATLAB設計線性卷積3
22、.1 線性卷積的分析兩個序列的線性卷積可以分為下列4個步驟:(1)反折:先將x(n)和h(n)的變量n換成m,變成x(n)和h(m),再將h(m)以y軸為對稱軸反褶成h(-m)。(2)移位:將h(-m)移位n,得h(n-m)。當n為正數(shù)時,右移n位;當n為負數(shù)時,左移n位。(3)相乘:將h(n-m)和x(m)的對應點值相乘。(4)求和:將以上所有對應點的乘積累加起來,即得y(n)。3.2 線性卷積的設計流程圖根據(jù)線性卷積的分析,可設計流程圖如圖3.1所示n=1:Ly(n)=0輸入序列X1,X2線性卷積N1ßlength(x1)M ßlength(x2)卷積長度L=N1+M-
23、1m=1:Mk=n-m+1k>=1&k<=N1y(n)=y(n)+X2(m)*X1(k)END卷積結(jié)果y(n) N Y m=M n=L圖3.1線性卷積流程圖3.3 線性卷積的MATLAB設計源程序本次實訓的源程序如下:function y=myconv(x1,x2)x1=input('x1=');x2=input('x2=');N1=length(x1);M=length(x2);L=N1+M-1;for(n=1:L) y(n)=0; for(m=1:M) k=n-m+1; if(k>=1&k<=N1) y(n)=y(n)
24、+x2(m)*x1(k); end endendy1=conv(x1,x2);nx1=0:N1-1;nx2=0:M-1;ny=0:L-1;subplot(231);stem(nx1,x1,'.k');xlabel('n');ylabel('x1(n)');grid on;title('序列x1')subplot(232);stem(nx2,x2,'.k');xlabel('n');ylabel('x2(n)');grid on;title('序列x2')subplot
25、(233);stem(ny,y,'.k');xlabel('n');ylabel('y(n)');grid on;title('線性卷積')subplot(234);stem(y1');xlabel('n');ylabel('y1');grid on;title('conv直接卷積')運行程序,輸入序列x1和x2x1=-1 2 3 -5x2=6 7 -10 4 12線性卷積結(jié)果:-6 5 42 -33 -69 86 16 -60運行結(jié)果如圖3.2所示:圖3.2線性卷積運行結(jié)果
26、4 MATLAB設計循環(huán)卷積4.1 循環(huán)卷積的分析兩個序列的循環(huán)卷積可以分三個步驟完成:(1)初始化:確定循環(huán)點數(shù)N,測量輸入2個序列的長度,長度小于N的在后面補0。(2)循環(huán)右移函數(shù):將序列x(n)循環(huán)右移,一共移N次(N為循環(huán)卷積的循環(huán)次數(shù)),最后將每次循環(huán)成的新序列組成一個矩陣V。(3)相乘:將x(n)移位后組成的矩陣V與第二個序列h(n)對應相乘,即得循環(huán)卷積結(jié)果。4.2 根據(jù)循環(huán)卷積分析設計流程圖循環(huán)卷積流程圖如圖4.1所示:(1) 主流程圖循環(huán)卷積輸入序列X1,X2輸入循環(huán)點數(shù)N調(diào)用右移循環(huán)函數(shù)V=circlel(X2)Z=X1*V循環(huán)卷積結(jié)果Z ENDX2(k)=X2(K-1)X
27、2(1)=L;實現(xiàn)循環(huán)右移功能循環(huán)函數(shù)V=circlel(X2)A=length(X2)V=zeros(A A)i=1:Aj=1:AV(i.j)=X2(j)L=X2(A)K=A:-1:2(2)循環(huán)函數(shù)流程圖 K=1當i=A圖4.1循環(huán)卷積流程圖4.3 根據(jù)循環(huán)卷積流程圖設計matlab源代碼function y=myconv(x1,x2)x1=input('x1=');x2=input('x2=');N=input('N=');x1=x1,zeros(1,N-length(x1);x2=x2,zeros(1,N-length(x2); V=cir
28、clel(x2)Z=x1*V;stem(Z');xlabel('n');ylabel('Z');grid on;title('循環(huán)卷積結(jié)果Z')運行程序,輸入序列x1,x2x1=-1 2 3 -5x2=6 7 -10 4 12循環(huán)卷積結(jié)果10 -55 42 -33 -69 86運行圖形如圖4.2所示圖4.2循環(huán)卷積運行結(jié)果5 總結(jié)總結(jié)本次數(shù)字信號處理實訓,我受益匪淺。首先就是方案的確定。由于這個學期我學習了DSP這門課程,課程中我了解到要實現(xiàn)兩信號的卷積,可以通過定義來實現(xiàn),也可以通過DFT來計算線性卷積。對于有限長序列,存在兩種形式的卷積:線性卷積與圓周卷積。由于圓周卷積可以采用DFT的快速算法快速傅里葉變換進行運算,運算速度上有很大的優(yōu)越性。其中,設計線性卷積有4個步驟,反折、移位 、相乘、求和,而循環(huán)卷積則是通過循環(huán)移位后得到的矩陣與序列相乘。根據(jù)上DSP課上老師講的求法,畫出了思路的流程圖,然后根據(jù)流程圖寫出程序,事半功倍。將結(jié)果與直接調(diào)用matlab自帶的函數(shù)比較,結(jié)果顯示,自己設計的程序是正確的。通過這次實訓,我對線性卷積和循環(huán)的定義、原理、以及實現(xiàn)方法都有了深入的認識。同時也對MATLAB軟件產(chǎn)生了更加濃厚的興趣。在做完本次實訓要求的線性卷積之后,我運用了同樣的思路,設計出了循環(huán)卷積,算是對本次實訓
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于金屬材料服務協(xié)議合同模板
- 國內(nèi)金融租賃合同金額
- 2024-2025學年新教材高中政治第2單元認識社會與價值選擇第4課第1框人的認識從何而來練習含解析部編版必修4
- 腦梗死手術(shù)后病人的護理
- 2024熱水工程合同書范本
- 2024ui設計外包文檔ui設計外包合同范本
- 專題13 習作訓練(講義+試題) -2023年四升五語文暑假銜接課(統(tǒng)編版)
- 2024廣告服務合同范本
- 2024建筑工程設計居間合同范本
- 2024建筑工程拆遷房屋合同格式工程
- 知識產(chǎn)權(quán)結(jié)構(gòu)化面試問題
- 人才梯隊(人才庫、人才盤點)建設方案
- 《春夏秋冬》教學設計與指導課件(第一課時)
- 《小學教育概統(tǒng)》課件
- 市場工作研討會接待方案
- 2024版職業(yè)發(fā)展規(guī)劃醫(yī)療人員的成長路徑和晉升機會培訓課件
- GH/T 1420-2023野生食用菌保育促繁技術(shù)規(guī)程松茸
- 工程造價審計投標方案(技術(shù)標)
- PaaS開發(fā)運營三級理論考試題庫(匯總)
- 中藥對婦科疾病的作用研究
- 《國家基本專業(yè)檔案目錄》解讀
評論
0/150
提交評論