线性移位寄存器序列(m序列)之MATLAB实现
2020-09-01 23:52
1741 查看
移位寄存器的结构
nnn级线性移位寄存器的结构如下图
当生成多项式g(x)g(x)g(x)为本原多项式时,产生的序列为m序列。例如
g(x)=x5+x2+1g(x)=x^5+x^2+1g(x)=x5+x2+1的本原多项式,初态为10000的5级m序列,其周期为25−1=312^5-1=3125−1=31,结构如下图所示。
代码
m序列的性质在此不多赘述,感兴趣的可查阅相关资料,MATLAB生成m序列的代码
function mCode = mCodeGen(polynomial,reg) % m序列产生器函数 % polynomial为本原多项式次数,如对x^5+x^2+1,polynomial = [5 2 0] % reg为置寄存器初始值,也相当于PN码的初始相位,如初态为[1 0 0 0 0]时,寄存器初始状态如上图所示 ntap = length(polynomial); grade = polynomial(1); % 延时级数 mlen = 2^grade-1; % m序列一个周期的长度 mCode = zeros(1,mlen); % 产生一个周期的PN码 % 寄存器为 0 0 0 0 1 右边输出 for i = 1:mlen mCode(i)=reg(1); tap = grade+1-polynomial(1:ntap-1); m = mod(sum(reg(tap)),2); reg(1:grade-1) = reg(2:grade); reg(grade) = m; end end
相关文章推荐
- Matlab实现复指数,单位冲激,单位阶跃序列
- 斯坦福机器学习3:线性回归、梯度下降和正规方程组的matlab实现
- Matlab Tricks(十九)—— 序列左右移的实现
- 最小二乘法(c语言实现线性,matlab进行拟合)及相关系数的求解
- 用MATLAB实现领域平均法抑制噪声程序(线性滤波器)
- PointOperation07_Matlab实现灰度gray图线性直方图均衡(Linear Histogram Equalization)
- 线性方程数值分析中高斯迭代matlab实现
- 金融时间序列及Matlab实现
- 线性分类器之Fisher线性判别-MATLAB实现
- Fisher线性判别与感知器算法Matlab实现
- 实验一 离散时间序列卷积和MATLAB实现
- 周志华机器学习3_5线性判例分析 编程实现(python&matlab)
- Python实现线性判别分析(LDA)的MATLAB方式
- 吴恩达机器学习正则化线性回归和偏差算法的MATLAB实现(对应ex5练习)
- Matlab实现码元序列转化为二进制序列
- matlab 实现感知机线性二分类算法(Perceptron)
- matlab实现线性对比度展宽
- 线性神经网络在Matlab中实现
- 02-线性结构1 两个有序链表序列的合并 (15分)(数据结构)(C语言实现)
- 线性规划问题之MATLAB实现