天天看點

門信号卷積matlab,MATLAB信号卷積

利用MATLAB實作信号的時域卷積

一.引言

MATLAB具有強大的圖形處理功能及符号運算功能,為實作信号的可視化以及時域分析提供了強有力的工具,是以我們要利用MATLAB程式設計輔助分析與計算。現在我們利用MATLAB 程式設計輔助計算連續時間信号、離散時間信号的卷積。

我們利用MATLAB編制一個M函數dconv(),該函數可以計算離散序列x1n 和x2n的卷積xn=x1n*x2n,此程式要計算xn,傳回xn的非零點對應向量,還将繪制出序列x1n, x2n和xn 的時域波形圖;我們要驗證并調用這個dconv()函數計算“hn=xn=un-u(n-4)”這兩個序列的卷積和運算,并繪制圖像。

現在我們再利用MATLAB編制一個計算連續時間信号卷積積分的M函數ddconv(),此函數要計算出兩個連續信号f1(t)和f2(t)的卷積積分f (t)的近似值,并繪制f1(t)、f2(t)和f (t)的時域波形圖。編完之後,我們利用ddconv()函數求

“et=ut+12-ut-1,ht=12t[ut-ut-2]”這兩個連續時間信号的卷積積分運算,并繪制圖形。

二.基本原理

對于信号的時域卷積有:

(1)離散時間信号的卷積和:它的定義為,離散時間信号x1n和x2n的卷積和為:

xn=x1n*x2n=m=-∞∞x1(m)x2n-m

設序列x1n在區間n1~ n2非零,序列x2n在m1~ m2非零,那麼就有

xn=x1n*x2n的非零區間就為n1+m1~(n2+m2)并且區間長度為n1+m1-n2+m2+1,則隻需計算序列xn的非零區間就可以表示整個序列.

那麼由上可知,在利用MATLAB的conv()函數的時候就要注意其卷積後的區間長度已經發生變化,在繪制卷積後的圖像的時候就要有意識的先減去擴大的區間長度,不然繪制的卷積後的時域圖像就是錯誤的,和橫坐标不是正确的對應關