Git

Introduction

Git is a famous and powerful open-source software for version control and management. It was developed by Linus Torvalds with C programing language. What is different from subversion, git adopts a completely distributed manner. Regarding its utilization, besides its built-in manual, there is also an excellent book, Pro Git, which can be obtained for free1. This post just summarizes the preliminary usage of git, which is referred from the book.

Objects

In git, there are 3 types of objects defined, blob, tree, and commit. In order to view its properties, a dedicated command git cat-file is provided. Its type and content can be returned with option -t and -p respectively.

  • A blob keeps the content of a binary compressed file.
  • A tree represents a directory, including its hierarchy, permission, and the names of its componential files.
  • A commit is essentially a SHA-1 hash.

A branch or a tag is nothing but a pointer pointing at the SHA-1 hash of a commit. Moreover, HEAD is also a pointer, which always points the active branch at the time.

Areas

In the utilization of git, there are four important areas for storage, workspace, index (or stage), repository and remote. Their relationship can be illustrated by Figure git_flow.

./fig/git.png

[Read More]

LTE - PCFICH

As its name implies, physical control format indicator channel (PCFICH) indicates the size of the control region, or equivalently the position where data region starts, of the instant subframe in terms of the number of OFDM symbols.

[Read More]

NR - Phase Tracking Reference Signal (PTRS)

Introduction

Targetting for the great goal of the 5th generation (5G) system, the new radio (NR) system, proposed by the 3rd generation partner project (3GPP), has employed a variety of cutting-edge technologies, including advanced channel coding schemes, e.g., low density parity code (LDPC) and polar code, higher-order modulation schemes, e.g., 256QAM, etc. Considering the fact that the lower frequency spectrum has already been so crowded and overutilized, NR decided to explore higher frequency band, e.g., million meter wave (mmWave). After all, much richer spectrum resources are available at higher frequency bands than lower frequency spectrum.

As is well-known, high frequency transmission suffers severe attenuation loss in the propagation, which remarkably limits the effective coverage and transmission distance. Fortunately, higher frequency spectrum has shorter wave length. Given an aperture size, much more antennas can be equipped in higher frequency transmission than those in lower frequency transmission. In this way, more antennas can yield larger beamforming gain and complement the attenuation loss in the transmission over the higher frequency bands. In a word, higher frequency enables the dense deployment of antennas, i.e., massive multi-input multi-output (M-MIMO), or equivalently large-scale MIMO (LS-MIMO); while M-MIMO extends the transmission distance and coverage of the higher frequency bands. Therefore, M-MIMO and higher frequency transmission are usually jointly utilized and have been the focus of the research and discussion in the 3GPP standardization.

Generally, an oscillator always produces phase noise, which is essentially an impairment of the oscillator. Nevertheless, the phase noise soars as the operation frequency grows. In the NR system, which operates on higher frequency spectrum, the impact of phase noise cannot be ignored. Instead, the phase noise must be accurately estimated and complemented before data detection. To this end, a dedicated reference signal, termed phase tracking reference signal (PTRS) has been proposed to track the fluctuation of the phase noise.

This report intends to cover the detail relating to PTRS. The remaining of this report is structured as follows. Section #sec:pn-model briefly introduces the models of phase noise, and Section #sec:presence-density provides the configuration of PTRS, including its presence and density in the time and frequency domain. The number of PTRS supported is given in Section #sec:port-num. The PTRS port association follows in Section #sec:port-association. Then, resource mapping and sequence generation are presented in Sections #sec:res-map and #sec:seq-gen respectively. In Section #sec:pn-estim-compl, the methodology of phase noise estimation and complementation are described in details. Finally, Section #sec:summary summarizes the report.

For clear description, following denotation conventions are adopted throughout the document. \(\otimes\) is the operator of circular convolution. $\mathcal{F}_N \left\{ \cdot \right\} $ is the $N$-point fast Fourier transformation (FFT) operator. Radio resource control (RRC) signaling and downlink control indicator (DCI) parameters are illustrated as blue and orange phrases, respectively.

[Read More]

Linux - WiFi6

Today, I found the wireless network card (Intel Corporation Wi-Fi 6 AX201) is suffering random disconnection. Maybe there is something wrong with the driver in Linux.

[Read More]

NR - Multi-TRP Transmission

Introduction

Recently, multi-TRP transmission is one of the most remarkable features of NR and consequently the focus of discussion in the standardization of 3GPP, since it is able to efficiently improve the reliability or the efficiency of the transmission.

This document tries to provide an in-depth analysis and reveal the rationale behind the technology.

For clear description, following denotation conventions have been adopted throughout the document. Scalars, vectors, and matrices are respectively denoted by plain, lower-case boldfaced, and upper-case boldfaced letters. For a complex scalar, \((\cdot)^{*}\) means its conjugate, and \(|\cdot|\) gets its absolute value. Given a matrix \(\mathbf{A}\), \(\mathbf{A}^H\) is its conjugate transposition, and \(|\mathbf{A}|\) returns its determinant. Particularly, \(\mathbf{I}\) stands for the entity matrix. \(\mathbb{C}^{m \times n}\) represents the complex space of dimension \(m \times n\). \(\mathcal{E}(\cdot)\) is the expectation operator.

[Read More]

SLNR-based Beamforming

Introduction

In coordinatd scheduling and beamforming (CS/CB), one of coordinatd multipoint (CoMP) transmission schemes, signal leakage noise power ratio (SLNR)-based beamforming is widely used.

Just as its name indicates, SLNR aims to maximize the ratio of desired signal power to the undesired leakage power and noise power.

This page is just written to summarize this SLNR-based beamforming scheme.

[Read More]

Whitening Filter

Usually, we need to filter a mixture of desired signal and colored noise, in order to make the spectrum of the noise become white.

[Read More]

Linux - Sway

Introduction

Sway is a tiling compositor based on Wayland. It can be identified as a counterpart of i3 in Wayland, and as resource saving and lightweight as i3. Even, sway has a completely compatible configuration to i3.

Sway's core components and necessary applications can be simply installed and configured, e.g.,

  • sway: core components
  • swaylock: a screen locker
  • swayidle: an idle management daemon
  • foot: a native terminal in wayland
  • rofi: an application launcher and window switcher
  • waybar: a bar utility in wayland
  • light: a backlight controller
  • mako: a notification daemon
  • grim: a screenshot utility
  • slurp: a region selection utility in wayland
  • swaybg: a background setting utility
[Read More]

Remap CapsLock as Ctrl

Background

Usually, key CapsLock is seldom used in our daily utilization, while key Ctrl is frequently used, esp. for Emacs users. Therefore, we can turn CapsLock into an additional Ctrl.

[Read More]