File Exchange

image thumbnail

inteFD

version 1.0.1 (2.14 KB) by Dr. Erol Kalkan, P.E.
Computes integration of discrete time-signal in frequency domain

17 Downloads

Updated 13 Feb 2019

View Version History

View License

Robust MatLAB function to integrate discrete time-signal in frequency domain by dividing its Fourier spectrum with -iw (w = cyclic frequency); also see diffFD (frequency-domain differentiation function).

Cite As

Dr. Erol Kalkan, P.E. (2021). inteFD (https://www.mathworks.com/matlabcentral/fileexchange/58999-intefd), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (12)

mz jin

nice function, thank U

Dr. Erol Kalkan, P.E.

Bojan: If you use + instead of - for the iw division operation, then the results will be out-of-phase.

Johannes Drechsel

Hi there, thank you so much for this function, it helped my understanding of Fourier transformation!
I have a small suggestion considering speed, though:

% Integrate in frequency domain by dividing spectrum with iomega
tic
for i = 1:numel(z)
znew(i) = z(i)*-1i/w(i);
end
testTimeFor = toc;

tic
zNewDot = z.*(-1i./w);
testTimeDot = toc;

testDiffDot = numel(find(znew ~= zNewDot));

tic
zNewBsx = bsxfun(@times, z, bsxfun(@rdivide, -1i, w));
testTimeBsx = toc;

testDiffBsx = numel(find(znew ~= zNewBsx));

You use a for-loop, which takes 6.3 s to compute my 20e6 data points, whereas .* takes 0.08 s and bsxfun takes 0.13 s. You could consider changing the code to make it faster.

All best :)

Bojan Brodic

Thanks for sharing Erol,

It runs smoothly but I'm a bit puzzled on the -iw division. From what I've been able to find on the Omega Arithmetic and looking trough the math part of the topic, the division should be done by +iw... Care to comment on this?

All best,
BB

Govind Narayan Sahu

Works really well, Sir.
Thank You

Dr. Erol Kalkan, P.E.

You may check DSP books for spectral domain analyses.

Long Huang

Dear sir, can you provide any references?

Marin Grubisic

Calvin Nisbet

Neelesh Kumar

Mathews George

Kohler Johnson

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!