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_burstinput 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_fastfor 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.