Summary: This module details the algorithm used to decode digital data hidden in audio as part of the fall 2008 ELEC 301 class project.
To decode, our scheme needs certain information about the original signal. We need to know how many segments were created and the relevant, comparable value(s) for each segment. For simplicity’s sake we simply input the original signal, though it would have been possible to not repeat this work.
Our decoding algorithms take the marked signal ŝ(t) and segment it in the time domain as in the encoding algorithms. We next compare each segment of ŝ(t) to the original s(t) value. If the values are the same it was a zero. If the values have changed it was a one.
To decide whether change has occurred, we subtract the proper values and create a sum of the differences, i.e. a scalar representing the amount of change. We then compare this scalar to some threshold. For marked signals with no noise, this threshold can be 0.
| Diagram of Decoding Algorithm |
|---|