Basic questions on conv function
이전 댓글 표시
Hi,
Suppose I have the following code:
t=(-1:.1:5); %Time axis
for i=1:1:length(t);
if t(i)<0
a=0;
h(i)= 0;
f(i) = 0;
else
a=1;
h(i) = a.*exp(-2.*t(i));
f(i) = a.*exp(-t(i)./2);
end
end
u=conv(f,h,'same')*.1;
plot(t,h,t,f,t,u1)
I'm just trying to plot the convolution of these two basic functions. When I look at examples people just use conv and plot the data along with the original functions. But it doesn't seem that easy, the convolution set is larger than the original dataset, and it's shifted. By shifted I mean the plot of conv vs. t has amplitude before t=0. How does one correct for such things to display the functions and the convolution on the same graph?
Thanks a lot, Charles
댓글 수: 3
Angus
2013년 6월 25일
Hey, not familiar myself with this topic but it seems interesting, I found an example that, while a bit long, might be helpful. Here as a PDF and here as a .m file. It seems that you should expect the convolution to have a larger range than either of the two functions individually.
If I come to understand this more I'll let you know, likewise I would be interested if you figure it out.
Cheers, Angus.
Angus
2013년 6월 25일
Also this explanation and example might be helpful. The example at the end is similar to what you are doing.
Cheers
Senaasa
2013년 6월 25일
채택된 답변
추가 답변 (3개)
Image Analyst
2013년 6월 26일
0 개 추천
You need to understand both what it's doing, and what you want. If you don't want data where the kernel is not completely overlapped with the main signal, then you can use the 'valid' option. If you want it to end when it's half overlapped, use the 'same' option. Most often I use the 'same' option because I want the data the same size as the original and don't really care too much what happens out near the edges. If you want the full convolution then you have to realize that the index no longer corresponds to the same part of the signal as the same number index did in the original signal. So if you're plotting, you have to take that into account.
카테고리
도움말 센터 및 File Exchange에서 Correlation and Convolution에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!