|
|||
rola wrote: neotec wrote: ralphb wrote: Did you make any headway with the highpass filter?
Yep, after going through all the stuff again, I finally have got a 24dB resonant highpass filter ... my filter feedback path calculations were faulty^^ Can you show how to make a one pole highpass filter? BTW, I'm not sure about the DFII transposed BL integrator. Isn't the transpose the same as the original (should be)? Or was it about a different thing? (no time to read the whole thread) Regards, {Z} |
|||
| ^ | Joined: 11 Apr 2002 Member: #2472 | ||
|
|||
Z1202 wrote: BTW, I'm not sure about the DFII transposed BL integrator. Isn't the transpose the same as the original (should be)? Or was it about a different thing? (no time to read the whole thread)
Regards, {Z} DF II
Transposed DF II
I don't remember why I chose DF II transposed, but I think it was the best looking thing ... ^^ ---- ... when time becomes a loop ... --- Intel i7 3770k @3.5GHz, 16GB RAM, Windows 7 / Ubuntu 12.04, Samson MPL 1502, Yamaha QY70, nord micro modular, Korg Prophecy, Korg M1, Midisports USB 2x2, M-Audio Audiophile 2496 |
|||
| ^ | Joined: 22 Jan 2007 Member: #136980 Location: Germany | ||
|
|||
neotec wrote: Z1202 wrote: BTW, I'm not sure about the DFII transposed BL integrator. Isn't the transpose the same as the original (should be)? Or was it about a different thing? (no time to read the whole thread)
Regards, {Z} DF II Transposed DF II I don't remember why I chose DF II transposed, but I think it was the best looking thing ... ^^ |
|||
| ^ | Joined: 11 Apr 2002 Member: #2472 | ||
|
|||
Hi guys, sorry for some necrophilia, but may I ask a question about this?:
out = lastout; DO copyRealFilterBuffersToTemp(); newout = tempFilter(input - out * r); IF ABS(newout - out) < epsilon THEN copyTempBuffersToFilter(); out = newout; BREAK // we're done, exit the loop ENDIF // epsilon was not reached, continue iteration out = newout; LOOP lastout = out; The code above uses iterative approach to find value of out. But..., what is the reason here for implementing an iterative approach but not just calculate out once? Let me show what I mean: Suppose we have this simple filter: out = (input - lastOut) / 2; Wouldn't be right instead of lastOut just calculate out once and use that instead of lastOut? Like this: outTemp = (input - lastOut) / 2; out = (input - outTemp) / 2; Or same as: out = (input - (input - lastOut) / 2) / 2; Why outTemp is not the final value we want? So why to iterate or what is logic behind that? |
|||
| ^ | Joined: 18 Jun 2011 Member: #259027 Location: Ukraine | ||
|
|||
V@dim wrote: The code above uses iterative approach to find value of out. But..., what is the reason here for implementing an iterative approach but not just calculate out once?
Because tempFilter() may be non-linear, at which point it may become impossible to algebraically solve for the value of out. So you can't compute the final value of out analytically. |
|||
| ^ | Joined: 29 Jul 2008 Member: #185958 | ||
|
|||
ralphb wrote: V@dim wrote: The code above uses iterative approach to find value of out. But..., what is the reason here for implementing an iterative approach but not just calculate out once?
Because tempFilter() may be non-linear, at which point it may become impossible to algebraically solve for the value of out. So you can't compute the final value of out analytically. Hmm, now I see |
|||
| ^ | Joined: 18 Jun 2011 Member: #259027 Location: Ukraine | ||
|
|||
neotec: i still don't fully understand this voodoo here
your 1st order LP/HP filters use a "fixed" sample prediction which is of 1 iteration at all times? while the other post proposes the iteration method.. got lots of questions and i still don't get how this works exactly 1) your HP and LP filters, what can be done with them? can they be added together to form a cascaded filter? i guess yes, but then, i think feedback from the last stage to the first won't work without extra code, right? 2) the iterative method - filter buffers you mean the memory? x1 y1 y2 and so on, right? as far as i understand, for each sample, you use a temporary "filter" you copy the memory variables from the original filter then you process 1 sample with the temporary filter, but you don't let it store what it usually has to store in it's memory buffers then you check it's output.. at first i thought you process with a temporary filter, but i didn't notice you reset the memory every time, and i thought it would begin to resonate (depending on parameters) which seemed to not make sense.. but now it looks like you're processing the thing but NOT letting it resonate, this does make a bit sense if i'm right.. it still amazes me, how can you "predict" the output, my brain simply shuts down ---- It doesn't matter how it sounds.. ..as long as it has BASS and it's LOUD! |
|||
| ^ | Joined: 04 Sep 2006 Member: #118997 Location: 127.0.0.1 | ||
|
|||
Quote: it still amazes me, how can you "predict" the output, my brain simply shuts down
I think it's something like this: outTemp = (input - lastOut) / 2; out = (input - outTemp) / 2; But in another form... (Haven't read KeepTopology stuff because of busyness yet, so I may be wrong about that, I wonder where I get capability and time to read and to understand the paper) |
|||
| ^ | Joined: 18 Jun 2011 Member: #259027 Location: Ukraine | ||
|
|||
Just a quick note here. In doing the iterative approach one has to be careful and consider the convergence of the iteration. At extreme filter settings the most obvious kind of iteration (simple iteration) may fail to converge even in the linear case. Other iterative approaches have their own limitations as well. Even the trapezoidal integration (=bilinear transform) itself has similar problems, which again show up at the extreme settings.
Regards, {Z} |
|||
| ^ | Joined: 11 Apr 2002 Member: #2472 | ||
|
|||
Z1202 wrote: Just a quick note here. In doing the iterative approach one has to be careful and consider the convergence of the iteration. At extreme filter settings the most obvious kind of iteration (simple iteration) may fail to converge even in the linear case. Other iterative approaches have their own limitations as well. Even the trapezoidal integration (=bilinear transform) itself has similar problems, which again show up at the extreme settings.
Regards, {Z} Yes, I too have found this using the iterative approach. At standard settings it only takes around four iterations but at more extreme settings it can take anything upto 50 iterations. Oversampling and having a good starting prediction help though. |
|||
| ^ | Joined: 25 Apr 2005 Member: #66287 | ||
|
|||
Caco wrote: Z1202 wrote: Just a quick note here. In doing the iterative approach one has to be careful and consider the convergence of the iteration. At extreme filter settings the most obvious kind of iteration (simple iteration) may fail to converge even in the linear case. Other iterative approaches have their own limitations as well. Even the trapezoidal integration (=bilinear transform) itself has similar problems, which again show up at the extreme settings.
Regards, {Z} Yes, I too have found this using the iterative approach. At standard settings it only takes around four iterations but at more extreme settings it can take anything upto 50 iterations. Oversampling and having a good starting prediction help though. Regards, {Z} |
|||
| ^ | Joined: 11 Apr 2002 Member: #2472 | ||
|
|||
i'm not sure that neotec is all that frequent a visitor, or inclined to check private messages..
i'd like to use a filter derived from this thread, please contact me before your attorney does thank you for this discussion.! |
|||
| ^ | Joined: 29 Apr 2002 Member: #2639 Location: i might peeramid |
| KVR Forum Index » DSP and Plug-in Development | All times are GMT - 8 Hours |
|
Printable version |
Disclaimer: All communications made available as part of this forum and any opinions, advice, statements, views or other information expressed in this forum are solely provided by, and the responsibility of, the person posting such communication and not of kvraudio.com (unless kvraudio.com is specifically identified as the author of the communication).
Powered by phpBB © phpBB Group





