Fourier transform spatial domain-DSP

7 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

William Rose
William Rose il 29 Gen 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 Commenti
Nimasha Pilippange
Nimasha Pilippange il 29 Gen 2024
@Star Strider Thank you I think I needed that

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Measurements and Spatial Audio in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by