TurboGetPermutation: Function to generate a permutation vector.

Description Usage Arguments Details Value Examples

Description

This function is a helper function which helps the user to create different permutation vectors. With the argument type the user can choose one of 6 different interleaver types. Some interleaver need additional informations in the args argument.

Usage

1
2
TurboGetPermutation(message.length, coder.info, type = "RANDOM",
  args = NULL, visualize = FALSE)

Arguments

message.length

Length of message which will be encoded.

coder.info

Coder which will be used for encoding and decoding.

type

Type of the interleaver, possibilities: RANDOM, PRIMITIVE, CYCLIC, BLOCK HELICAL, DIAGONAL.

args

Arguments for some interleaver. (must be a list)

visualize

Flag to visualize the resulting permutation matrix/vector.

Details

Value

Created permutation vector.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
input <- c(1,0,1,1,0,1)
coder <- ConvGenerateRscEncoder(2, 2, c(5, 7))

#RANDOM
permutation <- TurboGetPermutation(length(input), coder, "RANDOM")

#PRIMITIV
permutation <- TurboGetPermutation(length(input), coder, "PRIMITIVE", list(root=2))

#CYCLIC
permutation <- TurboGetPermutation(length(input), coder, "CYCLIC", list(cols=2, rows=4, distance=2))

#BLOCK
permutation <- TurboGetPermutation(length(input), coder, "BLOCK", list(cols=2, rows=4))

#HELICAL
permutation <- TurboGetPermutation(length(input), coder, "HELICAL", list(cols=2, rows=4))

#DIAGONAL
permutation <- TurboGetPermutation(length(input), coder, "DIAGONAL", list(cols=2, rows=4))

DaniWi/Channelcoding documentation built on May 6, 2019, 1:23 p.m.