**例2.4 **分別調(diào)用conv()函數(shù)和自己編寫程序計算f1(t)=cos(t)[u(t)-u(t-10)]和f2(t)=[exp(t)+exp(2t)][u(t)-u(t-10)]的卷積,比較兩種計算的結(jié)果。
T=0.1; %%%時間步長,這里可以理解為抽樣函數(shù),
對函數(shù)進(jìn)行抽樣,T越小函數(shù)越精細(xì)
t1=0:T:10; %%%時間序列,建立一個數(shù)組
f1=cos(t1); %%%信號f1
t2=t1;
f2=exp(t2)+exp(-2*t2);%%%信號f2
f=T*conv(f1,f2); %%%計算卷積,注意這里乘步長
k0=t1(1)+t2(1); %%%卷積輸出序列的起始
k3=length(f1)+length(f2)-2;
t=k0:T:(k0+T*k3); %%%卷積結(jié)果對應(yīng)的時間向subplot(3,1,1); %%%繪制信號f1,subplot函數(shù)的用法是一次可以繪制多個函數(shù)圖片。subplot(m,n,p),m是輸出圖片的行數(shù),n是輸出函數(shù)的列數(shù),p是該函數(shù)在第幾行出現(xiàn)
plot(t1,f1,'linewidth',2);
title('f1(t)');
subplot(3,1,2); %%%繪制信號f2
plot(t2,f2,'linewidth',2);
title('f2(t)');
subplot(3,1,3); %%%繪制卷積結(jié)果
plot(t,f,'linewidth',2);
title('convolution of f1(t)and f2(t)');
MATLAB輸出的卷積結(jié)果
用自己編寫函數(shù)的方法
for k=1:lf1+lf2-1
y(k)=0; %%%y賦初始值
for ii=max(1,k-(lf2-1)):min(k,lf1)
y(k)=y(k)+f1(ii)*f2(k-ii+1); %%%信號相乘和求和
end
yzsappr(k)=T*y(k); %%%用乘和加運算來近似積分運算
end
自己編寫函數(shù)其實就是實現(xiàn)matlab中conv()函數(shù)。這個函數(shù)的功能類似于圖形法求函數(shù)卷積。拿多項式求卷積為例,假設(shè)p=[1,2,3],q=[1,1]。那么其實conv(p,q)的結(jié)果就是對應(yīng)的多項式乘積。
換個函數(shù)求卷積試試
按照書上的例題折騰完,換一個函數(shù)求一下卷積試一下。
隨便弄了個二次函數(shù)上去,小編學(xué)藝不精,還要繼續(xù)學(xué)習(xí)。
-
信號處理器
+關(guān)注
關(guān)注
1文章
258瀏覽量
25772 -
MATLAB仿真
+關(guān)注
關(guān)注
4文章
176瀏覽量
20387
發(fā)布評論請先 登錄
FFT與DFT計算時間的比較及圓周卷積代替線性卷積的有效性實
畢業(yè)設(shè)計_分段卷積MATLAB仿真與DSP實現(xiàn)
卷積神經(jīng)網(wǎng)絡(luò)—深度卷積網(wǎng)絡(luò):實例探究及學(xué)習(xí)總結(jié)
Matlab/Simulink電路建模學(xué)習(xí)筆記
【連載】深度學(xué)習(xí)筆記9:卷積神經(jīng)網(wǎng)絡(luò)(CNN)入門
卷積神經(jīng)網(wǎng)絡(luò)的權(quán)值反向傳播機(jī)制和MATLAB的實現(xiàn)方法
如何去理解CNN卷積層與池化層計算?

MATLAB實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的源代碼
卷積神經(jīng)網(wǎng)絡(luò)算法代碼matlab
cnn卷積神經(jīng)網(wǎng)絡(luò)matlab代碼
卷積神經(jīng)網(wǎng)絡(luò)計算過程和步驟
深度學(xué)習(xí)中反卷積的原理和應(yīng)用
如何使用MATLAB實現(xiàn)一維時間卷積網(wǎng)絡(luò)

評論