伪随机序列的产生c语言,伪随机序列的c语言编程实现.pdf

伪随机序列的c语言编程实现

A typical PRN Sequence

---m Sequence

云南民族大学

姓名:陈 楠

学号:12011113201

年级:11 级信号与信息处理专业

m 序列简介

由线性反馈移位寄存器产生的周期最长的二进制数字序列称为最大长度线性反馈移位

寄存器序列,通常称为 m 序列。序列长度(周期) T 与移位寄存器的级数 n 的关系是:T=2n- 1 (1)

移位寄存器的不同初始值决定了 m 序列有不同的 0、1 排列,但周期是相同的。如在图 1 中

n=4, 则 T=15 。 若 初 始 状 态 为 a3 =1, a2 =0, a1 =0, a0 =0, 则 序 列 的 1 个 周 期 为

000111101011001

m 序列的伪噪声特性具体表现为 :(1)序列中的 1 与 0 出现的数目最多差 1 个,概率几乎

相等 ;(2) 长度为 k 的游程约占 ,而且在长度为 k 的游程中 ,全为 1 与全为 0 的游程数相

同;(3) 当 T 很长,码元宽度很小时(高传输率的现代???信正是如此 ) ,序列的自相关函数 R(τ)近

似为冲激函数δ(t)的形状, 功率谱密度 G(ω)近似为白噪声的功率谱特性 。由于 m 序列的均衡

性、游程分布、自相关函数、功率谱密度与随机序列的基本性质很相似 ,所以通常认为 m 序

列属于伪噪声序列或伪随机序列。

#include“stdio. h”

#include“stdlib. h”

staticint R[4] ={1};

main()

{

int n=4

int f;

int k;

printf(“PNCode: \ N”) ;

printf(Input k:”) ;

scanf( %d”, &k) ;

n=k315;

while (n)

{

if ((( ! R[3] &&R[0])| | (R[3]

&&( ! R[0]))) f =1;

elsef =0;

R[0] =R[1];

R[1] =R[2];

R[2] =R[3];

R[3] =f;

Printf(“%3d”, R[0]) ;

n- - ;

}

printf(“\ n”) ;

}

分别输入 k=1 与 3,所得结果与希望的一样。运行情况如下 :

PNCode:

Input k: 1

000111101011001

PNCode:

Input k:3

000111101011001000111101011001000111101011001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值