Breaking News

Understanding the Huffman coding procedures in digital communication with examples

The information theory is related to the concepts of statistical properties of messages / sources, channels, noise interference etc. The information theory is used for mathematical modeling and analysis of the communication systems, following two main points are resolved:

1). The irreducible complexity below which the signal can not be compressed.
2). The transmission rate for reliable communication over a noisy channel.

Huffman coding also uses the same principle. This type of coding makes average number of binary digits per message nearly equal to Entropy ( average bits of information per message). This is a variable length and prefix free coding. So there is different length code words and no code words are prefix of others. It gives the advantages of variable length and prefix free coding like - required less bandwidth.

Huffman coding is a widely used algorithm for lossless data compression in digital communication. It works by assigning shorter binary codes to frequently occurring symbols and longer binary codes to less frequently occurring symbols. This results in a more efficient representation of the data, as the more common symbols can be represented with fewer bits than the less common symbols.

The algorithm begins by analyzing the input data and creating a frequency table that shows the number of occurrences of each symbol. The symbols are then arranged in order of decreasing frequency, and a binary tree is constructed by repeatedly merging the two least frequent symbols until all symbols are accounted for. The binary codes are assigned by traversing the tree from the root to each symbol, with a "0" assigned for each left branch and a "1" assigned for each right branch.

The resulting Huffman code is optimal in the sense that it produces the smallest possible number of bits needed to represent the input data. This makes it a popular choice for compressing data in digital communication systems, where efficient use of bandwidth and storage space is critical.

Huffman coding can be best explained with the help of an example, which can be presented in two ways: through text images or a video. If you prefer to read, then you can follow the text images, but if you would rather watch, then you can view the following video: 


huffman coding in digital communication
Huffman coding algorithm
Table: 1.8.3
huffman coding in digital communication
Huffman coding algorithm
Table: 1.8.4
Huffman coding algorithm
Huffman coding technique
Huffman coding technique















You can also practice following examples. I collect all these examples and their coding methods to enhance your practical knowledge.

example of huffman coding
Example-1
example of huffman coding
Example-2
example of huffman coding
Example-3


Read more ...

understanding Eye pattern or diagram

What is Eye Pattern?

Digital data is transmitted as  sampled values.  In sequential or serial data transmission when output sample placed one after another, then overlapping happens due to various facts like ISI. The overlapped pattern form a shape of human eye. That is why it is called eye pattern or diagram.

By the by the more easy presentation  we have either a pulse of one or a pulse of zero in digital communications. If you superimpose these two pulses on each other for several times, you will get a pattern like an eye (take into consideration that a pulse is not a sharp react and has a rise and fall time) .

Eye patterns can be observed using an oscilloscope. The received wave is applied to the vertical deflection plates of an oscilloscope and the sawtooth wave at a rate equal to transmitted symbol rate is applied to the horizontal deflection plates, resulting display is eye pattern as it resembles human eye.


eye pattern
Simplified eye pattern

This have some significance in digital data transmission. In the pattern there exists some information shown in figure whose can be used to observe the characteristics of the communication channel.

Information obtained from eye pattern:
  • The width of the eye opening: It defines the time interval over which the received wave can be sampled, without an error due to ISI.
  • The middle of the eye lid with maximum eye opening: It is the best sampling instant.
  • The rate of closure of the eye: It defines the sensitivity of the system to the timing error.
  • The eye is completely close: It signifies severe effect of ISI and it is impossible to overcome the combined effect of ISI and noise.
  • Squinted (asymmetric) eye: It signifies non-linear transmission distortion.
Read more ...

Difference between RISC and CISC architecture of processors

As far as the processor hardware is concerned, there are two basic types of concepts to implement the processor hardware architecture.

What is RISC architecture?

RISC is acronym for Reduced Instruction Set Computing. In this architecture a microprocessor  is designed to perform a smaller number of types of  instructions so that it can operate at a higher speed (perform more millions of instructions per second, or MIPS). 
Since each instruction type that a computer must perform requires additional transistors and circuitry, a larger list or set of computer instructions tends to make the microprocessor more complicated and slower in operation. That is why less instruction means fast in operations. Pipelining is one of the unique feature of RISC. It is performed by overlapping the execution of several instructions in a pipeline fashion. 

Example: Apple iPod and Nintendo DS etc.


What is CISC architecture?

CISC is acronym for Complex Instruction Set Computing. CISC architecture are designed to decrease the memory cost. The large programs need more storage, thus increasing the memory cost and large memory becomes more expensive. 
To solve these problems, in CISC architecture the number of instructions per program is reduced by embedding the number of operations in each instruction. Thereby the instructions are more complex.

Example: IBM 370/168, VAX 11/780, Intel 80486 etc.


Difference between  RISC and CISC architecture:

# RISC CISC
1 Simple instructions taking one cycle. Complex instructions taking multiple cycle.
2 Very few instructions refer memory. Most of instructions may refer memory.
3 Instructions are executed by hardware. Instructions are executed by micro-program.
4 Fixed format instructions. Variable format instructions.
5 Few instructions. Many instructions.
6Complex addressing modes are synthesized in software. Supports complex addressing modes.
7 Multiple register sets. Single register set.
8 Highly pipelined. Not pipelined or less pipelined.
9 Conditional jump can be based on a bit anywhere ¡n memory. Conditional jump is usually based on status register bit.
10 Complexity is in the compiler Complexity is in the micro-program
11 Few addressing mode and most instructions have register to register addressing mode Many addressing modes


Read more ...

Difference between Microprocessor and Microcontroller

What is Microprocessor ?

A microprocessor is an integrated circuit or  logic chip that is designed to fetch the instructions from other part of the system and executing it performing several logical and arithmetic operations.
On its own, without a surrounding circuit and applied voltages it is quite useless. It will just lie on your workbench staring back at you.

What is Micro-controller ?

A micro-controller is a self-contained system with peripherals, memory and a processor that can be used as an embedded system.
Actually this is a complete microprocessor-based control system built onto a single chip. It is small and convenient but doesn't do anything that could not be done via a microprocessor with  additional components.

Microprocessor Vs Micro-controller:
Among several, some important difference between microprocessor and micro-controller is given below:
# Microprocessor Micro-controller
1 Microprocessor contains ALU, control unit (clock and timing circuit), different register and interrupt circuit. Microcontroller contains microprocessor, memory (ROM and RAM) I/O interfacing circuit and peripheral devices such asconverter, timer etc.

2 It has many instructions to move data between memory and CPU. It has one or two Instructions to move data between memory and CPU.
3 It has one or two bit handling instructions. It has many bit handling instructions.
4 MIcroprocessor based system requires more hardware Microcontroller based system requires less hardware reducing PCB size and increasing the reliability.
5 Access times for memory and I/O devices are more. Less access times for built-in memory and I/O devices.
6 It has single memory map for data and code It has separate memory map for data and code.
7 Less number of pins are multi-functioned. More number of pins are multifunctioned.
8 Microprocessor based system is more flexible in design point of view. Less flexible in design point of view.
Read more ...
Designed By