日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

matlab 微秒 符号,matlab处理csi

發布時間:2025/3/12 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab 微秒 符号,matlab处理csi 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用python調用matlab API接口進行數據分析

找到matlab安裝目錄下自帶的setup.py的路徑我的路徑如下

D:\MATLAB\R2018a\extern\engines\python

打開cmd進入到剛才找到的路徑

管理員權限執行!!! pyhton setup.py install

具體代碼

1.將csiTool中的matlab文件夾下的文件拷到pycharm的工作目錄下,我的拷出來不行,于是從Github中重新下載了下來,考進去成功!

csi_trace=read_bf_file('csi.dat');

csi_entry=csi_trace{1}

timestamp_low: 4 (In the sample trace, timestamp_low is invalid and always 4.)

bfee_count: 72

Nrx: 3

Ntx: 1

rssi_a: 33

rssi_b: 37

rssi_c: 41

noise: -127

agc: 38

perm: [3 2 1]

rate: 256

csi: [1x3x30 double]

timestamp_low:NIC網卡1MHz時鐘的低32位。它大約4300s(72min)重復一回。 (從0-2^32需要4300s),時間戳,相連兩包此值差單位為微秒,通過驗證發現100hz的發包頻率此差值為10000,20hz的發包頻率此差值為50000,此參數可以確定出波形的橫軸時間。

當發包頻率過大會出現接收端停止收數的情況:20Hz正常,200Hz和1000Hz的采樣頻率,收端最多接收一分多鐘的的數據(原因是recv函數接收數據阻塞導致)

1、將包長變小后還是有同樣的問題。

2、由數據速率引起的,它太高,程序無法處理(可以嘗試設置非阻塞)

0x4101決定了主機僅一根天線發送數據,因此此處的Ntx值為1,另外采用的是OFDM模式 如果想要收端接收到發端兩根天線的數據(CSI的格式為2×3×30),只需要把第14、15位均設置為1,即在發送端的腳本里面設置為0xC101 注:關于0x4101的具體說明如下

bfee_count:驅動記錄并發送到用戶控件的波束測量值的總數。內核和用戶空間中netlink頻道是有損的,可以用該變量來檢測被丟棄的測量值。

Nrx:接收端使用的天線數量。

Ntx:發送端使用的天線數量。

rssi_a, rssi_b, rssi_c:由接收端NIC測量出的RSSI值。

perm:展示NIC如何將3個接收天線的信號排列到3個RF鏈上,上圖中的數據表示天線A被發送到RF鏈A,天線B被發送到RF鏈B,天線C被發送到RF鏈C。

rate:發包頻率。

csi:CSI值

3374094

MATLAB命令

a=[1 2 3;4 5 6] #矩陣

A' #A的共軛轉置矩陣

ones(2,3) #一矩陣

b=1:0.1:2 #集合間距為0.1

zeros(2,3) #零矩陣

rand(2,3) #隨機矩陣,數值介于0和1之間

randn(2,3) #矩陣(一個平均值為0的高斯分布,方差或者等于1的標準偏差)

eye(2) #單位陣

hist() #直方圖

size() #矩陣的尺寸

size(A, 1) #矩陣第一維的尺度

length(A) #由于矩陣A是一個

3×2的矩陣,因此最大的維度應該是3,因此該命令會返回3。

who # 命令,能顯示出工作空間中的所有變量

whos #命令,能更詳細地進行查看

load('featureX.dat') # 加載數據文件,變量名等于文件名

clear #命令,刪除所有變量,加變量名刪除特定

save hello.mat v #這個命令會將變量v存成一個叫 hello.mat 的文件,按二進制存儲

save hello.txt v -ascii # 這樣就會把數據存成一個文本文檔,或者將數據的 ascii 碼存成文本文檔

鍵入 A(3,2) # 這將索引到 矩陣的 (3,2) 元素。

鍵入A(2,:) #返回第二行的所有元素

A([1 3],:) #取的是A矩陣的第一行和第三行的每一列

A = [A, [100, 101,102]] #這樣做的結果是在原矩陣的右邊附加了一個新的列矩陣

A(:) #這是一個很特別的語法結構,意思是把 A中的所有元素放入一個單獨的列向量,這樣我們就得到了一個 9×1 的向量

A.*B #這么做將矩陣 A中的每一個元素與矩陣 B中的對應元素相乘

A.^2 #這將對矩陣中每一個元素平方

1./A #得到中每一個元素的倒數。同樣地,這里的點號還是表示對每一個元素進行操作。

