Filter löschen
Filter löschen

Reducing four parllel program calls into one

2 Ansichten (letzte 30 Tage)
C Meek
C Meek am 9 Feb. 2012
Hi everyone,
I'm doing a mini-project on a reverberation unit, and part of the signal chain has the signal run through four parallel filters simultaneously and then combine their outputs.
This is easily done by having four separate program calls (one for each filter), then adding the outputs. But what I would like to do is design a program call which does all the relevant calculations at once.
At the minute my intuition is to try this with matricies, but I'm unsure on how to get about this. Anyone got any suggestions?
If I need to clarify more just let me know!
Thanks
Craig

Antworten (2)

Jason Ross
Jason Ross am 9 Feb. 2012
If you have the Parallel Computing Toolbox, look into spmd. It would allow you to send calculations to four different labs. You can use the "labIndex" property to control what happens on each one.
Make sure to look at the "Limitations", as there are some things that may may this not work for you.
  1 Kommentar
Walter Roberson
Walter Roberson am 10 Feb. 2012
I think the real question has nothing to do with PCT. I think the real question is whether and how multiple filters that are added together can be combined in to a single filter.

Melden Sie sich an, um zu kommentieren.


C Meek
C Meek am 12 Feb. 2012
Yea, Walter is right. I'll try elaborate a little bit more!
I have a signal y, which has to get fed into four parallel feed-forward comb filters. So y is fed into each, and the respective outputs are all added together.
I have already made the filters as another function call, feedforcomb(y,b,M). b is decay and M is delay, and have different values for each filter.
So, this is quite easy to do:
M=4799; b=0.742; y1=feedforcomb(y,b,M);
M=4999; b=0.733; y2=feedforcomb(y,b,M);
M=5399; b=0.715; y3=feedforcomb(y,b,M);
M=5801; b=0.697; y4=feedforcomb(y,b,M);
And then the output signal is y=y1+y2+y3+y4;
Essentially, my question is indeed if this can be combined into a single filter, with one program call performing all the necessary calculations at once.
I have been thinking about using matricies, but am not getting that far. Does anyone have any ideas?
Thanks!
Craig

Community Treasure Hunt

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

Start Hunting!

Translated by