|
|
||
|
Main     Background         Methods         Results     Conclusions         Group Members     |
Method |
|
Quick Links |
||
Block Diagram of Time Domain System |
||
For CD quality sound, it is necessary to encode 16 bits per
sample at a rate of 44.1kHz. However, sound can also be recorded
at 8 bits per sample. Since the majority of the sound signal is
stored in the M most significant bits of the sound code,
changing the lowest N significant bits, where N can be any power
of two up to M/2 bits, leaves the sound signal somewhat changed in
quality and definition, but still recognizeable, and often
indistinguishable from the original.
Starting once again with two signals, a Base signal and a
Messages signal, we choose a value for N, the number of least
significant bits that we wish to replace in the encoding, and
choose an appropriate length base. The reason for choosing an
appropriate length base is to make sure that the full message can
be encoded. The length of the base must be B, the total number of
encoded bits in the message, divided by N, the number of bits to be
replaced in the Base, multiplied by the length of the Message.
This is merely a minimum requirement. The Base is allowed to be
longer.
Below you will find the Base and Message Signals for our
time domain example.
|
||
|
||
Starting out, we take the Matlab vectors which are decimal
values between 1 and -1 and add 1 to every single one of them.
After adding 1 to each number to make them all greater than zero
we multiply by 2^(B-1) and convert each one to a binary number.
Taking the binary number mod (1-N), N still being the bits to be
replaced, we zero out the N least significant bits.
After the N least significant bits of the base are zeroed
out, we chunk each message signal in binary into B/N separate
chunks. We then add the now B/N times longer Message signal to
the Base signal thus returning a combined signal. This combined
signal is then translated back into Matlab vectors by doing the
first steps in reverse.
|
||
Combined Signal |
||
Now that we have the message signal hidden inside of the
Base signal we need to come up with a way to get Message
signal back. Assuming perfect transmission (see results),
the recovery of our message signal is quite simple.
Start by adding 1 to each Matlab vector convert decimal to
binary by multiplying by 2^(B-1) and converting to binary. Then
we go through every signal and concatenate the N least
significant bits of every Received Base signal into binary
message signals of length B. Covert these binary numbers back to
decimal and shift back down to 1 to -1 and we now have a
perfectly recovered message!
|
||
Recovered Signal |
||
This process is a relatively simple one to conceive, but
harder than the frequency domain process to implement in
real life. (Without DSP). Granted that we have perfect
transmission we have a recovered signal that is as perfect
as the orginally sent message.
|
||
Quick Links |