DSPRelated.com
Forums

I/Q file frequency content

Started by engrmasood2002 June 19, 2014
On 20.6.14 15:34, Bob Masta wrote:
> On Thu, 19 Jun 2014 22:48:13 +0300, Tauno Voipio > <tauno.voipio@notused.fi.invalid> wrote: > >> On 19.6.14 22:29, engrmasood2002 wrote: >>> >>> i have downloaded other wav files not generated by SDRSharp but by Winrad >>> i.e >>> Winrad_20100823_142329Z_14181kHz.wav >>> This wave file is for RF signal at 14.181 Mhz and still SDRSharps >>> demodulates it and shows correct carrier frequency spectrum. >>> Now we have two things based on what has been said in reply to my post. >>> If >>> 1. If SDRSharp puts header in its file then how come it's also showing >>> correct frequency content of I/Q file generated by other program?. >>> 2. Having said that I/Q is collection of samples of RF shifted to 0 hz then >>> how one can know from I/Q data what frequency they represent at any >>> instant? >> >> >> Have a look at the end of the file name: 14181kHz.wav >> It seems to be the SSB sample from DK3QN webpage. >> > > Another possibility is that these are not simple WAV files. > The basic WAV format includes the sample rate and data > format, but no "custom" stuff. However, WAV files are > supposed to adhere to the Microsoft RIFF format, which > allows for other data "chunks" to be included, properly > labeled so that they can be skipped by software that doesn't > understand them. > > Each chunk (including the WAV data) begins with a 4-char > label, followed by a size DWORD, followed by the chunk > contents. Then the next chunk label, size, and contents, > etc. That makes it simple to skip over chunks that aren't > understood. > > So it's certainly possible that the "secret" data is really > there, readable only by SDRSharp and anything else that > knows what to look for. > > Best regards, > > > Bob Masta
I had a look at the SSB samples. There are no extra RIFF headers on any other extra information, but the filename includes the center frequency in a trivial way. -- -TV
"engrmasood2002" <100558@dsprelated> writes:

>>"engrmasood2002" <100558@dsprelated> writes: >> >>> I have downloaded a wave file of **SDRSharp SDR** that contains FM data > I/Q >>> samples for demodulation. The file attributes are sample rate=22050, >>> samples=32 bit float. When i play it in SDRSharp, it demodulates FM > signal >>> and also shows frequency spectrum of the original signal i.e 50 Mhz. My >>> question is how a wav file with 22050 sample rate can store 50 Mhz RF >>> samples? >>> If it is possible then it means one can have wav file of any frequency >>> range stored at 48000 or 44100 sample rate? Can any one comment on >>> this. >> >>I concur with mnentwig. 50 MHz was the original carrier frequency, not >>the actual sample rate. The signal had a < 22050 Hz bandwidth at the >>original 50 MHz carrier. >> >>Note also that since this is I/Q data, you have Fs bandwidth and not >>Fs/2. So if your sample rate is 22050 samples/second, then you have a >>bandwidth of 22050 Hz, not 11025 Hz as would be the case for real >>sampling. >>-- >>Randy Yates >>Digital Signal Labs >>http://www.digitalsignallabs.com >> > > i have downloaded other wav files not generated by SDRSharp but by Winrad > i.e > Winrad_20100823_142329Z_14181kHz.wav > This wave file is for RF signal at 14.181 Mhz and still SDRSharps > demodulates it and shows correct carrier frequency spectrum.
OK.
> Now we have two things based on what has been said in reply to my > post.
> If > 1. If SDRSharp puts header in its file then how come it's also showing > correct frequency content of I/Q file generated by other program?. > 2. Having said that I/Q is collection of samples of RF shifted to 0 hz then > how one can know from I/Q data what frequency they represent at any > instant?
Stop and think. This sort of confusion comes from not understanding first principles. I'll try to help you out here. 1. The sample rate (at least for linear PCM format) Fs is embedded as a parameter in the .wav file. That is the sample rate of the data the file contains. So if it says Fs = 22050, then the sample rate is 22050 samples/second. If it says 14181000, then the sample rate is 14.181 Msamples/second. Period. Unconditionally. 2. I/Q samples are not necessarily at 0 Hz. They represent a complex signal, which may or may not be translated to 0 Hz. 3. Wavefiles contain user-customizable "chunks," which may be used by a specific organization (e.g., Winrad) to specify other parameters of the file. 4. If the complex signal is centered at 0 Hz, i.e., if it is a so-called lowpass signal, then you do not know where this signal was translated from from the direct wavefile parameters. Such knowledge has to come from another source, such as a special chunk, documentation on the site supplying the file, comments in the .wav file, etc. I do not know how SDRSharp works. It could be that it can automatically detect bandpass signals, mix them to zero, and demodulate them. Or perhaps there are special Winrad "chunk" in the .wav file that SDRSharp understands. -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com