Principles of Signal Theory and Error Detection
Principles of Signal Theory and Error Detection
Analogue
Fire Engine
The diagram above shows how the signals are sent across a Fire Station; the PC is attached
to a network which is also attached to Fire station Mast. The PC sends binary across the
networks Ethernet cables. This is passed through the switched and then sent to the Fire
Station mast through fibre optic cable. The Fire station mast converts the binary signals to
radio waves and sends these to the Local mast so that the signal has a better reception with
the Fire Engine.
Digital Signals
Analogue Signals
Amplitude
Frequency
Once the Digital signal has been sent to the modem, the modem converts the Digital signal
to an Analogue Signal, this is measured in frequency and amplitude as frequency is how far
apart the waves are from each other and amplitude is how high the waves are. So for
example if the waves were in an FM Signal then the waves would be measured by frequency
and if the signal was AM then it would be amplitude which measures 0 and 1 by how high
the waves are.
Error Detection
How it works
There are different techniques that help data get sent correctly or detect what went wrong
when sending data. As data is sent across a network by using binary (ones and zeroes) it’s
possible to add digits’ to this binary code to detect when errors occur. For example if text
went being sent across a network, the ASCII code would be sent along the network as it is a
series of zeroes and ones. Each bulk of code sent across is normally 7 bits long.
One of the methods of detecting errors is called “The Parity Method”, this method adds a bit
of code to the front of the bit which is being sent. The even parity rule means that the bit
should always contain an even amount of 1’s. If the bit already contains an even amount
then the parity bit will be a 0 instead of a 1.
The parity method works just as well if the parity makes sure that the bit contains an odd
number of 1’s. So instead of making sure there’s an even number of 1’s it will make sure that
there is an odd amount.
Another popular method of checking for errors is by treating the message as numbers; this is
called “Cyclic Redundancy Code”. For example if the message consisted of these numbers
(032 100 0100) the numbers would be added (3211) and the sum of these numbers would
be called “Check Sum”. Then after this has been calculated both of the bits of data is sent
(032 100 0100 and the check sum). Once data has been sent to the destination the bit what
has been sent will do the checksum calculation and then compare these values to see if the
message has been sent correctly. If the numbers do not match then the message has been
corrupt. If there is an error at the destination end then a request is sent back to the computer
what sent the data to resend the data.
Received bits
No Errors Calculation (032 100 0100
3+2+1+1 = 7 and checksum)
The CRC Method makes use of advanced mathematics to detect errors. International
standards have been developed to standardise on the maths to be used. Example CRC-16
is a standard.
CRC-16 can detect single errors such as basic parity checking, it can detect double errors
and can be used to detect errors up to 16 bit+. CRC is a more common way of checking for
data errors as it requests for the data to be resent.
For example if two words (Mother and Donkey) were to be sent, there is a different
combination on which words will be outputted at the other end, (Hotter, Mither, Lonkey,
Donsey and Monkey). Having this difference between the two messages to form other
messages still means that the message is still possible to work out.
In the messages “Mother” and “Donkey” there are 4 characters different, this is called the
“distance” between the messages. So in this case the distance between the messages
would be 4.
Messages can only be sent in binary code which consists of zeros and ones. 000 and 111 is
what would be sent across, but the distance between these messages in binary are 3. If an
error was to occur when data is sent and 1 bit was corrupted then there are different
possibilities on what the actual message could be.
000 111
001 110
010 101
100 011
From collecting these CRC would then line up every possible 3 bit code and measure their
distance. So from this you can see that by having a minimum distance of 3 you can correct
errors by looking at the nearest match.
Possible Codes Distance for 000 Distance for 111 Most likely correct message
001 1 2 Message 1
010 1 2 Message 1
100 1 2 Message 1
110 2 1 Message 2
101 2 1 Message 2
110 2 1 Message 2
111 3 0 Message 2
000 0 3 Message 1