微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > EMC电磁兼容设计学习交流 > CC1101之RSSI计算及测试结果

CC1101之RSSI计算及测试结果

时间:10-02 整理:3721RD 点击:

(1)RSSI:所选信道的信号功率电平的估值,该值与RX通道的电流增益设置或所测的信号电平有关。

从RSSI状态寄存器读出的是2的补数,可以这样转换成绝对功率(dBm):

1)读RSSI状态寄存器;

2)把数从十六进制转换成十进制RSSI_dec;

3)如果结果大于等于128,则RSSI_dBm=(RSSI_dec-256)/2-RSSI_offset;

4)否则,如果RSSI_dec<128,则RSSI_dBm=(RSSI_dec)/2-RSSI_offset。

RSSI_offset典型值如表所示:


CC1101datasheet中给的如下:


(2)

CC1100能读出RSSI的值,我是否可以将没有通讯时的RSSI值作为噪声,这样SNR=收到同步字后的RSSI值/没有通讯时的RSSI值。问一下各位大侠,这是不是可行的?

In RX mode, the RSSI value can be readcontinuously from the RSSI status register untilthe demodulator detects a syncword (when sync word detection is enabled). At that point the RSSI readoutvalue is frozen until the next time the chip enters the RX state. The RSSI valueis in dB with?dB resolution.
看看这段话 只有在接受的时候RSSI才有用啊  不然就冻结了 我觉得直接用通讯时候的RSSI作为SNR就可以了

Hi.

I am using a CC1101 transciever chip with the SmartRF04board. I want to transmit packets and then when they are received, I find theRSSI value.

I set PKTCTRL1.APPEND_STATUS = 1 so thatwhen a packet is received, I can get the RSSI value which is appended to thepacket.

My problem is that I do not know how toobtain the value once the packet is received. I am using

halRfReceivePacket(rxBuffer, &length).

This function only returns a CRC_OK bit.

How can the RSSI value be obtained from thepacket?

Thanks

Hi Simon,

The RSSI value should be appended at theend of the data packet so it should end up in your rxBuffer, as the 2nd to lastbyte of the packet, with the last byte being the LQI + CRC_OK bit. Note thatthe RSSI has to be converted from 2s complement to dBm using the equation inthe datasheet. See page 43 of the datasheet.

Russ

(4)取staute中的值(其中发送功率为10dBm,10dbm换算成mw就是10mw)

本次试验说明

RSSI_dec:调用接收函数开始从寄存器RSSI(0x34)中读取,RSSI_dBm为相应的分贝豪瓦

RSSI_dec1:从数据包中的末尾读取,RSSI_dBm1为相应的分贝豪瓦

RSSI_dec2:调用接收函数结束后从寄存器RSSI(0x34)中读取,RSSI_dBm1为相应的分贝豪瓦

//*****************************************************************************************

//函数名:CalculateRssi(uint16RSSI_dec)

//输入:

//输出:

//功能描述:RSSI为2的补码,使之转化成16进制数

//*****************************************************************************************

int16CalculateRssi(uint16 RSSI_dec)

{      

      int16temp;

      if(RSSI_dec>=128)

       {

              temp=(int16)((int16)(RSSI_dec-256)/2)-RSSI_offset;

       }

       else

       {

              temp=(RSSI_dec/2)-RSSI_offset;

       }/**/

       return temp;

}

1):2米,有遮挡


2):2米,无遮挡


3):0.2米,无遮挡


4)超近距离,无遮挡


5)门外柜子半开


6)门外柜子闭



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top