data demodulation initial commit