Skip to content

code ep online

Zhang, Yin edited this page Dec 24, 2021 · 6 revisions

Online Code

Tag

Code EqualErrorProtection Online

Paper

Cassuto, Yuval, and Amin Shokrollahi. "Online fountain codes with low overhead." IEEE Transactions on Information Theory 61.6 (2015): 3137-3149.

Class

Encoder

  • ppcode3.equalerrorprotection.online
    • OnlineEncoder
    • OnlineEncoderFactory

Decoder

  • ppcode3.equalerrorprotection.online
    • OnlineDecoder
    • OnlineDecoderDegreeFinder
    • OnlineDecoderFactory

Simulate

To run a simulation, choose a proper runner, e.g. ppcode3.equalerrorprotection.OneTimeRunner, as the Main class.

Specify a config file via -Dcx.config.file=x:/absolute/path/to/config/file.config.

The following config file if for ppcode3.equalerrorprotection.OneTimeRunner.

ppcode3.runner.sourcefilepath=x:/absolute/path/to/file/to/transfer.bin
ppcode3.runner.workingpath=x:/absolute/path/to/a/target/directory/
ppcode3.ep.encoderfactory=ppcode3.equalerrorprotection.online.OnlineEncoderFactory
ppcode3.ep.fnisencoderfactory.numberinputsymbol=1000
# Number of bits in an input symbol
ppcode3.ep.fnisencoderfactory.sizeinputsymbol=1
ppcode3.ep.decoderfactory=ppcode3.equalerrorprotection.online.OnlineDecoderFactory
# The beta0 parameter from the paper
ppcode3.ep.onlinedecoderfactory.beta0=0.65
# Maximum degree of output symbol
ppcode3.ep.onlinedecoderfactory.thresholddegree=40
ppcode3.ep.onlinedecoder.logdecodeevent=true
ppcode3.ep.onlinedecoder.logdegreeoutputsymbol=true
ppcode3.ep.onlinedecoder.lognumberxor=true
ppcode3.ep.onlinedecoder.lognumberdecodedinputsymbol=true

Analyze

To analyze the simulation result, choose a proper log processor runner, e.g. ppcode3.logprocessor.TextLogProcessorRunner, as the Main class.

Specify a config file via -Dcx.config.file=x:/absolute/path/to/config/file.config.

The following config file is for ppcode3.logprocessor.TextLogProcessorRunner.

ppcode3.log.logprocessorrunner.workingpath=x:/absolute/path/to/a/target/directory/
ppcode3.log.logprocessorfactory=ppcode3.logprocessor.equalerrorprotection.DefaultDecoderLogProcessorFactory
ppcode3.log.logprocessorrunner.numberinputsymbol=1000

Additional Resource

To understand how to choose a proper runner and log processor runner, please see Runner.

Clone this wiki locally