Analog output signal after applying DFT

1 view (last 30 days)
Hello Team,
I need to apply Discrete Fourier Transform to a vector following the equation attached to this post. So I have written this code. The output will be a digital vector, am I right?
if true
% code
function [horFourier, verFourier] = DFT(hProfile, vProfile)
lengthH = length(hProfile);
lengthV = length(vProfile);
for xH=1:1:lengthH
sumH =0;
for yH=1:1:lengthH
sumH = sumH + hProfile(yH)*exp((-1j)*2*pi*yH*xH/lengthH-1);
end
horFourier(xH) = abs(sumH);
end
for xV=1:1:lengthV
sumV = 0;
for yV=1:1:lengthV
sumV = sumV + vProfile(yV)*exp((-1j)*2*pi*yV*xV/lengthV-1);
end
verFourier(xV) = abs(sumV);
end
end end
What should I do to have an analog signal? The output should be an analog signal so that I can compute the other steps.

Answers (1)

Walter Roberson
Walter Roberson on 7 Oct 2018
You can never use an analog signal for computation on a digital computer. There are computations that can be done at the analog level, including gain (voltage multiplier), filters (inductors, transformers, resistors), integration (charging a capacitor), and so on, and if you have external hardware that is doing those kinds of operations then you need a digital to analog converter of some sort.
  5 Comments
Matlab Student
Matlab Student on 8 Oct 2018
Good Morning Walter,
After digging deeper, I found they have plot the DFT coefficients as an analog signal (attached picture) hence they were able to provide the output of any value (integer or non-integer).
Can I do the same?
Walter Roberson
Walter Roberson on 8 Oct 2018
That picture does not show an analog signal. It shows a plot of dft coefficients, which are calculated as digital values.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!