Discrete Fourier transform of signal product equals to periodic convolution of signal DFTs?

115 Views Asked by At

I am referring to this page https://en.wikipedia.org/wiki/Discrete_Fourier_transform#Circular_convolution_theorem_and_cross-correlation_theorem

I generated a simple case where $y=sinc(x_N), Y=DFT(y)$, $x_N$ is a discrete signal of length $N$. I am trying to validate if $DFT(y^2)=Y*Y$, where $*$ denotes periodic convolution. But I guess there should be some normalization w.r.t signal length as well. I wrote a Matlab script:

x = linspace(1,100,1000);
y = sinc(x);
fy = fft(y);    %DFT of original y
cfy2 = cconv(fy, fy);   % circular convolution of DFT(y) with itself

y2 = y.^2;  
fy2 = fft(y2);  % directly compute DFT of y^2

figure
hold on;
plot(abs(cfy2(1:length(fy2)))/length(y)) % normalized by length of signal
plot(abs(fy2));

The result is that they do not match. See curves here. This property should hold theoretically. But can someone tell me where did I do wrong?