TurboSimulation: Function to make a automatic simulation of an coder with...

Description Usage Arguments Value Examples

Description

This easy functions makes it possible to compare different coders. The function encode a random message, apply noise to the code and then decode the code. This will be computed many times and after all iterations the bit error rate will be calculated. This procedure is applied to different signal/noise ratios. The result will be printed in a graph, when visualization flag is set to TRUE.

Usage

1
2
3
4
TurboSimulation(coder = NULL, permutation.type = "PRIMITIVE",
  permutation.args = list(root = 0), decode.iterations = 5,
  msg.length = 100, min.db = 0.1, max.db = 2, db.interval = 0.1,
  iterations.per.db = 100, punctuation.matrix = NULL, visualize = FALSE)

Arguments

coder

Coder which will be created with ConvGenerateEncoder or ConvGenerateRscEncoder.

permutation.type

Type of permutation vector.

permutation.args

Arguments to the TurboGetPermutation function.

decode.iterations

Amount of decoding iterations inside the turbo decoder.

msg.length

Length of the randomly created message.

min.db

Start value of the signal/noise ratio.

max.db

End value of the signal/noise ration.

db.interval

Interval which will be added to the actual signal/noise ratio after all iterations are applied.

iterations.per.db

Amount of iterations each signal/noise ration step.

punctuation.matrix

Punctuation matrix to puncture the output, will be created with TurboGetPunctuationMatrix.

visualize

Flag to decide whether to create a visualization pdf or not.

Value

DataFrame which contains the bit error rate for each signal/noise ratio step.

Examples

1
2
3
4
5
6
#all default parameters
TurboSimulation()

#without punctuation
coder <- ConvGenerateRscEncoder(2, 2, c(5, 7))
TurboSimulation(coder, "RANDOM", NULL, 5, 10, 0.01, 1, 0.05, 50, NULL, FALSE)

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