I have been trying to use the DSSS spread spectrum technique for audio steganography in MATLAB. I multiplied the PN sequence with the message bits. Now I want to insert this spread message into a cover audio signal. In the time domain, I split the cover audio into blocks and just added the message. But I want to do it in the frequency domain, by taking the FFT of cover audio. How can I do that? Which is the better way?
2 Answers
The FFT is just an implementation of the DFT. There's, mathematically, no difference.
The DFT is a linear operation. So it makes absolutely zero difference whether you add up two signals in time or frequency domain.
-
$\begingroup$ In time domain,I am adding message values to the cover audio sample values.In frequency domain,I am adding message values to the fft coefficients of the cover audio.Do they make any difference? $\endgroup$– ANJUCommented Mar 7, 2017 at 8:47
the way i would add message bits to audio is to add a very low-level Maximum-Length Sequence ("MLS" or "GF(2)" sequence or "PN sequence" or "LFSR sequence", i think these all mean the same thing). now you have to think of your audio as "noise" and the MLS noise as "the signal". so the signal-to-noise ratio is gonna be very, very bad and you'll have to use the Shannon Channel Capacity formula
$$ C = B \log_2 \left(1 + \tfrac{S}{N}\right) $$
if the $S/N$ ratio is constant or
$$ C = \int\limits_0^B \log_2 \left(1 + \tfrac{S(f)}{N(f)}\right) \ df $$
if the $S/N$ ratio is not constant with frequency.
you need to use that (but reverse the roles of signal and noise, your digital signal is the analog noise and vice versa) to get an idea of now long of an MLS to do one bit of information.
then you use cross-correlation with the raw MLS to sense the +1 or -1 amplitudes on the MLS.
abs()
andangle()
funtions in MATLAB, and it is no different doing it in time-domain unless you dont work on phase values or so. Consider conjugate symmetry property of DFT, if you attempt to edit anything directly after taking FFT of an audio signal. $\endgroup$