偽亂數二進位數列(英语:pseudorandom binary sequence,简称:PRBS),是一種特別的二進位數列,若二進位數列的位元數為N,其中為1的數字有m個,則其其自相关函数

只有以下二個值:

其中

稱為偽亂數二進位數列的占空比,類似連續時間信號的占空比

偽亂數二進位數列稱為偽亂數,雖然它是決定性的,不過其的數值和前後元素的數值無關,看似隨機的,因此稱為偽亂數。

偽亂數二進位數列可以延伸到無限長,方式是在個元素都出現過之後,再從再出現一次……,這點和真正的由放射性衰減白雜訊產生的數列不同,後者在本質上就是無限長的。偽亂數二進位數列比最大長度數列更普遍,後者是特別的N位元偽亂數二進位數列,是由線性移位暫存器所產生的。最大長度數列的占空比恆為50%,長度為k位元的暫存器,其數列長度為。偽亂數二進位數列可以用在電信密碼學模擬等應用。

實際的實現

编辑
 
PRBS-15的示意圖, 中的  表示將第15和14個位元進行XOR後,做為新的位元

偽亂數二進位數列可以用线性反馈移位寄存器產生[1]

一些常見的的數列產生多項式為

PRBS7 =  

PRBS15 =  

PRBS23 =  

PRBS31 =  

以下是一個用 PRBS-7 產生偽亂數二進位數列的C語言程式

#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
    
int main(int argc, char* argv[]) {
    uint8_t start = 0x02;
    uint8_t a = start;
    int i;    
    for(i = 1;; i++) {
        int newbit = (((a >> 6) ^ (a >> 5)) & 1);
        a = ((a << 1) | newbit) & 0x7f;
        printf("%x\n", a);
        if (a == start) {
            printf("repetition period is %d\n", i);
            break;
        }
    }
}

此例中,PRBS-7的週期為127位元。

相關條目

编辑

參考資料

编辑
  1. ^ Paul H. Bardell, William H. McAnney, and Jacob Savir, "Built-In Test for VLSI: Pseudorandom Techniques", John Wiley & Sons, New York, 1987.

外部連結

编辑

📚 Artikel Terkait di Wikipedia

邪惡數

sequence)給出了零值的位置。 不是邪惡數的數字被稱為可惡數。 Sloane, N.J.A. (编). Sequence A001969 (Evil numbers: numbers with an even number of 1's in their binary expansion)

二进制

二進制(英語:binary)在數學和數位電路中指以2為底数的記數系統,以2為基數代表系統是二進位制的。這一系統中,通常用兩個不同的數字0和1來表示。數字電子電路中,邏輯門直接採用了二進制,因此現代的計算機和依赖計算機的設備裡都用到二進制。每個數字稱為一個位元(二進制位)或比特(Bit,Binary digit

可惡數

sequence)給出了非零值的位置。 不可惡的數字被稱為邪惡數。 Sloane, N.J.A. (编). Sequence A000069 (Odious numbers: numbers with an odd number of 1's in their binary expansion)

音乐术语列表

(Range) 音色(Colour) 乐句 (Phrase) 声部 切分音(Syncopation) 二段體(Binary) 簡單二段體(Simple Binary) 輪旋二段體(Rounded Binary) 三段體(Ternary) 奏鳴曲式(Sonata form) 呈示部(Exposition) 發展部(Development)

209

Foundation.  Sloane, N.J.A. (编). Sequence A002720 (Number of partial permutations of an n-set; number of n X n binary matrices with at most one 1 in each

PL-SQL

位二进制精度的最大值是大约相当于 38 位小数精度。 BINARY_FLOAT 是 32 位、 单精度浮点数字数据类型。可以支持至少6位精度,每个 BINARY_FLOAT 的值需要 5 个字节,包括长度字节。 BINARY_DOUBLE 是为 64 位,双精度浮点数字数据类型。每个 BINARY_DOUBLE 的值需要 9

蓋亞BH1

; et al. A non-interacting Galactic black hole candidate in a binary system with a main-sequence star. October 2022. arXiv:2210.05003  [astro-ph.GA]. 

69

[2024-04-22]. (原始内容存档于2019-05-27).  Gupta, Shyam Sunder. Smarandache sequence of Ulam numbers. Wenpeng, Zhang (编). Research on Number Theory and Smarandache