diff --git a/src/main/java/it/smartphonecombo/uecapabilityparser/importer/Import0xB0CDBin.kt b/src/main/java/it/smartphonecombo/uecapabilityparser/importer/Import0xB0CDBin.kt index 61157966..644dfcb9 100644 --- a/src/main/java/it/smartphonecombo/uecapabilityparser/importer/Import0xB0CDBin.kt +++ b/src/main/java/it/smartphonecombo/uecapabilityparser/importer/Import0xB0CDBin.kt @@ -66,7 +66,7 @@ object Import0xB0CDBin : ImportCapabilities { listCombo = mutableListWithCapacity(numCombos) - for (i in 1..numCombos) { + repeat(numCombos) { val combo = parseCombo(stream, version) listCombo.add(combo) } @@ -95,7 +95,7 @@ object Import0xB0CDBin : ImportCapabilities { private fun parseCombo(stream: InputStream, version: Int): ComboLte { val numComponents = getNumComponents(stream, version) val bands = mutableListWithCapacity(numComponents) - for (i in 0 until numComponents) { + repeat(numComponents) { val component = parseComponent(stream, version) if (component.band != 0) { bands.add(component) @@ -127,12 +127,15 @@ object Import0xB0CDBin : ImportCapabilities { if (version >= 41) { component.classUL = BwClass.valueOf(stream.readUByte()) - component.mimoDL = Mimo.fromQcIndex(stream.readUByte()) - component.mimoUL = Mimo.fromQcIndex(stream.readUByte()) + component.mimoDL = parseMimo(stream.readUByte(), true) + component.mimoUL = parseMimo(stream.readUByte(), true) } else if (version >= 32) { - component.mimoDL = Mimo.fromQcIndex(stream.readUByte()) + // versions < 40 don't have an indexed mimo + val mimoIsIndexed = version >= 40 + + component.mimoDL = parseMimo(stream.readUByte(), mimoIsIndexed) component.classUL = BwClass.valueOf(stream.readUByte()) - component.mimoUL = Mimo.fromQcIndex(stream.readUByte()) + component.mimoUL = parseMimo(stream.readUByte(), mimoIsIndexed) } else { component.classUL = BwClass.valueOf(stream.readUByte()) } @@ -148,12 +151,20 @@ object Import0xB0CDBin : ImportCapabilities { return component } + /** + * Convert the given "raw" value to mimo. If indexed is true (version >= 40) calls + * [Mimo.fromQcIndex], otherwise calls [Mimo.from] + */ + private fun parseMimo(value: Int, indexed: Boolean): Mimo { + return if (indexed) Mimo.fromQcIndex(value) else Mimo.from(value) + } + /** * Return qam from Qualcomm diag index. * * The sequence generator is guessed, so it can be wrong or incomplete. */ - fun getQamFromIndex(index: Int): Modulation { + private fun getQamFromIndex(index: Int): Modulation { /* Some examples: 0 -> INVALID @@ -169,7 +180,7 @@ object Import0xB0CDBin : ImportCapabilities { ... */ var result = arrayOf(ModulationOrder.NONE) - for (i in 1..index) { + repeat(index) { val indexOfMin = result.indexOfMin() when (result[indexOfMin]) { ModulationOrder.QAM256 -> result = Array(result.size + 1) { ModulationOrder.QAM64 } diff --git a/src/test/java/it/smartphonecombo/uecapabilityparser/importer/Import0xB0CDBinTest.kt b/src/test/java/it/smartphonecombo/uecapabilityparser/importer/Import0xB0CDBinTest.kt index 27bdf627..fb845f90 100644 --- a/src/test/java/it/smartphonecombo/uecapabilityparser/importer/Import0xB0CDBinTest.kt +++ b/src/test/java/it/smartphonecombo/uecapabilityparser/importer/Import0xB0CDBinTest.kt @@ -35,6 +35,11 @@ internal class Import0xB0CDBinTest { parse("0xB0CD-v32.bin", "0xB0CD-v32.json") } + @Test + fun parseV324rx() { + parse("0xB0CD-v32-4rx.bin", "0xB0CD-v32-4rx.json") + } + @Test fun parseV40() { parse("0xB0CD-v40.bin", "0xB0CD-v40.json") diff --git a/src/test/resources/0xB0CDBin/input/0xB0CD-v32-4rx.bin b/src/test/resources/0xB0CDBin/input/0xB0CD-v32-4rx.bin new file mode 100644 index 00000000..294ffaa8 Binary files /dev/null and b/src/test/resources/0xB0CDBin/input/0xB0CD-v32-4rx.bin differ diff --git a/src/test/resources/0xB0CDBin/oracle/0xB0CD-v32-4rx.json b/src/test/resources/0xB0CDBin/oracle/0xB0CD-v32-4rx.json new file mode 100644 index 00000000..74896186 --- /dev/null +++ b/src/test/resources/0xB0CDBin/oracle/0xB0CD-v32-4rx.json @@ -0,0 +1,2993 @@ +{ + "lteca": [ + { + "components": [ + { + "band": 46, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 4 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "D", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "D", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 46, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 4 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "D", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "C", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "B", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 41, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 4 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 4 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 4 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 28, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 8, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 8, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 8, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 5, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 5, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 5, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "D", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "D", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "C", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "B", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 40, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 38, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 20, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 38, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 8, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 38, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 1, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 38, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 38, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 4 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 38, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 1, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 20, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 20, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 20, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 20, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 20, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 20, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 20, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 20, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + }, + { + "band": 3, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + } + ] + }, + { + "components": [ + { + "band": 32, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 7, + "bwClassDl": "A", + "mimoDl": { + "type": "single", + "value": 2 + } + }, + { + "band": 3, + "bwClassDl": "A", + "bwClassUl": "A", + "mimoDl": { + "type": "single", + "value": 2 + }, + "mimoUl": { + "type": "single", + "value": 1 + } + } + ] + } + ], + "logType": "", + "metadata": { + "logSize": "3603", + "version": "32", + "numCombos": "100" + }, + "id": "d1a74bf8-a72f-4d93-bd7b-1f66bd1d2c5f", + "parserVersion": "staging", + "timestamp": 0 +}