Skip to content

code uep expanding window

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

Expanding Window Code

Tag

Code UnequalErrorProtection ExpandingWindow

Paper

Vukobratovic, Dejan, et al. "Scalable video multicast using expanding window fountain codes." IEEE Transactions on Multimedia 11.6 (2009): 1094-1104.

Class

Encoder

  • ppcode3.unequalerrorprotection.expandingwindow
    • ExpandingWindowEncoder
    • ExpandingWindowEncoderFactory

Decoder

  • ppcode3.unequalerrorprotection.lubytransform
    • LubyTransformDecoder
    • LubyTransformDecoderFactory

Simulate

To run a simulation, choose a proper runner, e.g. ppcode3.unequalerrorprotection.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.unequalerrorprotection.OneTimeRunner.

ppcode3.runner.sourcefilepath=x:/absolute/path/to/file/to/transfer.bin
ppcode3.runner.workingpath=x:/absolute/path/to/a/target/directory/
ppcode3.uep.encoderfactory=ppcode3.unequalerrorprotection.expandingwindow.ExpandingWindowEncoderFactory
ppcode3.uep.fnisencoderfactory.numberinputsymbol=1000
# Number of bits in an input symbol
ppcode3.uep.fnisencoderfactory.sizeinputsymbol=1
# Size of important data in bits
ppcode3.uep.fnisencoderfactory.sizeimportantdata=800
ppcode3.outputsymboldegreegeneratorfactory=ppcode3.utility.Raptor66DegreeGeneratorFactory
# Window probability
ppcode3.uep.expandingwindowencoderfactory.p=0.1
ppcode3.uep.decoderfactory=ppcode3.unequalerrorprotection.lubytransform.LubyTransformDecoderFactory
ppcode3.uep.lubytransformdecoder.logdecodeevent=true
ppcode3.uep.lubytransformdecoder.logdegreeoutputsymbol=true
ppcode3.uep.lubytransformdecoder.lognumberxor=true
ppcode3.uep.lubytransformdecoder.lognumberdecodedinputsymbol=true
ppcode3.uep.lubytransformdecoder.lognumberdecodedimportantinputsymbol=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.unequalerrorprotection.UnequalProtectionDecoderLogProcessorFactory
ppcode3.log.logprocessorrunner.numberinputsymbol=1000
ppcode3.log.unequalprotectiondecoderlogprocessorfactory.numberimportantinputsymbol=100

Additional Resource

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

Clone this wiki locally