getting SNR for users

Asked by azeem on 2010-08-16

hi
Im dividing resources to a user based on the SNR its getting...

and im using

 wns::CandI candi = colleagues.registry->estimateTxSINRAt(request.user);
 wns::Ratio ratio = candi.toSINR();

(like you told me)

and then

if
ratio.get_dB() > threshold

but the ratio i get is very strange...
is there any other way i can do this?

e.g
Ratio:-5 ( i printed the ratio)
where as

( 0.0250000) [ WNS] WIMAC.SP doAdaptiveResourceScheduling(): txP=30 dBm, pl=95.5313 dB, sinr=26.6423 dB,

Thanks,
Azeem

Question information

Language:
English Edit question
Status:
Answered
For:
openWNS SDK Edit question
Assignee:
No assignee Edit question
Last query:
2010-08-16
Last reply:
2010-08-24

Hi,

it depends if you are looking at the uplink or downlink. I must admit that
I keep mixing it up all the time myself.
I'll suggest you just have a look at the relevant code: PhyUser.cpp in
WiMAC stores the measurement for each received burst in the
InterferenceCache. If I am not mistaking SSs write the entry into the
InterferenceCache of the BS (downlink) and the BS writes the measurement
into the InterferenceCache of the SS (uplink). The last one is of course a
little strange I must admit. estimateXXX is implemented in
scheduler/RegistryProxyWiMAC.cpp and retrieves the data from the
InterferenceCache. It is always called in the BS so the own
InterferenceCache has the entries from downlink and the remote one from
uplink. Note that the InterferenceCache does exponential averaging of the
measurements.
First of all I would assume you are simulating D
downlink right? Because in uplink you can get a high SINR variance
depending on which SS is actually active in which resource. Still in
downlink you can get a high variance depending on if there is a
transmission in this resource in other cells or not. If the system is not
fully loaded you keep on sometimes measuring only thermal noise and
sometimes really interference from all or some surrounding BSs. This is
because we do not have "real" pilot tones modeled.
Solution: If your channel model only depends on the distance, simply use
the distance to make a decision. I've also extended the InterferenceCache
to provide Information about the pathloss, I will commit the extensions as
soon as possible.

Greats,

Maciej

> New question #121295 on openWNS SDK:
> https://answers.launchpad.net/openwns-sdk/+question/121295
>
> hi
> Im dividing resources to a user based on the SNR its getting...
>
> and im using
>
> wns::CandI candi = colleagues.registry->estimateTxSINRAt(request.user);
> wns::Ratio ratio = candi.toSINR();
>
> (like you told me)
>
> and then
>
> if
> ratio.get_dB() > threshold
>
> but the ratio i get is very strange...
> is there any other way i can do this?
>
> e.g
> Ratio:-5 ( i printed the ratio)
> where as
>
> ( 0.0250000) [ WNS] WIMAC.SP
> doAdaptiveResourceScheduling(): txP=30 dBm, pl=95.5313 dB, sinr=26.6423
> dB,
>
>
>
> Thanks,
> Azeem
>
>
> --
> You received this question notification because you are a member of
> ComNets, RWTH Aachen, University, which is an answer contact for openWNS
> SDK.
> _______________________________________________
> Develop mailing list
> <email address hidden>
> https://lists.comnets.rwth-aachen.de/mailman/listinfo/develop
>

azeem (azeemwaqar84) said : #2

Hi,

The channel models do depend on distance but the distance is different in different cells (as im making irregular cells with different Tx powers).
A better solution would be using Rx powers at the Users to make the threshold?
any idea how to do this (getting the Rx power of a SS with respect to the BS is is connected to)?
Also i'm making these changes in the fixed.cpp files (for dsa strategy)

Thanks,
Azeem

Hi,

use getPowerCapabilities of the RegistryProxy to obtain the transmission
power of the BS. Then use C from CandI of estimateXXX and with TXPower -
C you get the RXPower for the station. You might want to change
"alphaLocal" and "alphaRemote" of the InterferenceCache in Layer2.py of
WiMAC to play with the averaging of the InterferenceCache. If you set it
to "1" no averaging is performed and the last measured value is used.

Greats,

Mac

On 08/23/10 23:57, azeem wrote:
> Question #121295 on openWNS SDK changed:
> https://answers.launchpad.net/openwns-sdk/+question/121295
>
> azeem posted a new comment:
> Hi,
>
> The channel models do depend on distance but the distance is different in different cells (as im making irregular cells with different Tx powers).
> A better solution would be using Rx powers at the Users to make the threshold?
> any idea how to do this (getting the Rx power of a SS with respect to the BS is is connected to)?
> Also i'm making these changes in the fixed.cpp files (for dsa strategy)
>
> Thanks,
> Azeem
>
>

Hi,

little correction: C from CandI is the RXPower. But what you are most
likely also interested in is the PathLoss. The PathLoss is TXPower - C.
You might also want to change the code in PhyUser.cpp to only measure C
and I of the beacon / framehead rather than from user data. Then you
have a behavior like with pilot channels since all BSs transmit the
beacon at the same time.

Greats,

Mac

On 08/24/10 13:09, Maciej Muehleisen wrote:
> Question #121295 on openWNS SDK changed:
> https://answers.launchpad.net/openwns-sdk/+question/121295
>
> Maciej Muehleisen proposed the following answer:
> Hi,
>
> use getPowerCapabilities of the RegistryProxy to obtain the transmission
> power of the BS. Then use C from CandI of estimateXXX and with TXPower -
> C you get the RXPower for the station. You might want to change
> "alphaLocal" and "alphaRemote" of the InterferenceCache in Layer2.py of
> WiMAC to play with the averaging of the InterferenceCache. If you set it
> to "1" no averaging is performed and the last measured value is used.
>
> Greats,
>
> Mac
>
> On 08/23/10 23:57, azeem wrote:
>
>> Question #121295 on openWNS SDK changed:
>> https://answers.launchpad.net/openwns-sdk/+question/121295
>>
>> azeem posted a new comment:
>> Hi,
>>
>> The channel models do depend on distance but the distance is different in different cells (as im making irregular cells with different Tx powers).
>> A better solution would be using Rx powers at the Users to make the threshold?
>> any idea how to do this (getting the Rx power of a SS with respect to the BS is is connected to)?
>> Also i'm making these changes in the fixed.cpp files (for dsa strategy)
>>
>> Thanks,
>> Azeem
>>
>>
>>
>

Can you help with this problem?

Provide an answer of your own, or ask azeem for more information if necessary.

To post a message you must log in.