Analog output signal after applying DFT

1 次查看(过去 30 天)
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.

回答(1 个)

Walter Roberson
Walter Roberson 2018-10-7
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 个评论
Matlab Student
Matlab Student 2018-10-8
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 2018-10-8
That picture does not show an analog signal. It shows a plot of dft coefficients, which are calculated as digital values.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by