Fresnel-like diffraction using linear convolution

7 visualizaciones (últimos 30 días)
David
David el 26 de Jun. de 2014
Comentada: David el 5 de Jul. de 2014
Hi guys,
I'm trying to calculate the convolution of a Gaussian function and a parabolic wavefront (like in Fresnel diffraction):
x=linspace(-30,30,100);
w=0.5;
k=1;
A=exp(-x.^2/w^2);
B=exp(-ii*k*x.^2);
C=conv(A,B);
plot(abs(C))
My question is, does the above code calculate the linear convolution (and not the circular convolution)?
The reason I ask is that I seems that C is composed of a number of peaks depending on the value of k. I wasn't expecting that, but then again my intuition is often defeated by such problems.
Cheers, David

Respuestas (1)

Matz Johansson Bergström
Matz Johansson Bergström el 5 de Jul. de 2014
Hello, perhaps this answer is late, but it might help someone else.
I have tried your code and I don't know much about Fresnel diffraction, but I can only see one peak. You never provided a value for ii, but it doesn't seem to matter in my case.
Instead, to answer what I do know about, conv is producing a linear convolution. To convince yourself you can check the definition or use FFT with zero padding.
So,
n=5;
a = rand(1,n);
tmp1 = conv(a,a); %Matlab conv
tmp2 = ifft(fft([a, 0*a]).*fft([a, 0*a])); %FFT with zero padding = linear convolution
and the results are that tmp1(1:n) and tmp2(1:n) are identical. So, conv is thus convolving linearly, just like for a zero padded FFT.
  3 comentarios
Star Strider
Star Strider el 5 de Jul. de 2014
Instead of your own ‘ii’ variable, use 1i. That is the preferred MATLAB designation for the imaginary operator.
David
David el 5 de Jul. de 2014
Hi Star Strider,
Yeah, I recently discovered 1i performs the same function. I'll adopt that in the future.
David

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by