whats this line do?

1 view (last 30 days)
itsik
itsik on 26 May 2011
y=[zeros(10,20000),x,zeros(10,20000)];
y2=abs(fftshift(fft(real(y(2,:)))))/length(y);
thanks!!!

Accepted Answer

Sean de Wolski
Sean de Wolski on 26 May 2011
  • It defines y as x padded with 20000 columns on both sides
  • It takes the DFT of the real part of the second row of y, shifts it to 0 takes the absolute value and divides by the length of the row.

More Answers (1)

itsik
itsik on 26 May 2011
ok so what this is do? where is the fft take a place? lets say x=[10 X 1000]
y=[zeros(10,20000),x,zeros(10,20000)];
y2=abs(fftshift(fft(real(y(2,:)))))/length(y);
y3=abs(fftshift(fft(real(y(3,:)))))/length(y);
y4=abs(fftshift(fft(real(y(4,:)))))/length(y);
i just cant understand that line : y=[zeros(10,20000),x,zeros(10,20000)];
thanks!
  1 Comment
Sean de Wolski
Sean de Wolski on 26 May 2011
It zero pads x with 10x20000 zeros on each side (columnwise)
try it on a small scale
x = magic(3);
y = [zeros(3,10),x,zeros(3,5)]

Sign in to comment.

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!