exp(A) #自然數e的冪次運算

abs(A) #取絕對值

val=max(A) #默認情況下max(A)返回的是每一列的最大值,如果你想要找出整個矩陣A的最大值,你可以輸入max(max(A))

[val, ind] =max(A) #這將返回矩陣中的最大值存入,以及該值對應的索引

A<3 #這將進行逐元素的運算,所以元素小于3的返回1,否則返回0。

find(A<3) #這將告訴我A中的哪些元素是小于3的。

A = magic(3) #magic 函數將返回一個矩陣,稱為魔方陣或幻方 (magic squares),它們具有以下這樣的數學性質:它們所有的行和列和對角線加起來都等于相同的值。

[r,c] = find(A>=7) #這將找出所有矩陣中大于等于7的元素,r 和c分別表示行和列

sum(a) #就把 a 中每列所有元素加起來了。

sum(a,2) #求每行的和

prod(a) #prod 意思是product(乘積),它將返回這四個元素的乘積。

floor(a) #向下四舍五入,因此對于 a中的元素0.5將被下舍入變成0。

ceil(a) #向上四舍五入,所以0.5將上舍入變為最接近的整數,也就是1。

type(3) #這通常得到一個3×3的矩陣

max(rand(3),rand(3)) #這樣做的結果是返回兩個3×3的隨機矩陣,并且逐元素比較取最大值。

max(A,[],1) #這樣做會得到每一列的最大值。

max(A,[],2) #這將得到每一行的最大值。

sum(sum(A.*eye(9)

hold on #函數的功能是將新的圖像繪制在舊的之上。

再加上命令xlabel('time'), 來標記X軸即水平軸,輸入ylabel('value'),來標記垂直軸的值。

legend('sin','cos') #表示這兩條曲線表示的內容。

title('myplot') #顯示這幅圖的標題。

print(gcf,'-dpng','abc.png') #保存為png格式的圖片到當前路徑

squeeze() #用于刪除矩陣中的單一維,對二維矩陣無效。

close會讓這個圖像關掉。

鍵入figure(1); plot(t, y1);將顯示第一張圖,鍵入figure(2); plot(t, y2); 將顯示第二張圖(同時顯示兩張圖)

subplot(1,2,1),它將圖像分為一個1*2的格子,也就是前兩個參數,然后它使用第一個格子,也就是最后一個參數1的意思

axis([0.5 1 -1 1])也就是設置了軸的范圍。橫軸的范圍調整至0.5到1,豎軸的范圍為-1到1。

Clf清除一幅圖像。

我有時用一個巧妙的方法來可視化矩陣,也就是imagesc(A)命令

我還可以使用函數colorbar,讓我用一個更復雜的命令 imagesc(A),colorbar,colormap gray 它生成了一個顏色圖像,一個灰度分布圖,并在右邊也加入一個顏色條。所以這個顏色條顯示不同深淺的顏色所對應的值。

csi_trace = read_bf_file('csi6.dat');%數據讀取

for l=1:1 %取50個數據包的數據

csia=get_scaled_csi(csi_trace{l});%提取csi矩陣

for i=1:1 %1個發射天線

for j=1:3 %2個接收天線

for k=1:30 %30個子載波數據

B(i,j,k)=csia(i,j,k);

end

end

end

plot(db(abs(squeeze(B).')))

%squeeze通過移除第一個單維度將csi變成3*30的矩陣

%db將線性空間變成以十為底的對數空間

%.'轉置得到30*3的矩陣

%plot(Y)如果Y是m×n的數組,以1:m為X橫坐標,Y中的每一列元素為Y坐標,繪制n條曲線

hold on%當前軸及圖像保持而不被刷新,準備接受此后將繪制的圖形,多圖共存

end

legend('RX Antenna A', 'RX Antenna B','RX Antenna C', 'Location', 'SouthEast' );

xlabel('Subcarrier index');

ylabel('SNR [dB]')

hold off;

%get_eff_SNRs() 它接受一個CSI矩陣作為輸入,并返回一個線性(冪)空間中有效信噪比值的74矩陣。

%這4列對應的有效信噪比使用四種802.11調制方案,即BPSK/QPSK/16QAM/64QAM。

%7行對應于7個可能的天線選擇,包括3個天線和1、2或3個空間流。

%特別是,前3行對應于天線A、B或c的單流傳輸,后3行對應于天線AB、AC或BC的雙流傳輸。最后一行對應于使用所有天線的3流傳輸

總結

以上是生活随笔為你收集整理的matlab 微秒 符号,matlab处理csi的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。