Forums

I/Q data scaling before AM/FM demodulation

Started by engrmasood2002 June 25, 2014
Hi All,
I have demodulated two AM files (I/Q) succesfully but for one of the I/Q
files which was Gnuradio (USRP) file i had to scale down I and Q components
before demodulation by multiplying by 0.0001 (experimental value) to get
the value that can be demodulated and heard on the PC speakers.  The values
read from file were like these
I= 469.00000, Q=-273.0000, I=472.00000, Q=-263.0000,,,,,,,,,,
then i multiplied them by 0.0001 and then performed demodulation and result
was a success.
But for other file, the values read were like
I= -0.0014953613,  Q= 0.0039367676, I=0.0018615723 ,Q = 0.0010681152
In this case no scaling of I/Q samples before demodulation was required and
AM demodulation was perfect.

My question, What is the rule of thumb for scaling values if one has to
make generic function to read and demodulate from file or live source. What
factor one can calculate to be multiplied to I/Q samples based on its
current content value. I have also noticed that whatever you multiply after
demodulation for gain (volume) will not give result if before modulation
the I/Q values are not scaled. Any comments please.


	 

_____________________________		
Posted through www.DSPRelated.com
On 25.06.2014 07:23, engrmasood2002 wrote:
> Hi All, > I have demodulated two AM files (I/Q) succesfully but for one of the I/Q > files which was Gnuradio (USRP) file i had to scale down I and Q components > before demodulation by multiplying by 0.0001 (experimental value) to get > the value that can be demodulated and heard on the PC speakers. The values > read from file were like these > I= 469.00000, Q=-273.0000, I=472.00000, Q=-263.0000,,,,,,,,,, > then i multiplied them by 0.0001 and then performed demodulation and result > was a success. > But for other file, the values read were like > I= -0.0014953613, Q= 0.0039367676, I=0.0018615723 ,Q = 0.0010681152 > In this case no scaling of I/Q samples before demodulation was required and > AM demodulation was perfect. > > My question, What is the rule of thumb for scaling values if one has to > make generic function to read and demodulate from file or live source. What > factor one can calculate to be multiplied to I/Q samples based on its > current content value. I have also noticed that whatever you multiply after > demodulation for gain (volume) will not give result if before modulation > the I/Q values are not scaled. Any comments please. >
Would a simple AGC on the AM signal not do the job? That is, normalize the AM signal to an amplitude of, for example, 1? Andre
>On 25.06.2014 07:23, engrmasood2002 wrote: >> Hi All, >> I have demodulated two AM files (I/Q) succesfully but for one of the
I/Q
>> files which was Gnuradio (USRP) file i had to scale down I and Q
components
>> before demodulation by multiplying by 0.0001 (experimental value) to
get
>> the value that can be demodulated and heard on the PC speakers. The
values
>> read from file were like these >> I= 469.00000, Q=-273.0000, I=472.00000, Q=-263.0000,,,,,,,,,, >> then i multiplied them by 0.0001 and then performed demodulation and
result
>> was a success. >> But for other file, the values read were like >> I= -0.0014953613, Q= 0.0039367676, I=0.0018615723 ,Q = 0.0010681152 >> In this case no scaling of I/Q samples before demodulation was required
and
>> AM demodulation was perfect. >> >> My question, What is the rule of thumb for scaling values if one has to >> make generic function to read and demodulate from file or live source.
What
>> factor one can calculate to be multiplied to I/Q samples based on its >> current content value. I have also noticed that whatever you multiply
after
>> demodulation for gain (volume) will not give result if before
modulation
>> the I/Q values are not scaled. Any comments please. >> > >Would a simple AGC on the AM signal not do the job? >That is, normalize the AM signal to an amplitude of, for example, 1? > >Andre > >
What about FM Signals, Is AGC logic also valid for them. Can you tell me pseudo code or code example, how can i implement AGC for I/Q samples read from file. Thanks _____________________________ Posted through www.DSPRelated.com
Masood: to my knowledge, fm works on the phase of iq. Will scaling help? 
Masood :to my knowledge fm works on the phase of iq. Will scaling help? 
>Masood :to my knowledge fm works on the phase of iq. Will scaling help? >
Rakesh, You might be correct but i have looked into one of the Gnuradio sites that was explaining that if values are large enough ( i dont' know the limit) they might not be heard in the speaker. i think demodulation will be ok but we wouldl not be able to hear any sound. _____________________________ Posted through www.DSPRelated.com
Does he talk anything about saturation?  Btw, for am, why do you think 0.0001 scaling factor worked for that example? 
>Does he talk anything about saturation? Btw, for am, why do you think
0.0001 scaling factor worked for that example?
>
No. he scaled some other values and i tried mine. _____________________________ Posted through www.DSPRelated.com