[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [rohc] ROHC-FN tutorial: scaled_seq_no compression formula



Hi Klaus,

Thanks for the post. I think you have probably already seen the following line in the example:

        ENFORCE(sequence_no.UVALUE
                  == (scaled_seq_no.UVALUE * 3) % 16);

Which is to say, a similar function to the one which you have described, but expressed in the inverse form. The bindings created by this are two way. That is, this single line defines both compression and decompression. One of the key principles of the FN is that all bindings are two way, so that you only define the profile once for both compression and decompression. You specify "what" rather than "how". See section 3.2.1 for more details: http://tools.ietf.org/html/rfc4997#section-3.2.1

Thanks for taking the time to read the RFC and send in a post.

If you have any questions feel free to ask.

Regards

Raffles


Klaus Warnke wrote:
Hello RoHC'ers 2.0,

the example B.9. in the RFC 4997 ROHC-FN introduces a scaled_seq_no,
but provides no formula for compression.
Here is my compression formula, maybe it is helpful for other.

scaled_seq_no.UVALUE = (sequence_no.UVALUE + (m*16)) / 3

where m is:

m = 0 if (U%3 == 0)
m = 2 if (U%3 == 1)
m = 1 if (U%3 == 2)

Checked with oo calc:

U	U%3	m	M*16	U+m*16	C=(U+m*16)/3	C*3	U=(C*3)%16
-       ---     -       ----    ------  ------------    ---     ----------
0	0	0	0	0	0	        0	0
1	1	2	32	33	11	        33	1
2	2	1	16	18	6	        18	2
3	0	0	0	3	1	        3	3
4	1	2	32	36	12	        36	4
5	2	1	16	21	7	        21	5
6	0	0	0	6	2	        6	6
7	1	2	32	39	13	        39	7
8	2	1	16	24	8	        24	8
9	0	0	0	9	3	        9	9
10	1	2	32	42	14	        42	10
11	2	1	16	27	9	        27	11
12	0	0	0	12	4	        12	12
13	1	2	32	45	15	        45	13
14	2	1	16	30	10	        30	14
15	0	0	0	15	5	        15	15

br
Klaus
_______________________________________________
Rohc mailing list
Rohc at ietf.org
https://www.ietf.org/mailman/listinfo/rohc


--
Raffles (Robert Finking)
m: 0789 463 9887
e: raffles at gluft.com
w: gluft.com

        O                  O
OOOOOO  O  O    O OOOOOO OOOOO
O    O  O  O    O OOOOO    O
OOOOOO  O  OOOOOO O        O
OOOOOO
     we  care  about  software

-----------------------------------------------------------------
Gluft Ltd. Registered No.: 6795336
The information contained in this e-mail and any attachments is
proprietary to Gluft Ltd and must not be passed to any third
party without permission. This communication is for information
only and shall not create or change any contractual relationship.
Please consider the environment before printing. Thank you.
-----------------------------------------------------------------