"robert bristow-johnson" <rbj@audioimagination.com> writes:> now, so much audio processing is done native that it really doesn't > matter.Native? You mean, on a PC platform? -- % Randy Yates % "Remember the good old 1980's, when %% Fuquay-Varina, NC % things were so uncomplicated?" %%% 919-577-9882 % 'Ticket To The Moon' %%%% <yates@ieee.org> % *Time*, Electric Light Orchestra http://home.earthlink.net/~yatescr
How to scale second order IIR filter koefficients?
Started by ●August 15, 2006
Reply by ●August 15, 20062006-08-15
Reply by ●August 15, 20062006-08-15
Randy Yates wrote:> "robert bristow-johnson" <rbj@audioimagination.com> writes: > > > now, so much audio processing is done native that it really doesn't > > matter. > > Native? You mean, on a PC platform?or Mac. or some UNIX platform. (are there still SGI computers still in use?) this is just to differentiate it from being processed by some rack-mounted box (like a Harmonizer) or some accelerator card. i think that all DirectX and probably all VST plugins are almost all PC and, for Mac, it's "Audio Units" or proprietary (like Pro Tools AudioSuite or Real-time AudioSuite). there's probably some new native DSP wrapping out that is vying for standardhood, but i dunno what it might be. there are too many of these dumb "standards" emerging with no salient reason for them to exist. but that is how some folks, like Waves, makes their money by offering a line of effects that have versions that work on any particular platform. r b-j
Reply by ●August 16, 20062006-08-16
> 0.99999988079071 = 1 - 2^-23, from which I inferred a 24-bit word length, > from which I inferred a 56K. It's a weak chain of reasoning, I'll > admit -- but are there any other 24-bit DSP chips out there?Yes, it's a 56303 I found out yesterday (reading old assembler examples) that the DSP has a "scale up - shift data one bit to the left"-option that can be used when the coefficients are bigger than +/- 1. So now I dont have to scale down my coefficients. From the file IIR7.ASM: "Since 1 bit scaling is used, all coefficients are the actual value for the filter divided by two." Thank you all for your help, it was interesting. Learning all the time.
Reply by ●August 16, 20062006-08-16
Gery wrote:> > 0.99999988079071 = 1 - 2^-23, from which I inferred a 24-bit word length, > > from which I inferred a 56K. It's a weak chain of reasoning, I'll > > admit -- but are there any other 24-bit DSP chips out there? > > Yes, it's a 56303 > > I found out yesterday (reading old assembler examples) that the DSP has a > "scale up - shift data one bit to the left"-option that can be used when the > coefficients are bigger than +/- 1.so that gives you a inherent coefficient range of -2.000000 to +1.9999999 that mode bit in the SR is just not worth it. if you're using the 56K to do filtering, you'll want to use noise-shaping in the truncation of the 48 bit result to 24 bit and then that mode just gets in the way. i've posted short snippets of how to do this in the past (been nearly 5 years since i've done 56K). i can dig it up if i have to.> So now I dont have to scale down my coefficients.you can never avoid that. you are *always* scaling your coefs by some factor if you're using a fixed-point processor.> From the file IIR7.ASM: > > "Since 1 bit scaling is used, all coefficients are the > actual value for the filter divided by two."and that is scaling your coefficients.> Thank you all for your help, it was interesting. Learning all the time.send me a legit email, i'll show you how to do this. r b-j
Reply by ●August 16, 20062006-08-16
I found some information about first order noise shaping at http://www.earlevel.com/Digital%20Audio/Biquads.html. Is it someting like that you ment? Or I can e-mail you. "robert bristow-johnson" <rbj@audioimagination.com> skrev i meddelandet news:1155740503.116377.222500@74g2000cwt.googlegroups.com...> > Gery wrote: > > > 0.99999988079071 = 1 - 2^-23, from which I inferred a 24-bit wordlength,> > > from which I inferred a 56K. It's a weak chain of reasoning, I'll > > > admit -- but are there any other 24-bit DSP chips out there? > > > > Yes, it's a 56303 > > > > I found out yesterday (reading old assembler examples) that the DSP hasa> > "scale up - shift data one bit to the left"-option that can be used whenthe> > coefficients are bigger than +/- 1. > > so that gives you a inherent coefficient range of -2.000000 to > +1.9999999 > > that mode bit in the SR is just not worth it. if you're using the 56K > to do filtering, you'll want to use noise-shaping in the truncation of > the 48 bit result to 24 bit and then that mode just gets in the way. > i've posted short snippets of how to do this in the past (been nearly 5 > years since i've done 56K). i can dig it up if i have to. > > > So now I dont have to scale down my coefficients. > > you can never avoid that. you are *always* scaling your coefs by some > factor if you're using a fixed-point processor. > > > From the file IIR7.ASM: > > > > "Since 1 bit scaling is used, all coefficients are the > > actual value for the filter divided by two." > > and that is scaling your coefficients. > > > Thank you all for your help, it was interesting. Learning all the time. > > send me a legit email, i'll show you how to do this. > > r b-j >
Reply by ●August 16, 20062006-08-16
Gery wrote:> I found some information about first order noise shaping at > http://www.earlevel.com/Digital%20Audio/Biquads.html. Is it someting like > that you meant?yes. the "Direct form I with first-order noise shaping" graphic is precisely what you want to do and you can do it quite cheaply with the 56K, but don't use that shift-left scaling bit. that mode will just get in your way.> Or I can e-mail you.recommended. r b-j