All clear now, that's exactly what I was after! Thank you very much.

P.S. Would it be OK for me to take on to fix this, i.e. to come up with a
meaningful way of describing the signal quality?

On 18 April 2010 05:00, Thanasis <[email protected]> wrote:

> Hi,
>
> Thanks for bringing this up. During the years, I've always thought of
> changing this stupid conversion (a relic of the past) but it always
> slipped my mind...
>
> I am copying from GSM 07.07(-200):
>
> 8.5     Signal quality +CSQ
> Table 52: +CSQ action command syntax
> Command
> Possible response(s)
> +CSQ
> +CSQ: <rssi>,<ber>
> +CME ERROR: <err>
> +CSQ=?
> +CSQ: (list of supported <rssi>s),(list of supported <ber>s)
> Description
> Execution command returns received signal strength indication <rssi>
> and channel bit error rate <ber> from the ME. Refer subclause 9.2 for
> possible <err> values.
> Test command returns values supported by the TA as compound values.
> Defined values
> <rssi>:
> 0       ?113 dBm or less
> 1       ?111 dBm
> 2...30  ?109... ?53 dBm
> 31      ?51 dBm or greater
> 99      not known or not detectable
> <ber> (in percent):
> 0...7   as RXQUAL values in the table in GSM 05.08 [20] subclause 8.2.4
> 99      not known or not detectable
> Implementation
> Optional.
>
> I am afraid I cannot answer your last question...
>
> On Apr 17, 10:13 am, npetrovic <[email protected]> wrote:
> > Hi all,
> >
> > I have some questions/clarifications re getting the signal level from
> > the modem.
> >
> > I'm using a Huawei modem via USB.
> >
> > In getSignalLevel (ModemGateway.java) we have:
> >
> >    response = getATHandler().getSignalLevel();
> >
> > Following the trail in the code this leads to (ATHandler.java):
> >
> >    getModemDriver().write("AT+CSQ\r");
> >    return (getModemDriver().getResponse());
> >
> > which effectively does the job (for my modem anyway).
> >
> > The string that we get back is something like "+CSQ: 14,99OK"
> >
> > getSignalLevel in ModemGateway.java converts it to an int given by
> > (for the above case): 14 * 100 / 31 = 45 (%).
> >
> > My questions are:
> >
> > * What does the return string really mean (i.e. is it "signal is 14
> > out of 99)?
> > * Why do we multiply by 100/31 ?
> > * How do I get the signal strength in dBm, which is what I am really
> > after?
> > * In any case, what is the signal value that we get: before
> > demodulation, or after? If it is after, which standard was
> > demodulated.
> >
> > Thanks!
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "SMSLib User Group" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected]<smslib%[email protected]>
> .
> > For more options, visit this group athttp://
> groups.google.com/group/smslib?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "SMSLib User Group" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<smslib%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/smslib?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"SMSLib User Group" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/smslib?hl=en.

Reply via email to