Analog output signal after applying DFT
1 view (last 30 days)
Show older comments
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.
0 Comments
Answers (1)
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
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.
See Also
Categories
Find more on Transforms 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!