<aside>
✏️
編碼 - Coding
- Coding 只有在 LE Coded PHY 會用到,會透過增加資料的冗餘來提升傳輸的可靠性
- Coding 由兩個步驟組成:
- Forward Error Correction (FEC):將原始 bit stream 編碼,使其彼此之間 dependent 方便糾錯
- Pattern Mapper Spreading:將 FEC 輸出做不同程度的 Mapping,以對應到不同的 $S$ 值
</aside>
<aside>
✏️
前饋錯誤更正編碼器 - Forward Error Correction encoder

- LE Coded PHY 使用 Convolutional FEC Encoder,其:
- 輸入為 1 bit,輸出為 2 bit $(a_0, a_1)$
- 圖中的 $D$ 為暫存器,可以儲存前一時間的輸入,初始化時所有 $D$ 值均為 $0$
- 圖中的 $\oplus$ 為 XOR 操作,其生成多項式為:
- $G_0(x)=1+x+x^2+x^3$ ( $a_0=$目前輸入+前三次的總和 mod 2)
- $G_1(x)=1+x^2+x^3$ ( $a_1=$目前輸入+前前次+前前前次 mod 2)
- 這邊舉個例子
</aside>
<aside>
✏️
Pattern Mapper - 樣式映射

- FEC 的輸出會根據 Spreading Factor $S$ 的值做對應
- 這裡的 $P$ 值代表每一個 FEC 的輸出會轉變成幾個 symbols
- 由於 FEC 已經讓 bit 數量翻倍了,因此 $P=\frac{S}{2}$
- 這裡以上一段的輸出
11100001
為例:
- 當 $S=2$ 時,$P=1$,因此不做任何改動,一樣輸出
11100001
- 當 $S=8$ 時,$P=4$,因此每個 output 都會變成四倍長:
1100 1100 1100 0011 0011 0011 0011 1100
</aside>