I am getting some 16 bit PCM data (raw bits) from a serial port . I need to collect this stream of bits using some python application running in PC and store it somewhere(Assume it in an array). I want to do some couple of operation in this received PCM data and I will mention those operations to be performed. One more info I want to give you guys is, this PCM data might be generated from a sine wave of 100Hz frequency with some sampling rate of 1kHz and the main thing is all these information (sampling rate-1KHz and frequency of input signal-100Hz and even the bit depth) are hidden from me. The basic idea is I need to find all these information. From these set of info I have some questions
Is it possible to get the frequency of sine wave(100Hz) and sampling rate (1kHz) from the PCM data that I received. If 'Yes' then how ? Can u guys please give me some sample python application for doing the same. (I am using numpy lib for doing the operations)
If I am planning to do FFT on this PCM data what information will I get ? I know by doing FFT we will get the frequency. But this 'frequency' means which frequency ? Will it be 100Hz (same to the sine wave) or something else ?
What are the general information we will get from a PCM data ? What sort of analysis we can do on a PCM data ?
Is it possible to regenerate the same sine wave (100Hz) from this PCM data received ?
Note : I am a newbie to DSP. Please give me some tips to understand more about the scenario.