Hello; I'm using the symbolic maths toolbox, specifically the fourier function. How do I access the positive and negative frequency components of the result separately ?

5 views (last 30 days)
Hello; I'm using the symbolic maths toolbox, specifically the fourier function. How do I access the positive and negative frequency components of the result separately ? I need to multiply the positive frequency components by -i and the negative frequency components by i, to compute the Hilbert transform. Note that Matlab's Hilbert function does not work with the symbolic maths toolbox.
Thank you.

Answers (3)

Star Strider
Star Strider on 30 Nov 2016
The fourier function will give you the symbolic expression for the Fourier transform of your time- or spatial-domain function. You then are free to calculate and plot it for the frequency values you wish.
Also consider using simplify (with the 'Steps',10 name-value pair) and matlabFunction to create a function you can use in numerical computations.
  3 Comments
Gordon Cooper
Gordon Cooper on 1 Dec 2016
Thanks for all the effort, but I'm using Matlab's symbolic Fourier transform function 'fourier' and I'm battling to manipulate the results.
Star Strider
Star Strider on 1 Dec 2016
This is my alternative approach. I don’t know what function you’re transforming, but in my experience, coding my own transform — as I did here — generally produceds the result I want.
The ‘problem’ with the fourier function is that it integrates from -Inf to +Inf. If your time-domain function has other than infinite support, this will cause problems. That’s the reason I generally code my transforms myself.
If I know the function has infinite support, fourier produces the appropriate result.

Sign in to comment.


Gordon Cooper
Gordon Cooper on 30 Nov 2016
Hello, yes, the fourier function gives me the symbolic expression for the FT of my symbolic function. But how do I access the positive and negative frequency components separately ? I want to multiply the former by -i and the latter by i, to implement a Hilbert transform.
thank you

Walter Roberson
Walter Roberson on 30 Nov 2016
Multiply the symbolic output by the Heaviside function on the frequency to get the positive components, and by Heaviside of negative of the frequency to get the negative components.

Community Treasure Hunt

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

Start Hunting!