Computing wavenumber using fft2

13 次查看(过去 30 天)
Lucia Gonzalez
Lucia Gonzalez 2019-5-13
Hi everyone,
I am working on an attenuation study using 52 shots with 51 receivers (traces). I already calculated the amplitude spectra using fft but now I want to calculate wavenumber which for what I read, I have to use fft2. However, I am having trouble because I cant seem to display results. nori2 is the matrix that is storing everything and it has 3 dimensions because in the filt_traces variable I stored the 52 shots with their respective time and traces, in this case 51. In other words, filt_traces is a 52x5001x51 matrix and I wanted nori2 to be the same size. Again, I exactly use this code for amplitude spectra and it worked, bt it seems not to work for fft.This is my code:
freq=0:20;
nori2=zeros(size(filt_traces,1),size(filt_traces,2),size(filt_traces,3));
for j=1:52
for i=1:51
data1=squeeze(filt_traces(j,:,i));
dataf1=fft2(data1);
%half1=dataf1(1:5001);
nori2(j,:,i)=data1;
end
imagesc(statID,freq,log(squeeze(nori2(j,:,:))))
title('Amplitude Spectra');
xlabel('Receiver number');
ylabel('Frequency(Hz)');
colormap(jet);
colorbar
pause
clf
end
Thank you!
Lucia

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by