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 ?

2 visualizzazioni (ultimi 30 giorni)
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.

Risposte (3)

Star Strider
Star Strider il 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 Commenti
Gordon Cooper
Gordon Cooper il 1 Dic 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 il 1 Dic 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.

Accedi per commentare.


Gordon Cooper
Gordon Cooper il 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 il 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!

Translated by