search for: float_extract16

Displaying 12 results from an estimated 12 matches for "float_extract16".

2006 May 02
3
Re: speex echo cancellation limitations
...t hangs at the following: > while (a.m >= b.m) > { > e++; > a.m >>= 1; > } > for the case where a and b are both zero (yes, division by zero). > This happens from mdf.c: True, that needs to be fixed even after I fix the rest. > leak_estimate = FLOAT_EXTRACT16(FLOAT_SHL(FLOAT_DIVU(st->Pey, st->Pyy),14)); > where st->Pey and st->Pyy are both zero, which happens for the following input > data to testecho program: > -- first arg is file containing sine wave of magnitude +/- 32767 > -- 2nd arg is file containing all zeroes > >...
2006 May 08
1
Speex echo canceller on TI C55 DSP
...lock size=128, tail length = 1024), and I will probably not be > able to fit it in the production build without some trimming. > > When I run the build, it goes into an infinite loop in FLOAT_DIV32 (mdf.c > line 660), which occurs because adapt_rate is < 0, which happens when > FLOAT_EXTRACT16 gets the input {0x7ff0, 0xfffb}. The rounding is causing > the result to go negative. I worked around this by changing > > return (a.m+(1<<(-a.e-1)))>>-a.e; > to > return (((spx_uint16_t) a.m)+(1<<(-a.e-1)))>>-a.e; > > in FLOAT_EXTRACT16. T...
2006 May 08
0
Speex echo canceller on TI C55 DSP
...namic data memory for block size=128, tail length = 1024), and I will probably not be able to fit it in the production build without some trimming. When I run the build, it goes into an infinite loop in FLOAT_DIV32 (mdf.c line 660), which occurs because adapt_rate is < 0, which happens when FLOAT_EXTRACT16 gets the input {0x7ff0, 0xfffb}. The rounding is causing the result to go negative. I worked around this by changing return (a.m+(1<<(-a.e-1)))>>-a.e; to return (((spx_uint16_t) a.m)+(1<<(-a.e-1)))>>-a.e; in FLOAT_EXTRACT16. This changes the returned value...
2006 May 09
2
Speex echo canceller on TI C55 DSP
...reduction possible here. Of course, > > decreasing the tail length is also a rather easy way. > > > >> When I run the build, it goes into an infinite loop in FLOAT_DIV32 (mdf.c > >> line 660), which occurs because adapt_rate is < 0, which happens when > >> FLOAT_EXTRACT16 gets the input {0x7ff0, 0xfffb}. The rounding is causing > >> the result to go negative. I worked around this by changing > > > > I think that was mentioned in the previous thread... > > > >> return (a.m+(1<<(-a.e-1)))>>-a.e; > >> to...
2006 May 01
2
Re: speex echo cancellation limitations
> I am writing to gain a better understanding of the limitations of speex echo > cancellation, esp. with respect to the fixed point implementation. > If these limitations have been documented elsewhere already, please let me > know! Nothing officially documented, sorry. > I observe experimentally that when one or both of the echo or ref data for > speex_echo_cancel() have
2006 May 09
2
Speex echo canceller on TI C55 DSP
...; > decreasing the tail length is also a rather easy way. > > > > > >> When I run the build, it goes into an infinite loop in FLOAT_DIV32 > > >> (mdf.c > > >> line 660), which occurs because adapt_rate is < 0, which happens when > > >> FLOAT_EXTRACT16 gets the input {0x7ff0, 0xfffb}. The rounding is > > >> causing > > >> the result to go negative. I worked around this by changing > > > > > > I think that was mentioned in the previous thread... > > > > > >> return (a.m+(1<...
2006 May 08
5
Speex echo canceller on TI C55 DSP
...trimming. Yes, there may be a bit of memory reduction possible here. Of course, decreasing the tail length is also a rather easy way. > When I run the build, it goes into an infinite loop in FLOAT_DIV32 (mdf.c > line 660), which occurs because adapt_rate is < 0, which happens when > FLOAT_EXTRACT16 gets the input {0x7ff0, 0xfffb}. The rounding is causing > the result to go negative. I worked around this by changing I think that was mentioned in the previous thread... > return (a.m+(1<<(-a.e-1)))>>-a.e; > to > return (((spx_uint16_t) a.m)+(1<<(-a....
2006 May 08
0
Speex echo canceller on TI C55 DSP
...re may be a bit of memory reduction possible here. Of course, > decreasing the tail length is also a rather easy way. > >> When I run the build, it goes into an infinite loop in FLOAT_DIV32 (mdf.c >> line 660), which occurs because adapt_rate is < 0, which happens when >> FLOAT_EXTRACT16 gets the input {0x7ff0, 0xfffb}. The rounding is causing >> the result to go negative. I worked around this by changing > > I think that was mentioned in the previous thread... > >> return (a.m+(1<<(-a.e-1)))>>-a.e; >> to >> return (((spx_u...
2006 May 02
0
Re: speex echo cancellation limitations
Thanks for your prompt and helpful reply. In FLOAT_DIVU() it hangs at the following: while (a.m >= b.m) { e++; a.m >>= 1; } for the case where a and b are both zero (yes, division by zero). This happens from mdf.c: leak_estimate = FLOAT_EXTRACT16(FLOAT_SHL(FLOAT_DIVU(st->Pey, st->Pyy),14)); where st->Pey and st->Pyy are both zero, which happens for the following input data to testecho program: -- first arg is file containing sine wave of magnitude +/- 32767 -- 2nd arg is file containing all zeroes The division by zero appears...
2006 May 09
0
Speex echo canceller on TI C55 DSP
...ible here. Of course, > > decreasing the tail length is also a rather easy way. > > > >> When I run the build, it goes into an infinite loop in FLOAT_DIV32 > >> (mdf.c > >> line 660), which occurs because adapt_rate is < 0, which happens when > >> FLOAT_EXTRACT16 gets the input {0x7ff0, 0xfffb}. The rounding is > >> causing > >> the result to go negative. I worked around this by changing > > > > I think that was mentioned in the previous thread... > > > >> return (a.m+(1<<(-a.e-1)))>>-a.e; &g...
2006 May 10
0
Speex echo canceller on TI C55 DSP
...t; > decreasing the tail length is also a rather easy way. > > > > > >> When I run the build, it goes into an infinite loop in FLOAT_DIV32 > > >> (mdf.c > > >> line 660), which occurs because adapt_rate is < 0, which happens when > > >> FLOAT_EXTRACT16 gets the input {0x7ff0, 0xfffb}. The rounding is > > >> causing > > >> the result to go negative. I worked around this by changing > > > > > > I think that was mentioned in the previous thread... > > > > > >> return (a.m+(1<&...
2006 May 10
2
Speex echo canceller on TI C55 DSP
...il length is also a rather easy way. > > > > > > > >> When I run the build, it goes into an infinite loop in FLOAT_DIV32 > > > >> (mdf.c > > > >> line 660), which occurs because adapt_rate is < 0, which happens when > > > >> FLOAT_EXTRACT16 gets the input {0x7ff0, 0xfffb}. The rounding is > > > >> causing > > > >> the result to go negative. I worked around this by changing > > > > > > > > I think that was mentioned in the previous thread... > > > > > > > >...