October 10, 2013
I'm working on some code where I would like to full phase shift all frequencies 90 degrees on one batch of signals.
I've been looking up Hilbert Transforming, and FFT 'tweaking'; the Hilbert Transform is a bit baffling, while (suprisingly) the FFT option may actually be easier to do (I've yet to try it)
I know that FFT has real and imaginary number system, and also when I played with FFT Analysis (in Excel with addon pack), I created a Sine wave table, (just did 32 values, dividing up 360º by 32, and then doing sine/cosine checks etc, as cosine I know has 90º shift from sine), peformed the FFT on it, and go only a couple of values (as expected as the sine was pure, so know I got positive and negative values in the FFT frequency domain). I also found that if I swapped the real and imaginary numbers over then inverse FFT'd I got the sine to be a phase shifted version, without using sine/cosine etc.
The main purpose of this is for emulating surround sound from 2 channels (I've read that L + R = Centre, while Side is phase shifted 90 degrees and added to Left channel, and side shifted -90 degrees and added to Right channel)
Have you had any experience with swapping over the FFT values in C++, or applying Hilbert (or Dome filter as I've also found online as another description) in C++?
As always, any help is greatly appreciated
Most Users Ever Online: 36
Currently Browsing this Page:
Guest Posters: 1
Newest Members:sam, annaharris, Marie Weaver, kev, Steven, Mr Anderson, mguy, omelc
Moderators: W Pirkle: 143
Administrators: Tom: 65, JD Young: 80, Will Pirkle: 0, W Pirkle: 143