Function File: shannonfanodeco (hcode, dict)

Returns the original signal that was Shannon-Fano encoded. The signal was encoded using shannonfanoenco. This function uses a dict built from the shannonfanodict and uses it to decode a signal list into a Shannon-Fano list. Restrictions include hcode is expected to be a binary code; returned signal set that strictly belongs in the range [1,N], with N = length (dict). Also dict can only be from the shannonfanodict (...) routine. Whenever decoding fails, those signal values are indicated by -1, and we successively try to restart decoding from the next bit that hasn’t failed in decoding, ad-infinitum.

An example use of shannonfanodeco is

hd = shannonfanodict (1:4, [0.5 0.25 0.15 0.10]);
hcode = shannonfanoenco (1:4, hd)
    ⇒ hcode = [0 1 0 1 1 0 1 1 1 0]
shannonfanodeco (hcode, hd)
    ⇒ [1 2 3 4]

See also: shannonfanoenco, shannonfanodict.

Package: communications