
Dev
文章平均质量分 57
zhenggao2
Focus on 4G/5G RAN planning & optimization, also interested in AI/DL.
展开
-
Export NRRG to excel using Excelize
exportNrrg使用Excelize包将NR resource grid导出为excel原创 2023-04-01 22:34:25 · 200 阅读 · 0 评论 -
Determine CCEs of each PDCCH Candidate
Determine CCEs of each PDCCH Candidate原创 2023-03-27 12:24:19 · 243 阅读 · 0 评论 -
Determine DCI FDRA and CORESET fdResources
HOWTO: determine DCI FDRA and CORESET fdResources原创 2023-03-22 22:33:56 · 279 阅读 · 0 评论 -
NRRG(NR Resource Grid Tool)重构:参数配置部分(2)
NRRG参数重构原创 2023-03-21 14:52:02 · 283 阅读 · 0 评论 -
NRRG(NR Resource Grid Tool)重构:参数配置部分
NRRG参数重构原创 2023-03-21 11:16:58 · 491 阅读 · 0 评论 -
Determine antenna port(s) of PTRS for PUSCH (2)
HOWTO: determine PTRS ports for CB PUSCH transmission原创 2023-03-02 10:21:14 · 153 阅读 · 0 评论 -
Determine antenna port(s) of PTRS for PUSCH (1)
HOWTO: determine association of PTRS ports and DMRS ports (PTRS for nonCB PUSCH)原创 2023-03-01 23:57:49 · 251 阅读 · 0 评论 -
Calculate SC#0 RB#0 of CORESET0
How to calculate iscCoreset0Sc0Rb0 (SC index of SC0-RB0 of CORESET0)?原创 2023-02-21 11:58:47 · 565 阅读 · 0 评论 -
Calculate N_CRB_SSB and k_SSB
HOWTO: calculate N_CRB_SSB and k_SSB given GSCN and ARFCN原创 2023-02-17 15:08:06 · 273 阅读 · 0 评论 -
Multiple RSSI sub-plots using gonum/plot
Show me the code:)const rows, cols = 2, 1 plots := make([][]*plot.Plot, rows) for j := 0; j < rows; j++ { plots[j] = make([]*plot.Plot, cols) for i := 0; i < cols; i++ { pl := plot.New() pl.Add(plotter.NewGrid()) pl.Ti原创 2021-09-05 23:37:46 · 287 阅读 · 0 评论 -
Using UniOffice for Excel export//pls use Excelize instead
Currently I'm working on a KPI report tool, which parses KPI definitions, loads DB PMs, calculates individual KPI and exports the KPI report as .xlsx.In order to use UniOffice(github:https://github.com/unidoc/unioffice) , you need a Free license:(1) r.原创 2021-06-25 08:45:26 · 1171 阅读 · 0 评论 -
golang notes(12)---use cobra+viper to replace qt
In order to focus on problem-solving, I’ve decided to use Cobra+Viper to replace existing thereceipe/qt GUI.Cobra: https://github.com/spf13/cobraViper: https://github.com/spf13/viperFor example:Use cmd ‘ngapp nrrg conf freqband -h’ to get helpD:\d原创 2020-09-26 08:16:39 · 334 阅读 · 0 评论 -
O-RAN notes(13)---Bronze E2 setup and O1-alarm example(2)
(continued)E2 setup(ricplt and odu-high) part 2I will introduce more details on E2Manager implementation.e2term source code: o-ran-sc-bronze-20200810\ric-plt.e2\RIC-E2-TERMINATION, which is implemented in C++e2mgr source code: o-ran-sc-bronze-2020081原创 2020-09-12 22:23:18 · 1449 阅读 · 0 评论 -
O-RAN notes(12)---Bronze E2 setup and O1-alarm example(1)
I will introduce two topics in following post, which are not part of the ‘Getting started’ section, but are included in oran-sc/it.dep/demos:E2 setup between near-RT RIC(ricplt) and O-DU highO1 alarm example between near-RT RIC(ricplt) and SDNC-SDNR(smo原创 2020-09-12 21:53:40 · 1931 阅读 · 0 评论 -
O-RAN notes(10)---Bronze nonrtric/ricplt IoT using A1 for Policy Management(1)
Refer to links:https://wiki.o-ran-sc.org/display/GS/Running+A1+and+O1+Use+Case+FlowsThere are two ways for Policy management, either from nonrtric or from ricplt(aka, Near-RT RIC):I will introduce severaltopics in following posts:(1) HOW-TO: conn..原创 2020-08-13 15:26:28 · 1760 阅读 · 3 评论 -
O-RAN notes(11)---Bronze nonrtric/ricplt IoT using A1 for Policy Management(2)
(continued)Let's continue with the 3rd topic:(3) HOW-TO: manage Policy using Policy-Agent(aka, the policymanagementservice)refer to:https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric/en/latest/policy-agent-api.htmlBelow is a list of A1-Policy-...原创 2020-08-13 22:15:12 · 832 阅读 · 0 评论 -
O-RAN notes(9)---Bronze RICPLT xApp Deployment(4)
(continued)HOW-TO: delete xApps and re-deploy xApps(1) How to delete xAppsFirst, check xApp Deployments in ns ricxapp:(21:09 dabs@ricpltbronze dep) > sudo kubectl get deployment -n ricxappNAME READY UP-TO-DATE AVAILABLE原创 2020-08-08 21:42:09 · 1011 阅读 · 0 评论 -
O-RAN notes(8)---Bronze RICPLT xApp Deployment(3)
(continued)HOW-TO: manually build xApps based on Gerrit sourcesI will use ric-app-ts as an example.First, 'git clone' from Gerrit repository:https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ts.git;a=summarygit clone https://gerrit.o-ran-sc.org/r/ri.原创 2020-08-08 00:40:34 · 1437 阅读 · 7 评论 -
O-RAN notes(7)---Bronze RICPLT xApp Deployment(2)
(continued)I will introduce several aspects related to xApps in following posts:(1) xApp framework introduction(2) HOW-TO: manually build xApps based on Gerrit sources(3) HOW-TO: introduce policy types and policy instances(4) HOW-TO: delete xApps原创 2020-08-07 23:39:37 · 888 阅读 · 0 评论 -
golang notes(11)--How to deploy Go+Qt App from Linux to Windows
refer tohttps://github.com/therecipe/qt/wiki/Deploying-Linux-to-Windows-64-bit-SharedFirst, "docker pull" the therecipe/qt:windows_64_shared image:$docker pull therecipe/qt:windows_64_sharedIt will take some time:(09:00 dabs@CNU1343VF8 ngapp) &g.原创 2020-08-02 09:13:18 · 505 阅读 · 0 评论 -
K8s and Docker notes (2.2)---Hands on with Deployment
(1) on both DebianNode and DebianNode2, retag "nigelpoulton/k8sbook:latest" to "nigelpoulton/k8sbook:edge" for ease of Deployment RollingUpdate, withoutdownloading the actual 'nigelpoulton/k8sbook:edge' docker image.$sudo docker images$sudo docker ta..原创 2020-06-15 12:41:10 · 305 阅读 · 0 评论 -
golang notes(10)---add Zap Logger to ngapp
part of utils/zaplog.go:// NewZapLogger initializes then returns a zap.Logger.func NewZapLogger(path string) *zap.Logger { dir := filepath.Dir(path) if exist, _ := exists(dir); !exist { if err := os.MkdirAll(dir, 0775); err != nil { panic(fmt.Sp原创 2020-06-14 12:05:39 · 327 阅读 · 2 评论 -
golang notes(9)--reimplementation of ngapp using go(UI part)
source file: ngapp.gopackage mainimport ( "github.com/therecipe/qt/core" "github.com/therecipe/qt/widgets")// NgApp contains the UI implementation.type NgApp struct { // enable debugging? enableDebug bool // widgets mainWin *widgets.QMainWi原创 2020-06-07 00:08:21 · 299 阅读 · 2 评论 -
golang notes (8)---therecipe/qt binding
6/5 update on therecipe/qt binding:refer to:https://github.com/therecipe/qtexport GO111MODULE=off; go get -v github.com/therecipe/qt/cmd/... && $(go env GOPATH)/bin/qtsetup test && $(go env GOPATH)/bin/qtsetup -test=falseNote: no n.原创 2020-06-06 00:43:39 · 347 阅读 · 0 评论 -
golang notes(7)---PAT (Basic Level) 1007-素数对猜想
Comparison of 'Sieve ofEratosthenes' and 'Sieve of Euler':Sieve of Eratosthenes (埃氏筛选法):func SieveOfEratosthenes(n int) int { p := make([]int, 0) flagNotPrime := make([]bool, n+1) // Sieve of Eratosthenes for i := 2; i <= n; i++ { if !flagNo.原创 2020-06-04 11:20:48 · 216 阅读 · 0 评论 -
golang notes (6)---PAT (Basic Level) 1002-写出这个数
using golang's math/big librarypackage mainimport ( "fmt" "math/big")func digits(n *big.Int) []int64 { d := make([]int64, 0) zero := big.NewInt(0) ten := big.NewInt(10) rem := big.NewInt(0) for n.Cmp(zero) > 0 { n, rem = n.DivMod(n, ten原创 2020-06-03 19:20:55 · 185 阅读 · 0 评论 -
golang notes(5)
After reading <Go in Action> and <Effective Go>, i am going to study the Go standard library next.6/2, notes on builtin and runtime package:slice.go, map.go and chan.go are of special interest within package runtime:Slice append opera原创 2020-06-02 11:04:57 · 269 阅读 · 0 评论 -
Kubernetes(K8s) and Docker notes (1.4)
(continued)(5,5) configure slave node and join the k8s clusterI'm using debian-testing in vmware as the slave node. You only need to install k8s and docker on slave node.Get token from master node if needed:(09:16 dabs@CNU1343VF8 ~) > kubectl原创 2020-05-29 09:45:30 · 979 阅读 · 0 评论 -
Kubernetes(K8s) and Docker notes (1.3)
(5,3) kubeadm init(21:26 dabs@CNU1343VF8 ~) > sudo kubeadm init --pod-network-cidr=10.244.0.0/16W0528 21:26:32.214961 129837 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config原创 2020-05-29 07:28:34 · 1236 阅读 · 0 评论 -
Kubernetes(K8s) and Docker notes (1.2)
(5.1) kubeadm config images pullavoid the "unknown manifest" error: pull images from mirrorgcrio, retag them, and finally untag them.$sudo kubeadm config images list |sed -e 's/^/docker pull /g' -e 's#k8s.gcr.io#mirrorgcrio#g' | sudo sh -x$sudo d.原创 2020-05-29 00:52:22 · 440 阅读 · 0 评论 -
Kubernetes(K8s) and Docker notes (1.1)
5/28, start reading <The Kubernetes Book>.用了几乎一天的时间研究install k8s with kubeadm and configure master node of k8s cluster,踩过不少坑,这里记录下来备查,也希望能帮助到有需要的同学。(1) install prerequisites (i'm using xubuntu 20.04)$sudo apt install apt-transport-https(2) .原创 2020-05-29 00:52:33 · 332 阅读 · 0 评论 -
LeetCode-May-Week4 Daily Challenge: Possible Bipartition
5/27 daily challenge:Possible BipartitionMy own solution, a bit faster than DFS(depth-first search):func possibleBipartition(n int, dislikes [][]int) bool { // key = ppl(1..n), val = group(0 or 1) group := make(map[int]int) ngroup := 0 for l..原创 2020-05-27 21:29:13 · 192 阅读 · 0 评论 -
LeetCode-May-Week4 Daily Challenge: Contiguous Array
5/26 Daily Challenge: Contiguous ArrayVery elegant and interestingidea:func findMaxLength(nums []int) int{ // dict keeps the 1st index of given key(=count), and let index=-1 for count=0 dict := make(map[int]int) dict[0] = -1 count := 0 maxL..原创 2020-05-27 04:02:48 · 185 阅读 · 0 评论 -
NG Toolset开发笔记--5GNR Resource Grid(57)
10/26 update:send DSR for msg5 scheduling is ok:*validatePucch for all PUCCH formats to avoid time/freq-domain overlapping*sendPucch(with sr=True) for both symbol-level period and slot-level per...原创 2019-10-26 22:14:57 · 1174 阅读 · 4 评论 -
NG Toolset开发笔记--NB-IoT Resource Grid(1)
1-30开始NB-IoT资源栅格开发。NgNbiotGrid基于NgLteGrid开发,主要实现inband模式。第一步是,调整NgLteGrid输出csv中time/frequency的索引方式,从base10调整为base36time domain:格式为[AABBCD],AA为HSFN,BB为SFN,C为subframe,D为symbolfrequency domain:格式为[原创 2018-01-30 21:21:09 · 515 阅读 · 0 评论 -
NG Toolset开发笔记--NB-IoT Resource Grid(2)
第二步是UI设计,包含4个tab:Host LTE、NB-IoT Common、NB-IoT UL和NB-IoT DL。比如nbiot ul tab:NB UL carrier对应PRB位置,缺省为紧挨着上端PRACH放置。NB DL carrier的PRB位置由界面配置。原LTE Grid更新如下:UL/DL Grid中对应NB UL/DL carrier的PRB标记为NB UL和N原创 2018-02-01 20:39:00 · 312 阅读 · 0 评论 -
NG Toolset开发笔记--NgMainWin
开发NG Toolset的目的有2个:(1) 、将原来LTE Toolset V1/V2的部分工具,用Python重写;(2)、增加5GNR的部分工具。长期计划是探索与构造Deep Learning在RAN NPO中的应用。因为LTE Toolset V1/V2使用Qt/C++实现的,所以NG Toolset的UI会用PyQt实现:'''ngmainwin.py''原创 2018-01-28 23:28:28 · 815 阅读 · 0 评论 -
NG Toolset开发笔记--LTE Resource Grid(1)
首先是ui部分,ngltegridui.pyclass NgLteGridUi(QDialog): def __init__(self, ngwin): super().__init__() self.ngwin = ngwin self.args = dict() self.initResGridMapper()原创 2018-01-28 23:45:47 · 1390 阅读 · 0 评论 -
NG Toolset开发笔记--LTE Resource Grid(2)
coding完毕,举例NgLteGrid.fillSrs实现如下:def fillSrs(self): #Note: Since srs has many ue-specific parameters, such as frequency bandwidth and offset and ue-specific subframe config. #so we j原创 2018-01-29 21:15:10 · 572 阅读 · 0 评论 -
scfc/vendor xml文件解析
用于解析nokia设备的scfc/vendor等xml文件。用xml.etree.ElementTree来写,相比QXmlStreamReader要简洁的太多!from collections import OrderedDictimport xml.etree.ElementTree as ETimport osimport timeimport ngmainwinclas原创 2018-02-06 01:29:40 · 490 阅读 · 0 评论