77范文网 - 专业文章范例文档资料分享平台

m序列扩频码发生器及伪码特性研究(2)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

m序列的递推方程: an?[4]

?caii?1nk-i

ci∈(0, 1),它的取值决定了反馈函数的结构。 m序列的特征方程[4]:

式中xn的取值只表明系数cn的取值(0或1),其本身并无实际意义。特征多项式的系数c0,c1,c2,c3,…,cn,与反馈连接系数c0,c1,c2,c3,…,cn,一一对应。所以,研究m序列的反馈连接系数问题就转化成从数学上研究特征多项式的特性。

特征多项式与输出序列的周期有密切关系.当f(x)满足下列三个条件时,就一定能产生m序列:

(1) f(x)是既约的,即不能再分解多项式; (2) f(x)可整除l+xm,这里m=2n-1;

(3) f(x)不能整除xq?1,这里q

如果一个n级反馈移位寄存器的特征多项式为本原多项式,则该反馈移位寄存器生成的随机序列具有最大的周期为2n-l。因此,只要找到反馈移位寄存器的本原多项式,并以此为反馈函数,序列发生器就能产生m序列。根据该推论,先求本原多项式,确定系数c0,c1,c2,c3,…,cn,中哪些为0,哪些为l,即可得到反馈连接方式。

由于产生m序列的反馈移位寄存器结构已定型,且反馈函数和连接形式都有一定的规律,人们根据公认的规律将反馈函数F和移存器位数n的对应关系列表表示,因此利用查表的方式就可以设计出m序列码。表1列出了部分m序列码的反馈函数F和移存器位数n的对应关系[5]。如果给定一个序列信号长度N,则根据N=2\求出n,由n查表便可以得到相应的反馈函数F。

例如,要产生N=255的m序列,首先根据M=2n-1,确定n=8,再查表可得反馈函数F=Q1?Q2?Q3?Q8

表1 反馈函数F

n 3 4 5 6 7 f(x)?c0?c1x???cnx??cixini?0nM?2n?1 7 15 31 63 127 反馈函数F Q1?Q3,Q2?Q3 Q1?Q4,Q3?Q4 Q2?Q5,Q3?Q5 Q1?Q6 Q1?Q7,Q3?Q7 5

8 9 10 11 12 255 511 1023 2047 4095 Q1?Q2?Q3?Q8 Q4?Q9 Q7?Q10 Q2?Q11 Q1?Q4?Q5?Q12 5 m序列反馈移位寄存器仿真模型 图5为基于MATLAB/Simulink的产生m序列反馈移位寄存器仿真模型。 LogicalOperatorXOR1zUnit Delay1zUnit Delay11zUnit Delay21zUnit Delay31zUnit Delay4SpectrumScope1zUnit Delay51zUnit Delay6Zero-OrderHold1zUnit Delay7simoutTo WorkspaceB-FFT

图5 m序列产生器实现框图

本文利用本原多项式101110001(式中1代表寄存器有反馈,0则代表无反馈)构建产生周期为255的m序列反馈移位寄存器。

单位寄存器(Unit Delay):将信号进行寄存,在时钟到来时,将寄存的信号传递给下一个寄存器。

逻辑器件(Logical Operator):将从寄存器反馈的信号进行异或逻辑运算,再传递给第一个寄存器。

零阶采样保持(Zero-Order Hold):与频谱仪的采样时间保持一致,保证频谱仪可以正常工作。

频谱仪(Spectrum Scope):可以观察到出入信号的频谱。 返回工作空间(To Workspace):将产生的二进制m序列返回MATLAB的工作空间,方便进行类似求相关函数的信号处理。

6

6 m序列的Matlab实现

实际工程中应根据不同的系统要求,设计不同的扩频码。随着扩频速率的不断 提高,扩频码的长度急剧增加,使得设计扩频码并验证其各项指标成为一件极为繁琐、工作量巨大的工作。目前在伪随机码设计中已普遍采用计算机作为辅助设计工具[3],本文基于MATLAB平台产生了255位的m序列,并对m序列的自相关特性和互相关特性进行了仿真与分析。

由前面分析知,只要找到反馈移位寄存器的本原多项式,并以此为反馈函数, 序列发生器就能产生m序列。根据系统需求的m序列的码长,在本原多项式表中,确定特征多项式f(x),f(x)一般以8进制表示,例如可以产生255位码长m序列的特征多项式八进制表示如下:[435],[551],[747],[453],[545],[537],[703],[543]共8个,将八进制表示的特征多项式转换为二进制(如表2所示)后,可以得到反馈系数和本原多项式。

表2 八进制转换为二进制 八进制 二进制 系数 5 101 c8c7c6 4 100 c5c4c3 5 101 c2c1c0 例如:对应的本原多项式为:f(x)?1?x2?x5?x6?x8。

基于Matlab的自编函数m_seq[3],可以直接读取本原多项式表中的8进制数,就能得出m序列,而不需将f(x)由八进制转换为二进制后,再进行m序列的产生,从而简化了人工计算的步骤。

下面以自编函数m_seq[3]为基础产生m序列,进行分析: 主函数源代码如下: clear;clc;close all %主函数

% prim_poly=[0 0 0 1 1 1 0 1]; %特征多项式 prim_poly= ;%具体给出的8进制数据 m_out=m_seq(prim_poly); for n=1:1:10*length(m_out) x(n)=n/10;

t2(n)=int16(ceil(x(n))); y(n)=m_out(t2(n)); end

plot(x,y)

ylim([-0.1,1.1]);

保存为main.m,运行后可得返回结果。

自编函数m_seq源代码如下[7]:

function mseq=m_seq(prim_poly)%函数声明 fbconnection=de2bi(oct2dec(prim_poly));

T2bi---转换十进制为二进制; oct2dec---八进制转换为十进制 %以上实现8进制本原多项式直接转换成2进制

fbconnection=fbconnection(end-1:-1:1); %2进制本原多项式位数顺序颠倒。即从2进制数组的倒数第二位开始,反向生成新的数组。

n=length(fbconnection); %length(z)表示求出z元素的个数,这个函数表示求出fbconnection的元素个数

7

N=2^n-1;

register=ones(1,n); %n级移位寄存器赋初值全\,ones表示赋值全为1 mseq=zeros(1,N); %zeros为赋值全为0 mseq(1)=register(n); for i=2:N

newregister(1)=mod(sum(fbconnection.*register),2);

% ①:fbconnection.*register表示两个数组对应元素的相乘, % ②:sum(a)表示将所乘得到的数组a中的每个元素相加 % ③:mod(a,b)就是求的是a除以b的余数。 for j=2:n

newregister(j)=register(j-1); end

register=newregister; mseq(i)=register(n); end

例如,要生成255位码长特征多项式[545]的m序列,只需直接执行m_seq(545),则m序列为:

1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1

0 0

所对应的m序列的波形如图6所示。

8

10.80.60.40.20050100150200250300

图6 m序列[545]波形图

如果要生成255位码长特征多项式[537]的m序列,只需直接执行m_seq[537],所对应的m序列的波形如图7所示。

10.80.60.40.20050100150200250300

图7 m序列[537]波形图

7 测试m序列的自相关特性与互相关特性

以前述所产生的 m 序列为例,分析伪随机序列的相关特性。为方便起见,这里把序列中的 ―1‖和 ―0‖ 分别映射成 ―1‖ 和 ―- 1‖。计算相关性主程序源代码如下:

mseq1 = m_seq(545); mseq2 = m_seq(537); ind1 = find(mseq1==0);

mseq1(ind1)=-1;%把\映射成\ind2 = find(mseq2==0);

mseq2(ind2)=-1; %把\映射成\

9

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库m序列扩频码发生器及伪码特性研究(2)在线全文阅读。

m序列扩频码发生器及伪码特性研究(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/470708.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: