Avatar

Please consider registering
Guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed sp_TopicIcon
SSE / SIMD processing for filters?
No permission to create posts
September 27, 2016
4:20 pm
Avatar
djfresha
Member
Members
Forum Posts: 14
Member Since:
October 10, 2013
sp_UserOfflineSmall Offline

Hi to all,

Been looking into refining some DSP on a couple of products I'm currently selling, and have the ability to do SSE / SIMD processes, hopefully to alleviate CPU usage as much as possible, whilst keeping the same result signal.

My first query is on a 16 band EQ (fixed frequencies). Now I know in 'traditional' linear sense of coding you would go filter 1 > filter 2 > ... > filter 15 > filter 16 then output final results. What I was thinking was about changing the peaking EQ blocks for BP blocks, and use the Gain control of the GUI to give a positive or negative output of those bands (if a positive gain then standard BP signal, if negative gain then simply flip the BP signal polarity). I would then have all the BP band 'results' adding to the original signal (so to boost or cut depending on the gain level and the polarity of each BPF)

If doing 4 blocks of 4 using SIMD, in theory the ideal would be 4 times faster (at most, even twice as fast is acceptable for me) under the same code process compared to the 16 cascaded version. this could help when multiple plugins are batched in one signal chain (16 band + 16 band)

Does this seem feasible to do this sort of process? I know cascaded needs the output of previous filter to the input of the next for true cascade style, but if this helps with peaking EQ types, perhaps this is a good way to help bring that DSP down a touch?

Thanks

September 27, 2016
5:06 pm
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
sp_UserOfflineSmall Offline

Yes, you can do a graphic EQ with parallel blocks to take advantage of parallel processing. Check out the reference from my FX book for Lane et. al. "DSP Filters" in my FX book; it includes a parallel version.

The original manuscript for the FX book did have both the parallel and cascaded versions and I chose to only include the cascaded version due to space limitations.

- Will

Forum Timezone: America/New_York

Most Users Ever Online: 36

Currently Online:
3 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Skyler: 47

Peter: 41

Derek: 41

clau_ste: 39

Frodson: 38

Gwen: 32

EZB: 24

lppier: 23

Msaldaña: 18

Jorge: 17

Member Stats:

Guest Posters: 1

Members: 476

Moderators: 1

Admins: 4

Forum Stats:

Groups: 11

Forums: 30

Topics: 482

Posts: 1876

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