Fourier transform spatial domain-DSP
2 次查看(过去 30 天)
显示 更早的评论
I am trying to implement fft on 33 signals collected from Cadence(noise signals). I need to use it over the spatial domain. Therefore I tried to do the fft from scratch without using the fft function in Matlab because when I used that it gives the fft output in the temporal domain. I am not getting the output I am expecting when I use (f(x)*e^-jwx). The signals are in the form of 33x501 form; 501 samples from each signal.
I would like some help here.
This is the part of the code where fft is implemented.
for k = 1:33
w = 1 * (k-18)/17;%continuous range of spatial
x=1:1:501;
H(k ,:) = 1000*nnt(k,:)*(sum(exp(-j*w*x))) ; %nnt is the input noise signal matrix
end
0 个评论
采纳的回答
William Rose
2024-1-29
Matlab's fft() will work fine on spatial data. The only difference is in the interpretation of the transform. The Fourier transform of a function of time is a function of temporal frequency; the Fourier transform of a function of space is a function of spatial frequency.
I understand that nnt is a 33x501 array. It appears that you want to compute the Fourier transform of each row of nnt separately. Then you could do
nnt=randn(33,501); % nnt= 33 noisy signals
NNT=zeros(size(nnt)); % allocate array for Fourier transforms
for i=1:33
NNT(i,:)=fft(nnt(i,:));
end
Each row of NNT is the Fourier transform of the corresponding row of nnt.
5 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!