DSPRelated.com
Forums

symmetric transpose form fir filter

Started by saras November 30, 2005

Peter K. wrote:

> Steve Underwood <steveu@dis.org> writes: > > >>Designing software for the >>absolute minimum power consumption is an interesting art. > > > It's also interesting that many IT schools are teaching so abstractly > about software (i.e. divorcing it from the hardware), that the > graduating students won't have a snowball's chance in hell of figuring > out how to do this.
Have you ever heard of any graduate student capable of doing absolutely anything? The only things they teach at school (fortunately) is how to learn and where to find the information... Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Vladimir Vassilevsky <antispam_bogus@hotmail.com> writes:

> Have you ever heard of any graduate student capable of doing > absolutely anything?
One or two, yes. By that I mean that I know several grad students who have started companies and made them successful, without previous commercial experience.
> The only things they teach at school > (fortunately) is how to learn and where to find the information...
I was referring to undergrad, not graduate work. Ciao, Peter K.
Steve Underwood wrote:
...
> Not only interesting. It should be fairly obvious. Its interesting to > spot the people in this group that never work on portable equipment. > Lines like "MACs are really fast these days, so we can use an FIR > instead of an IIR" are a dead giveaway. :-) The software in portable > devices very much affects their battery life, right down to choosing the > least complex instructions. Designing software for the absolute minimum > power consumption is an interesting art.
Steve, I'm interested in that art. Can you give more examples of where, given some specification, the program for minimum power consumption actually differs from the program with minimum number of instructions (ie. the fastest program that achieves a given spec)? I'm not talking about chosing IIR over FIR, as this would be part of the spec. Or perhaps the real art is to bend the specs to achieve minimum power consumption? Regards, Andor
abariska@student.ethz.ch wrote:

   ...

> I'm not talking about chosing IIR over FIR, as this would be part of > the spec. Or perhaps the real art is to bend the specs to achieve > minimum power consumption?
Implementation specs are second-rate at best. The spec should be on performance. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jerry Avins wrote:
> abariska@student.ethz.ch wrote: > > ... > > > I'm not talking about chosing IIR over FIR, as this would be part of > > the spec. Or perhaps the real art is to bend the specs to achieve > > minimum power consumption? > > Implementation specs are second-rate at best. The spec should be on > performance.
I don't want to argue about the definition of "specs", but about power consumption. Even if you could choose between filter types in an implemenation, most certainly that type which is faster to compute also consumes less power. Regards, Andor
abariska@student.ethz.ch wrote:
> Jerry Avins wrote: > > abariska@student.ethz.ch wrote: > > > I'm not talking about chosing IIR over FIR, as this would be part of > > > the spec. Or perhaps the real art is to bend the specs to achieve > > > minimum power consumption? > > > > Implementation specs are second-rate at best. The spec should be on > > performance. > > I don't want to argue about the definition of "specs", but about power > consumption. Even if you could choose between filter types in an > implemenation, most certainly that type which is faster to compute > also consumes less power.
This certainly depends on the system implementation. On many circuits and systems the relative number of cycles taken by code sequences and relative mAH of energy consumed by the circuit executing those code sequences are not identical. IC designers spend a lot of time on power optimization these days, but some functional units almost intrinsically require more power to cycle than others in the same technology. IMHO. YMMV. -- rhn A.T nicholson d.O.t C-o-M
abariska@student.ethz.ch wrote:

>Jerry Avins wrote: > > >>abariska@student.ethz.ch wrote: >> >> ... >> >> >> >>>I'm not talking about chosing IIR over FIR, as this would be part of >>>the spec. Or perhaps the real art is to bend the specs to achieve >>>minimum power consumption? >>> >>> >>Implementation specs are second-rate at best. The spec should be on >>performance. >> >> > >I don't want to argue about the definition of "specs", but about power >consumption. Even if you could choose between filter types in an >implemenation, most certainly that type which is faster to compute also >consumes less power. > >Regards, >Andor > >
Simplifying the algorithm is an obvious starting point, but simplifying for power is not always the same as simplifying for speed. A few examples of things that people seldom look at, unless they have power problems and someone kicks them: - Do you look carefully at power management issues when choosing devices, and do you really understand the tradeoffs when choosing? For example, a super low power mode that takes an age to wake up from (many do) may be completely useless, if your application is bursty in nature. Wise choices in this area can have a big effect on average battery drain. - You have a fairly slow requirement. Your processor has DMA capabilities. Are you using DMA whenever possible? As well as speeding things up, DMA takes less power than moving thing through software. In extreme cases you might be able to keep the CPU asleep while some data block DMAs in or out at a leisurely pace with near zero consumption. If the device you are using has special processing blocks, like a viterbi processor, can DMA be used to feed data in and out of those blocks? If so, it will probably be a lower power method than using software. DMA can be a huge power saver. - You might have reduced the algorithm to the minimum number of operations, but is it using the least power hungry parts of the device. Using a shift instead of an add, for example, can be quite beneficial (provided the architecture doesn't make you jump through hoops to get the data in the right place). Quite often, if you shuffle the scaling of some coefficients around, a few multiplies can be reduced to shifts. Anyone who has done bit serial DSP should be a wizz at this. :-) Too often people just put their code together, run it, measure current, and say that is what is achievable. If they do look for improvement, they tend to attack the algoroithmic complexity. Looking at the algorithmic fit to the qualities of the device being used often offers bigger potential for improvement. Regards, Steve
On Tue, 06 Dec 2005 09:14:48 +0800, Steve Underwood <steveu@dis.org>
wrote:

>Rick Lyons wrote: >
(snipped)
>>>> >>>> >>>Ron, you are quite rignt. During the execution of MAC instructions the >>>DSP power consumption is several times higher then when executing a >>>general program flow. This is the fact; I observed it with ADSP-21xx. >>> >>>Vladimir Vassilevsky >>> >>> >>> >> >>Hi Vladimir, >> >> Now that is interesting,... very interesting. >> >>Thanks, >>[-Rick-] >> >> >Not only interesting. It should be fairly obvious. Its interesting to >spot the people in this group that never work on portable equipment. >Lines like "MACs are really fast these days, so we can use an FIR >instead of an IIR" are a dead giveaway. :-) The software in portable >devices very much affects their battery life, right down to choosing the >least complex instructions. Designing software for the absolute minimum >power consumption is an interesting art. > >Regards, >Steve
Hi Steve, yep, you're right. The systems I worked on were in the range of 50 to 20,000 watts. The power to my systems was limited only by the size of the circuit breakers in the laboratory's electric panel. I've never built any battery-powered systems for a customer. I know that the more transistors you have that are switching states (on-to-off & off-to-on) the more power is consumed. But it never occurred to me to think about the difference in power consumption in performing a single addition versus a single multiply. What would be interesting to me is if Vladimir could tell us the following: if continous binary adds require P watts in a DSP chip, do continuous multiplies requre 2P, 4P, 8P watts, or what. See Ya' [-Rick-]
R.Lyons@_BOGUS_ieee.org (Rick Lyons) writes:

