WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2017-Mar-17 20:57:39

JannieLee
Member
Registered: 2016-Oct-30
Posts: 20

Automatical mode of tx power

Hi all,

I am using v1.5.3 python reference design with WARP v3 now. I want to set the tx power at auto mode, so the value of tx power could be changed automatically based on the variation of received signal power. I know the default value is 15 dBm, also I know how to change it manually.

How can I do it with python Ref_design?

Thanks a lot for any help or answer.

Offline

 

#2 2017-Mar-18 10:42:16

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Automatical mode of tx power

You can set the Tx power defaults and per destination with the wlan_exp Tx power commands. You can read the Rx power from RX_OFDM log entries.

If you need faster Rx-to-Tx power control you would need to modify the C code. The Tx power is configured for every packet via the tx_power field in the tx_frame_info. CPU High or CPU Low can set this value per-packet.

Offline

 

#3 2017-Mar-18 14:21:02

JannieLee
Member
Registered: 2016-Oct-30
Posts: 20

Re: Automatical mode of tx power

murphpo wrote:

You can set the Tx power defaults and per destination with the wlan_exp Tx power commands. You can read the Rx power from RX_OFDM log entries.

If you need faster Rx-to-Tx power control you would need to modify the C code. The Tx power is configured for every packet via the tx_power field in the tx_frame_info. CPU High or CPU Low can set this value per-packet.

I don't want to fix tx power, or change it manually. I want the WIFI protocol itself to decide the tx power at the AP side. How can I do that?

Offline

 

#4 2017-Mar-20 09:44:00

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: Automatical mode of tx power

The 802.11 Reference Design does not implement any kind of automatic transmit power control, but it does stub out everything you need to be able to build your algorithm directly in C.

* The Tx power used to send unicast data frames to stations is stored in tx_params_t substruct in the station_info_t struct that describes each station. With this structure, an AP can send to Station A with a different transmit power than Station B.

* Multicast frames that aren't sent to any particular station are sent with a transmit power specified in the tx_param_t structs named default_multicast_data_tx_params and default_multicast_mgmt_tx_params (for Data and Management frames respectively).

* Control frame response transmissions like an ACK or CTS are set with the wlan_mac_high_set_tx_ctrl_pow() function.

The wlan_exp Tx power commands that you use to manually change Tx power simply wrap the three items above. You can write your algorithm in C to change them automatically according to whatever metric you choose.

Offline

 

#5 2017-Mar-20 13:12:18

JannieLee
Member
Registered: 2016-Oct-30
Posts: 20

Re: Automatical mode of tx power

chunter wrote:

The 802.11 Reference Design does not implement any kind of automatic transmit power control, but it does stub out everything you need to be able to build your algorithm directly in C.

* The Tx power used to send unicast data frames to stations is stored in tx_params_t substruct in the station_info_t struct that describes each station. With this structure, an AP can send to Station A with a different transmit power than Station B.

* Multicast frames that aren't sent to any particular station are sent with a transmit power specified in the tx_param_t structs named default_multicast_data_tx_params and default_multicast_mgmt_tx_params (for Data and Management frames respectively).

* Control frame response transmissions like an ACK or CTS are set with the wlan_mac_high_set_tx_ctrl_pow() function.

The wlan_exp Tx power commands that you use to manually change Tx power simply wrap the three items above. You can write your algorithm in C to change them automatically according to whatever metric you choose.

Ok, thanks for your advice. They're helpful.

Offline

 

#6 2017-Mar-21 13:05:33

JannieLee
Member
Registered: 2016-Oct-30
Posts: 20

Re: Automatical mode of tx power

Hi all, I have another question now,hope you can give me some advice.
I want to measure the bit error rate at different data rate, meanwhile I need to measure the rx power. I am using warp v3 and v1.5.3 python ref_design now.
Based on previous work, I can measure rx power and plot it in a python script, but I don't know how to calculate BER in python design. What kind of rx event need I extract from log file?

Thanks for your kind help.

Offline

 

#7 2017-Mar-21 16:32:47

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Automatical mode of tx power

Calculating BER requires comparing the transmitted payload to the received payload. You can do this with the wlan_exp log's TX_LOW and RX_OFDM entries. You will need to enable logging of full payloads (only MAC headers are logged by default). Payload logging is configured with the node.log_configure() method.

An important aspect to BER testing is that you can only compute BER for packets that are received. Packets that are not detected or that have SIGNAL/HT-SIG errors will not result in RX_OFDM log entries and cannot be included in BER calculations. This inherently biases BER results. Given this, it's a good idea to present BER results together with the corresponding PER, where "packet error" includes all non-received packets (i.e. PER = (Num_Tx - Num_Rx_FCS_Good)/Num_Tx).

Offline

 

#8 2017-Mar-21 16:56:49

JannieLee
Member
Registered: 2016-Oct-30
Posts: 20

Re: Automatical mode of tx power

murphpo wrote:

Calculating BER requires comparing the transmitted payload to the received payload. You can do this with the wlan_exp log's TX_LOW and RX_OFDM entries. You will need to enable logging of full payloads (only MAC headers are logged by default). Payload logging is configured with the node.log_configure() method.

An important aspect to BER testing is that you can only compute BER for packets that are received. Packets that are not detected or that have SIGNAL/HT-SIG errors will not result in RX_OFDM log entries and cannot be included in BER calculations. This inherently biases BER results. Given this, it's a good idea to present BER results together with the corresponding PER, where "packet error" includes all non-received packets (i.e. PER = (Num_Tx - Num_Rx_FCS_Good)/Num_Tx).

If this is the case, then how can I calculate the PER in python? Is the precedure of calculating PER the same as calculating BER? Does the Warpnet BER measurement still work with new python ref_design? http://warpproject.org/trac/browser/Res … _vs_BER.py

Last edited by JannieLee (2017-Mar-22 10:56:22)

Offline

 

#9 2017-Mar-22 13:39:11

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Automatical mode of tx power

If this is the case, then how can I calculate the PER in python?

Calculating PER requires the number of Tx packets and the number of FCS-good Rx packets. You can get these values via the Tx/Rx counts (n.get_txrx_counts()) or from the node's log (TX_LOW and RX_OFDM entries).

Does the Warpnet BER measurement still work with new python ref_design?

No- that warpnet is a very old framework for running experiments with the (also very old) OFDM Reference Design. The 802.11 Ref Design uses the much newer wlan_exp framework.

Offline

 

Board footer