whats this line do?

3 次查看(过去 30 天)
itsik
itsik 2011-5-26
y=[zeros(10,20000),x,zeros(10,20000)];
y2=abs(fftshift(fft(real(y(2,:)))))/length(y);
thanks!!!

采纳的回答

Sean de Wolski
Sean de Wolski 2011-5-26
  • 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.

更多回答(1 个)

itsik
itsik 2011-5-26
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 个评论
Sean de Wolski
Sean de Wolski 2011-5-26
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)]

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by