> On Tue, 06 Dec 2005 09:14:48 +0800, Steve Underwood <steveu@dis.org> > wrote: > >>Rick Lyons wrote: >> > (snipped) > >>>>> >>>>> >>>>Ron, you are quite rignt. During the execution of MAC instructions the >>>>DSP power consumption is several times higher then when executing a >>>>general program flow. This is the fact; I observed it with ADSP-21xx. >>>> >>>>Vladimir Vassilevsky >>>> >>>> >>>> >>> >>>Hi Vladimir, >>> >>> Now that is interesting,... very interesting. >>> >>>Thanks, >>>[-Rick-] >>> >>> >>Not only interesting. It should be fairly obvious. Its interesting to >>spot the people in this group that never work on portable equipment. >>Lines like "MACs are really fast these days, so we can use an FIR >>instead of an IIR" are a dead giveaway. :-) The software in portable >>devices very much affects their battery life, right down to choosing the >>least complex instructions. Designing software for the absolute minimum >>power consumption is an interesting art. >> >>Regards, >>Steve > > Hi Steve, > > yep, you're right. The systems I worked on were in the > range of 50 to 20,000 watts. The power to my systems > was limited only by the size of the circuit breakers > in the laboratory's electric panel. > I've never built any battery-powered systems for a customer. > > I know that the more transistors you have that > are switching states (on-to-off & off-to-on) the more > power is consumed. But it never occurred to me > to think about the difference in power consumption > in performing a single addition versus a single multiply. > > What would be interesting to me is if Vladimir could tell > us the following: if continous binary adds require P watts > in a DSP chip, do continuous multiplies requre 2P, 4P, > 8P watts, or what.
Hi Rick, TI has a spreadsheet for this for the DM64x DSP, so you can play with the numbers there: http://focus.ti.com/docs/apps/catalog/resources/appnoteabstract.jhtml?abstractName=spra962f The spreadsheet inputs (for the CPU) are percent CPU utilization and clock frequency, so you can't really compare adds to MACs, for example. They also use some sort of non-linear relationship (as a function of percent utilization), but it's close to linear. Power consumption estimation on a chip like this, which is really a group of complex subsystems, and in which the subsystems interact, is no easy task. -- % Randy Yates % "Bird, on the wing, %% Fuquay-Varina, NC % goes floating by %%% 919-577-9882 % but there's a teardrop in his eye..." %%%% <yates@ieee.org> % 'One Summer Dream', *Face The Music*, ELO http://home.earthlink.net/~yatescr
On Thu, 08 Dec 2005 02:47:53 GMT, Randy Yates <yates@ieee.org> wrote:

  (snipped)
>> >> What would be interesting to me is if Vladimir could tell >> us the following: if continous binary adds require P watts >> in a DSP chip, do continuous multiplies requre 2P, 4P, >> 8P watts, or what. > >Hi Rick, > >TI has a spreadsheet for this for the DM64x DSP, so you can play with >the numbers there: > >http://focus.ti.com/docs/apps/catalog/resources/appnoteabstract.jhtml?abstractName=spra962f > >The spreadsheet inputs (for the CPU) are percent CPU utilization and >clock frequency, so you can't really compare adds to MACs, for >example. They also use some sort of non-linear relationship (as a >function of percent utilization), but it's close to linear. > >Power consumption estimation on a chip like this, which is really a >group of complex subsystems, and in which the subsystems interact, >is no easy task. >-- >% Randy Yates % "Bird, on the wing,
Hi Randy, Thanks, I'll have a look. [-Rick-]