Fourier transform spatial domain-DSP
14 views (last 30 days)
Show older comments
Nimasha Pilippange
on 29 Jan 2024
Commented: Star Strider
on 29 Jan 2024
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 Comments
Accepted Answer
William Rose
on 29 Jan 2024
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 Comments
More Answers (0)
See Also
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!