2021年5月9日日曜日

日常雑記2021年5月9日

 やっとの事でWimaxのプリアンブルから相関させてプリアンブルの

インデックスやセルID、セグメントが出せました。以下の通り。

PreambleIndex=56

CellID=24

Segment=1

多分会ってるハズ。『GNU Octave』と『Python Numpy』の両方で

同じ計算結果なのでね。以下計算コードの一部

import numpy as np


def detect_preamble(sig_in, preamble_freq):


pr_corr = []

sig_in_freq = np.fft.fft(sig_in,1024)

#DC remove in freq

sig_in_freq = sig_in_freq - sig_in_freq.mean()

#相関行列計算

for preamble in preamble_freq:

#debug test code

#tmp = np.corrcoef(sig_in_freq ,preamble)[0,1]

#tmp = np.correlate(sig_in_freq, preamble,"full")

#tmp = sum(np.abs(np.real(tmp)) + np.abs(np.imag(tmp)))


tmp = np.sum(ut.hermitian(preamble) * sig_in_freq)

tmp = np.sum(np.abs(np.real(tmp)) + np.abs(np.imag(tmp)))

pr_corr.append(tmp)


#debug

#print(pr_corr)


max_val = max(pr_corr)

PN_index = pr_corr.index(max_val)


#debug

#print(max_val)

#preamble_idx = PN_index -1

preamble_idx = PN_index

# Find IDcell and segment

if preamble_idx < 96:

id_cell = np.mod(preamble_idx, 32)

segment = np.floor(preamble_idx/32)

else:

id_cell = preamble_idx-96

segment = np.mod(preamble_idx-96, 3)

#debug

print('preamble_idx:',preamble_idx)

print('id_cell:',id_cell)

print('segment:',segment)


return preamble_idx, id_cell, segment


0 件のコメント:

コメントを投稿