> X-Authentication-Warning: cs.csoft.net: $s=geek.rcc.se doesn't match 
>$[EMAIL PROTECTED]
> X-Authentication-Warning: geek.rcc.se: majordom set sender to 
>[EMAIL PROTECTED] using -f
> Date: Wed, 27 Oct 1999 10:46:24 +0200
> From: "Lionel Bonnet" <[EMAIL PROTECTED]>
> X-Priority: 3
> Content-type: multipart/alternative;
>    boundary="MS_Mac_OE_3023865984_136826_MIME_Part"
> Sender: [EMAIL PROTECTED]
> Precedence: bulk
> Reply-To: [EMAIL PROTECTED]
> X-UIDL: >`kd9d'gd9_I5!!g,md9
> 
> 
> 
> > I would suggest:
> >
> >    if (j>=i) tempy = (bval_l[j] - bval_l[i])*(-10);
> >    else    tempy = (bval_l[j] - bval_l[i])*25;
> >
> >    if (tempy <= -60.0) s3_l[i][j] = 0.0;
> >    else                s3_l[i][j] = exp( tempy*LN_TO_LOG10 );
> >
> > but this will need a lot of testing.
> >
> > One additional confusion: in the ISO doc, the meaning of i and j
> > seem to be reversed from the ISO code.
> >
> > Mark
> 
> It 's not true. The slope is for the spreading function s3_l, not for tempy
> or tempx. You must test the slope on s3_l = 15.81 + 7.5 � and see that it is
> 25db and -10db.
> 

Can you explain this a little more?  My reading of the paper and the
figure is that the slope of s3_l is -10db/bark, 25db/bark and that is
what I am suggesting above.  The formula in the ISO code and the
paper, SF(x) = 15.81 + 7.5...  looks like an approximation of the
10db/25db curve.  I will have to plot this function today.

Also, in the ISO code, the SF(x) formula is used
to compute tempy from tempx.  But in the "modifications for layer III"
they advocate replacing tempy (not tempx!) with a different value, and thus 
ignoring the SF(x) formula.  

Here are some values for the spreading function for partition band i=31.


s3_l in db.  (before taking the exponential)
psy-model 2, layer 3 formula:  

i,j 31 28   -18.244921 
i,j 31 29   -13.595852  
i,j 31 30   -3.452440   
i,j 31 31   -0.000000   
i,j 31 32  -10.261171   
i,j 31 33  -31.815638   
i,j 31 34  -55.686492   


psy-model 2, layer 2 formula:

i,j 31 28    -14.744852 
i,j 31 29     -8.291966 
i,j 31 30    -0.974892  
i,j 31 31    -0.000000  
i,j 31 32   -1.181771  
i,j 31 33   -4.615616  
i,j 31 34   -9.927099  


Note that the layer 3 formula drops off *very* quickly for higher
frequencies (j>i), which is clearly incorrect since this slope should
be less than the j<i slope.  


> 
> Ther is another way to see it : you can calculate the norm_l coefficient by
> norm_l[i] = 1/(sum of s3_l[i][j]). With the current version(don't change
> anything), you will find the normalisation coefficient of table C.7. The
> formula is correct with the tables given in the ISO doc and with the Painter
> article.
>
 -=- MIME -=- 
> CE MESSAGE EST AU FORMAT MIME. Comme votre lecteur de courrier ne comprend pas
ce format, il se peut que tout ou partie de ce message soit illisible.

--MS_Mac_OE_3023865984_136826_MIME_Part
Content-type: text/plain; charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable



> I would suggest:
>
>    if (j>=3Di) tempy =3D (bval_l[j] - bval_l[i])*(-10);
>    else    tempy =3D (bval_l[j] - bval_l[i])*25;
>
>    if (tempy <=3D -60.0) s3_l[i][j] =3D 0.0;
>    else                s3_l[i][j] =3D exp( tempy*LN_TO_LOG10 );
>
> but this will need a lot of testing.
>
> One additional confusion: in the ISO doc, the meaning of i and j
> seem to be reversed from the ISO code.
>
> Mark

It 's not true. The slope is for the spreading function s3_l, not for tempy
or tempx. You must test the slope on s3_l =3D 15.81 + 7.5 =8A and see that it i=
s
25db and -10db.

Ther is another way to see it : you can calculate the norm_l coefficient by
norm_l[i] =3D 1/(sum of s3_l[i][j]). With the current version(don't change
anything), you will find the normalisation coefficient of table C.7. The
formula is correct with the tables given in the ISO doc and with the Painte=
r
article.

Lionel
--MS_Mac_OE_3023865984_136826_MIME_Part
Content-type: text/html; charset="ISO-8859-1"
Content-transfer-encoding: quoted-printable

<HTML>
<HEAD>
<TITLE>Re : [MP3 ENCODER] spreading function buggy?</TITLE>
</HEAD>
<BODY BGCOLOR=3D"#FFFFFF">
<TT><BR>
<BR>
&gt; I would suggest:<BR>
&gt;<BR>
&gt; &nbsp;&nbsp;&nbsp;if (j&gt;=3Di) tempy =3D (bval_l[j] - bval_l[i])*(-10);<=
BR>
&gt; &nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;tempy =3D (bval_l[j] - bval_l[i=
])*25;<BR>
&gt;<BR>
&gt; &nbsp;&nbsp;&nbsp;if (tempy &lt;=3D -60.0) s3_l[i][j] =3D 0.0;<BR>
&gt; &nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s3_l[i][j] =3D exp( tempy*LN_TO_LOG=
10 );<BR>
&gt;<BR>
&gt; but this will need a lot of testing.<BR>
&gt;<BR>
&gt; One additional confusion: in the ISO doc, the meaning of i and j<BR>
&gt; seem to be reversed from the ISO code.<BR>
&gt;<BR>
&gt; Mark<BR>
<BR>
It 's not true. The slope is for the spreading function s3_l, not for tempy=
<BR>
or tempx. You must test the slope on s3_l =3D 15.81 + 7.5 =8A and see that it i=
s<BR>
25db and -10db.<BR>
<BR>
Ther is another way to see it : you can calculate the norm_l coefficient by=
<BR>
norm_l[i] =3D 1/(sum of s3_l[i][j]). With the current version(don't change<BR=
>
anything), you will find the normalisation coefficient of table C.7. The<BR=
>
formula is correct with the tables given in the ISO doc and with the Painte=
r<BR>
article.<BR>
<BR>
Lionel</TT>
</BODY>
</HTML>

--MS_Mac_OE_3023865984_136826_MIME_Part--

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )



good point - any changes to s3_l need the cooresponding changes
to norm_l!

Mark

--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to