Description Usage Arguments Value Author(s) Examples
The code will be decoded with the turbo-code procedure. The given coder must be an systematic coder and should have at least 2 exits. To decide which exit is used, the user can decide this with the parameter index. The principle of turbo decoding is that the decoding is a iterative method, so code will be passed through the decoder multiple times. With the parameter iteration you can decide how often the decoders are passed through. After each iteration the result should be better and the result of the last iteration will be used in the next iteration as input values. The exact signal level of the input will be used as input in the first iteration. When punctuation was used during encoding it is important that the same punctuation is given in the decoding because all bits which are deleted can now be inserted again.
1 2 3 | TurboDecode(code, permutation.vector = NULL, iterations = 1,
coder.info = NULL, parity.index = coder.info$N,
punctuation.matrix = NULL, visualize = FALSE)
|
code |
Code which will be decoded to the original message. |
permutation.vector |
Permutation vector which will be created with |
iterations |
Amount of decoding iterations. |
coder.info |
Coder which will be created with |
parity.index |
Index to decide which exit of the coder will be used for the encoding (>1). Default value is always the last exit of the coder. |
punctuation.matrix |
Punctuation matrix to puncture the output, will be created with |
visualize |
Flag to decide whether to create a visualization pdf or not. |
Decoded message, will be a list (soft and hard values).
Witsch Daniel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | input <- c(1,0,1,1,0)
#default coder and permutation vector
message.encoded <- TurboEncode(input)
result <- TurboDecode(message.encoded, iterations = 5)
print(result)
#custom coder and permutation vector
coder <- ConvGenerateRscEncoder(2, 2, c(5, 7))
perm <- TurboGetPermutation(length(input), coder, "RANDOM")
message.encoded <- TurboEncode(input, perm, coder)
result <- TurboDecode(message.encoded, perm, 5, coder)
print(result)
#decoding with punctuation matrix
punct <- TurboGetPunctuationMatrix(c(1,1,0,1,0,1))
message.encoded.punct <- TurboEncode(input, perm, coder, punctuation.matrix = punct)
result <- TurboDecode(message.encoded.punct$punctured, perm, 5, coder, punctuation.matrix = punct)
print(result)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.