public class Asn1NasUtil
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Asn1NasUtil.ARFCNRange |
Modifier and Type | Field and Description |
---|---|
static int |
FREQ_LIST_FMT_BITMAP0
Enumeration of the formats supported for ARFCN encoding.
|
static int |
FREQ_LIST_FMT_RANGE_1024 |
static int |
FREQ_LIST_FMT_RANGE_128 |
static int |
FREQ_LIST_FMT_RANGE_256 |
static int |
FREQ_LIST_FMT_RANGE_512 |
static int |
FREQ_LIST_FMT_VAR_BITMAP |
Constructor and Description |
---|
Asn1NasUtil() |
Modifier and Type | Method and Description |
---|---|
static int[] |
decodeARFCN(int format,
byte[] data,
int numbits)
Decode a list of ARFCN (frequency list) that have been encoded as
described in 44.018 10.5.2.13 Frequency List and Annex J.
|
static void |
encodeARFCN(int[] arfcns,
int format,
int range,
int f0,
Asn1BitString data)
Encode a list of ARFCN (frequency list).
|
static Asn1NasUtil.ARFCNRange |
getARFCNRange(int[] arfcns)
Determines the minimum range for the given list of ARFCNs according to
44.018 Annex F.
|
public static final int FREQ_LIST_FMT_BITMAP0
public static final int FREQ_LIST_FMT_RANGE_1024
public static final int FREQ_LIST_FMT_RANGE_512
public static final int FREQ_LIST_FMT_RANGE_256
public static final int FREQ_LIST_FMT_RANGE_128
public static final int FREQ_LIST_FMT_VAR_BITMAP
public static int[] decodeARFCN(int format, byte[] data, int numbits)
format
- The format in which the ARFCNs have been encoded.
One of the FREQ_LIST_FMT_* constants.data
- The encoding of the ARFCNs. This only
includes the bits that actually encode the ARFCNs and not the bits that
indicate the choice of the format. For example, in the Frequency List
IE, format range 1024, data begins with bit 3 of octet 3.numbits
- The number of bits to be decoded.public static void encodeARFCN(int[] arfcns, int format, int range, int f0, Asn1BitString data)
arfcns
- Array of ARFCNs to be encoded. The values must be
distinct. Their ordering does not matter.format
- The format to apply to the encoding. One of the
FREQ_LIST_FMT_* constants. It is an error if the given ARFCNs cannot
be encoded in the given format.
For bitmap0, all ARFCNs must be in the range 1..124.
For range formats 512, 256, and 128, the ARFCNs have a corresponding
minimum range of less than or equal to 512, 256, and 128, respectively.range
- The minimum range of the given arfcns. The minimum range
R is the smallest value such that there is some value in the set, F0,
such that every value in the set can be expressed as:
(F0 + N) % 1024 for some N in [0, R-1]
getARFCNRange can be used to obtain the minimum range and a
value for F0. This argument is not used for format bitmap0.f0
- An ARFCN from the list serving as F0 for the given range. This
argument is not used for format bitmap0.data
- Receives the encoded ARFCNs (includes the F0/orig_arfcn
fields.)public static Asn1NasUtil.ARFCNRange getARFCNRange(int[] arfcns)
arfcns
- array of ARFCNs