PvT图”。本文将介绍两种简易的方法,快速的用保存到txt文件的IQ数据画出“PvT图”。第一种方法需要借助matlab,这个其实是一种通行做法;而第二种方法只需要excel即可,是不是感觉很cool?
一、背景知识
PvT图”是反映时域上信号的强度变化的波形图。它的x轴表示时间,y轴表示信号的强度。由于仪器(接收机)在捕获信号的时候,它是按照一定的采样率抓取的采样数据(IQ数据),即离散的点,故x轴是连续的,将各个点从头到尾均匀排列即可。y轴表示信号的强度,即RSSI(Received signal strength indicator),它的计算公式是:
RSSI = I^2 + Q^2
IQ数据的样本如下(这里只截取30组IQ数据,事实上,我在本文的实验中应用的IQ数据有160000组,可以同Notepad++查看行号):
0.000946045, 0.000732422
0.000854492, 0.000793457
0.00112915, 0.00088501
0.000640869, 0.00125122
0.000549316, 0.000915527
0.00106812, 0.000518799
0.00125122, 0.000976563
0.00137329, 0.00131226
0.00149536, 0.00131226
0.000701904, 0.00134277
0.000305176, 0.000518799
0.00106812, 0.000762939
0.000976563, 0.00131226
0.000793457, 0.000854492
0.00140381, 0.000854492
0.00140381, 0.000701904
0.000549316, 0.000518799
0.000701904, 0.000701904
0.00106812, 0.0010376
0.00100708, 0.00115967
0.00119019, 0.000152588
0.00125122, 0.000457764
0.00106812, 0.00177002
0.00100708, 0.00112915
0.00128174, 0.000610352
0.00161743, 0.000915527
0.00158691, 0.000762939
0.00119019, 0.000427246
0.000701904, 0.000671387
0.000823975, 0.000854492
二、matlab画“PvT图”
一般信号专业的人都用matlab来画图,大致分为以下三步:
1)导入txt文件中的数据;
2)将第一列和第二列数据分别赋给两个向量。
3)按公式,画图。
matlab代码如下:
>> load DataOfIQ.txt
>> A = DataOfIQ;
>> x = A(:,1);
>> y = A(:,2);
>> plot(x.^2+y.^2)
图形如下:
三、Excel画“PvT图”
“PvT图”?你没听错!有时候,我们在外出差,使用的是客户的电脑,上面没有安装matlab,这个时候要分析问题,怎么办?就地取材,用Excel。
“PvT图”的步骤如下:
1)使用notepad(windows自带)或notepad++打开“DataOfIQ.txt”文件,复制全部数据。
此时,也可以看一下整个数据的行数(等于点数),后面用Excel也可以看。
2)新建一个Excel文件,打开并选择第一个单元格,将前面复制的数据粘贴到第一个单元格。
事实上,Excel会自动填充第一列,如下:
3)将数据分列
在数据Excel的数据菜单中,选择“分列”按钮,将跳出“文本分列向导”对话框。在该对话框中,选择“分隔符号->逗号和空格”。
经过如上设置,Excel将会把IQ数据分配到A列和B列。
4)计算RSSI,并保存在C列。
5)在Excel的空白区域,通过合并单元格,设置一片区域用于放置“PvT图”。
6)选中C列,点击Excel的“插入->折线图”,弹出如下对话框,设置数据范围为1-160000,然后选择图片放置的位置。
点击“确定”,画图如下: