I would like to ask you guys how to decode the source coding in telecommunication? I learned that at the Transmitter side, the Transmitter will use the source coding such as Shannon coding, Shannon-Fano coding, Huffman coding to compress data. But I do not know how the Receiver will decode the received data. Thanks so much
$\begingroup$
$\endgroup$
2
-
$\begingroup$ please don't use just random tags. source-separation and channelcoding have absolutely nothing to do with your question! And if you read digital-communications description, you'll notice that it's also not applicable here. $\endgroup$Marcus Müller– Marcus Müller2025-04-03 07:34:48 +00:00Commented Apr 3 at 7:34
-
$\begingroup$ The receiver just applies the inverse of the encoder. Whatever that is, depends on the specific algorithm. $\endgroup$Hilmar– Hilmar2025-04-03 11:46:46 +00:00Commented Apr 3 at 11:46
Add a comment
|
1 Answer
$\begingroup$
$\endgroup$
That depends on the individual implementation; and as you can imagine, there's quite different implementations for the three quite different source coders you've mentioned.
- Huffmann: Well, decoding that is typically what motivates the construction (finding a prefix-free code), so I'm a bit surprised you've learned how to encode without learning to decode! Anyways, you get the code as tree, and then for your source-coded input, you just walk the tree, taking the turns dictated by your input bits, until you hit a leaf, emit the symbol stored there. You then jump back to the root of the tree and continue with the next input bit.
This is the textbook version. Real-world decompressors use table representations of that tree for computational efficiency, but it's really that simple. - Shannon-Fano coding: It's a (potentially) different tree than Huffman coding, but it's the same tree idea. So, the decoder would work the same.
- Shannon Coding: you take the table you created during encoding. Then you look up the bits from your input until you find a codeword that matches your N last input bits. Since by construction (and that's what people will have stressed when introducing this otherwise suboptimal code) the codewords prefix-free, that is always unambigously possible.