Matlab Code to simulate packet loss rates of various streaming codes. Refer to the paper Low Field-size, Rate-Optimal Streaming Codes for Channels with Burst and Random Erasures for more details.
construction_A, construction_C, construction_fong_khisti
: Output generator matrices for these 3 constructions.Fritchman_sim, GE_sim
: Simulate one channel use of Fritchman and GE channels respectively. Return next channel state and erasure/no erasure.cauchygen
: outputs a Cauchy matrix of size a x b over a field of size 2^m .gen_burst_pattern
: outputs all burst erasure patterns of a length b within a window t.gen_k_sets
: outputs all sequences of length n containing k 1s and rest 0s (to model random erasures).check_valid_streaming
: To check if a particular generator matrix belongs to a valid streaming code. can also check for valid burst erasure correcting codes by settingonly_burst
input to 1.simulate_all_fast
: Simulate the different codes and outputs an array of packet loss rates. Contains functions to check if a codeword can be successfully decoded.final_script_fast
: To runsimulate_all_fast
for multiple epsilons.- mat files: Generator matrices for construction A and Random Code (Fong et al.) used in our simulation.
sw_erasure
: To check if an erasure pattern is a valid sliding window erasure pattern.fritchman_uncoded_error
: To calculate packet loss rate expected of the Fritchman channel under no coding.