If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
Hilbert Shifter
36 posts
• Page 1 of 4 • 1, 2, 3, 4
Hilbert Shifter
A Hilbert shifter creates two signals with a relative phase shift of 90 degrees for all Fourier components in the audible range. It can be used for e.g. single-sided modulation or frequency shifting. As opposed to pitch shifting, frequency shifting alters harmonic overtones so the result may not always sound musical.
This Hilbert shifter is based on Tronic's coefficients calculator. It is rather high quality: covered range is from 30 Hz to 22 kHz (at 44k sample rate), sideband suppression is around 90 dB. However, the implementation is optimised so the CPU load is not at all critical.
Merry Christmas!
MV
This Hilbert shifter is based on Tronic's coefficients calculator. It is rather high quality: covered range is from 30 Hz to 22 kHz (at 44k sample rate), sideband suppression is around 90 dB. However, the implementation is optimised so the CPU load is not at all critical.
Merry Christmas!
MV
- Attachments
-
- HilbertShifter.fsm
- (101.81 KiB) Downloaded 1734 times
Last edited by martinvicanek on Wed Dec 24, 2014 12:20 pm, edited 1 time in total.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Hilbert Shifter
Dammit, crashs 3.0.7 immediately.
EDIT: Not related to 3.0.7, happens in 3.0.6 as well
EDIT: Not related to 3.0.7, happens in 3.0.6 as well
Last edited by MyCo on Wed Dec 24, 2014 9:08 am, edited 1 time in total.
-
MyCo - Posts: 718
- Joined: Tue Jul 13, 2010 12:33 pm
- Location: Germany
Re: Hilbert Shifter
I'm on Win7 now.
I faced the same instant crash when double clicking the .fsm.
There is no crash when opening Flowstone, then "File" then "Open".
Nice piece of art, indeed.
What kind of instructions are : fld a00[0]; fstp a1[0]; fld a01[0]; fstp a1[1];
Say I build an envelope detector using the sqrt(sin^2 + cos^2) identity.
Will I get a proper result, knowing that both sides (odd and even) get phase-shifted, hence time-domain modified?
many thanks,
and happy Christmas,
Steph
I faced the same instant crash when double clicking the .fsm.
There is no crash when opening Flowstone, then "File" then "Open".
Nice piece of art, indeed.
What kind of instructions are : fld a00[0]; fstp a1[0]; fld a01[0]; fstp a1[1];
Say I build an envelope detector using the sqrt(sin^2 + cos^2) identity.
Will I get a proper result, knowing that both sides (odd and even) get phase-shifted, hence time-domain modified?
many thanks,
and happy Christmas,
Steph
- steph_tsf
- Posts: 249
- Joined: Sun Aug 15, 2010 10:26 pm
Re: Hilbert Shifter
Weird, as Steph wrote, loading it from within FS doesn't crash.
fld x[y] loads a float value from x (sse channel y) on a stack
fstp x[y] stores the latest stack value into x (sse channel y) and removes it from stack
What kind of instructions are : fld a00[0]; fstp a1[0]; fld a01[0]; fstp a1[1];
fld x[y] loads a float value from x (sse channel y) on a stack
fstp x[y] stores the latest stack value into x (sse channel y) and removes it from stack
-
MyCo - Posts: 718
- Joined: Tue Jul 13, 2010 12:33 pm
- Location: Germany
Re: Hilbert Shifter
Ouch, that's bad. No problems here, though. I am still with FS 3.0.3. No backward cpmpatibility?
P.S. I had forgotten to eliminate denormals in the original schematic. Fixed now.
P.S. I had forgotten to eliminate denormals in the original schematic. Fixed now.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Hilbert Shifter
Is it possible to create an allpass filter with 90° phase shift form the original signal?
I know Nyquist and DC components can't get phase shifted, but perhaps if the filter was also HLP/LPF to remove these elements. It would be very useful in phase-alignment tools (making 0-360° phase shifter).
I know Nyquist and DC components can't get phase shifted, but perhaps if the filter was also HLP/LPF to remove these elements. It would be very useful in phase-alignment tools (making 0-360° phase shifter).
- KG_is_back
- Posts: 1196
- Joined: Tue Oct 22, 2013 5:43 pm
- Location: Slovakia
Re: Hilbert Shifter
Yes, you can do that with a FIR filter, however at the cost of more latency and much more CPU load.KG_is_back wrote:90° phase shift form the original signal
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Hilbert Shifter
Confirming. DbClick on schematic - crashes Flowstone. Opening schematic from within Flowstone - opens it normally. Some initialization problem was probably introduced in FS. Sent to Malc.
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
Feel free to donate. Thank you for your contribution.
- tester
- Posts: 1786
- Joined: Wed Jan 18, 2012 10:52 pm
- Location: Poland, internet
Re: Hilbert Shifter
Are you using the same filter structure that Olli Niemitalo used? I tried plugging the coefficients into an existing allpasses and it didn't work. I'm having trouble deciphering the code.
The performance is very impressive.
The performance is very impressive.
- cbbuntz
- Posts: 10
- Joined: Sat May 07, 2011 5:50 pm
36 posts
• Page 1 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: No registered users and 14 guests