卷积、相关(matlab)
卷積、相關
本次博客主要是圖示化卷積過程,能夠進一步加深學者在學習過程中對數(shù)學卷積的理解。首先,再次回顧一下利用MATLAB產(chǎn)生指數(shù)序列 x[k]=Kαku[k], a=input('a='); K=input('K='); N=input('N='); k=0:N-1; x=K*a.^k; stem(k,x); xlabel('Time');ylabel('Amplitude'); title(['\alpha=',num2str(a)]);
本博客中令a,K,N分別為0.8,2,31;實驗產(chǎn)生的圖形為
離散序列的卷積和相關是數(shù)字信號處理中的基本運算,MATLAB提供
了計算卷積和相關的函數(shù)conv和xcorr,調(diào)用方式是:
y = conv (x, h)
y = xcorr (x, h)
x, h:分別為參與卷積和相關運算的兩個序列;
y:返回值是卷積或相關的結果;
下面利用MATLAB函數(shù) conv 計算x = [?0.5, 0, 0.5, 1],h = [1, 1, 1]這兩個序列的卷積
x = [-0.5, 0, 0.5, 1]; kx = -1:2; subplot(311),stem(kx,x); h = [1, 1, 1]; kh = -2:0; subplot(312),stem(kh,h); y = conv (x, h); k = kx(1)+kh(1) : kx(end)+kh(end); subplot(313),stem (k, y); xlabel ('k'); ylabel ('y');
在此處要注意一下k的取值范圍:
接下來再利用MATLAB函數(shù) xcorr 計算x = [?0.5, 0, 0.5, 1],h = [1, 1, 1]這兩個序列的相關。
x = [-0.5, 0, 0.5, 1]; kx = 0:3; subplot(311),stem(kx,x); h = [1, 1, 1, 1]; kh = 0:3; subplot(312),stem(kh,h); y = xcorr (x, h); k = kx(1)-kh(end) : kx(end)-kh(1); subplot(313),stem (k, y); xlabel ('k'); ylabel ('y');
在此處要注意一下k的取值范圍:
再利用MATLAB函數(shù) xcorr 計算x =[1, 1, 1],h = [?0.5, 0, 0.5, 1]這兩個序列的相關(即交換上面那個例子倆序列的順序)
可見,xcorr(x,h)=xcorr(h,x).
自相關
利用MATLAB函數(shù) xcorr 計算x = [?0.5, 0, 0.5, 1]的自相關
同理可得x = [1,1,1, 1]的自相關
結果分析部分
從數(shù)字信號處理的角度方面來看,自相關運算可以用卷積運算來代替;在此我就不擺復雜公式了,簡單的列舉幾個結論;
自相關函數(shù):r[-n]=r[n] 偶對稱序列,關于x=0對稱;可以用xcorr[-n]=xcorr[n]表示;
r[n]在n=0處的數(shù)值最大;
互相關函數(shù)xcorr[X,Y]=-xcorr[Y,X],可見xcorr[X,Y]與xcorr[Y,X]互為其翻轉序列。
總結
以上是生活随笔為你收集整理的卷积、相关(matlab)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 离散信号与系统分析(上)
- 下一篇: 信号处理之filter去噪