今天给各位分享Matlab环境下M序列波形生成方法探讨的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
于是就有了“伪随机序列”这个名字,它具有某些类似于随机噪声的统计特性,并且可以重复生成。因此,它被广泛使用。今天我们来谈谈m序列。
m序列是最长线性反馈移位寄存器序列的缩写。它是具有线性反馈的移位寄存器产生的最长周期序列。
m序列的生成可以从上图看出。先设置初始状态,然后根据框图原型进行移位并进行mod2运算。这样最后移位15次后又回到初始状态(1,0,0,0)。所以除了全零状态之外,总共可以使用15种类型。
一般来说,n级线性反馈寄存器可以产生的最长周期等于2^n-1
线性反馈移位寄存器原理框图接下来是matlab代码
关闭所有;全部清除; clc;
FB=200000;
上采样数=20; %每个符号的采样点数
BIT_NUM=520;
加载RC_LPF.mat; close all 表示关闭所有窗口,clear all 表示清除所有变量,clc 清除命令
此处加载LPF 文件。
可以根据以下公式直接生成m序列:
image.png%生成m序列
%m 序列本原多项式:x^3+x+1、x^4+x+1、x^5+x^2+1、x^6+x+1、x^7+x^3+1
% g3=[0 1 1];
% g4=[0 0 1 1];
% g5=[0 0 1 0 1];
% g6=[0 0 0 0 1 1];
% g7=[0 0 0 1 0 0 1];
g8=[0 0 0 1 1 1 0 1];这里的要求是2的8次方的m序列,因此可以得到m的本原多项式。 g8是特征多项式表示的阵列模式,相当于反馈系数cof。注意前面的都是0;
%下面产生一个m=8的序列
m=长度(g8);
N=2^m-1;
寄存器=[零(1,m-1) 1]; %移位寄存器的初始状态
new_register=zeros(1,m);
m_seq_out8=zeros(1,N+1);
m_seq_out8(1)=寄存器(m);
对于i=2:N
new_register(1)=mod(sum(g8.*register),2); % 将移位寄存器与反馈系数模2相加,并更新移位寄存器的第一个数字
对于j=2:m
new_register(j)=寄存器(j-1); %更新移位寄存器中的其他数字
结尾
注册=新注册;
m_seq_out8(i)=寄存器(m); 输出
结尾
m_seq_out9=2*m_seq_out8-1; %双极变换
seq_byte=zeros(1,32); %32个字节,每个字节8位,32个字节中存储m序列,产生m=8的序列。当然,N=2^m-1,也就是最长的Period,设置移位寄存器的初始状态,m-1列0,最后1,应该是[00000001],即a7为1 ,其他均为0。
接下来的循环语句是更新移位寄存器,定义一个新变量new_register来保存新数据,最后返回到register。最后,m个序列数据被存储在32字节中。
对于我=1:32
对于j=1:8
seq_byte(i)=seq_byte(i)*2;
如果m_seq_out8((i-1)*8+j)==1
seq_byte(i)=seq_byte(i)+1;
结尾
结尾
结尾
数据1=零(1,20*长度(m_seq_out9)); %采样率扩大20倍,每一位对应20个样本
对于i=1:length(m_seq_out9)
对于j=1:20
数据1(20*(i-1)+j)=m_seq_out9(i);
结尾
结尾
数据2=[数据1,数据1,数据1,数据1];
数据3=卷积(数据2,LPF1); %LPF1为低通滤波器,对应采样率(20*200KSPS=4 MSPS)
i=1:长度(数据3);
数字;
绘图(i,数据3);接下来的语法是嵌套的for循环,最后将数据和LPF进行卷积,也就是频域相乘。这时就会出现“吉布斯”效应,这就是低通滤波。转换器产生的峰谷值会下降约8.5%,所以产生了这个波形。
【Matlab环境下M序列波形生成方法探讨】相关文章:
用户评论
M序列波形挺常用吧,现在可以用matlab搞出来真方便!
有14位网友表示赞同!
之前学过m序列,感觉在信号处理中还挺重要的。
有17位网友表示赞同!
matlab实现的m序列波形,性能一定杠杠的!
有9位网友表示赞同!
学习一下matlab下的m序列波形产生方法,可以丰富我的工具库。
有20位网友表示赞同!
matlab 是研究通信领域的首选软件,做m序列波形也是常用的操作。
有6位网友表示赞同!
这个标题看样子很专业,我得去深入了解下 m 序列究竟是啥东西!
有13位网友表示赞同!
最近一直在学matlab,这个方法很有用,可以试试。
有7位网友表示赞同!
不知道产生的m序列波形有什么应用场景?能告诉我吗?
有13位网友表示赞同!
如果学习了该方法,应该能更好地理解信号处理吧!
有17位网友表示赞同!
matlab 的强大功能让我越来越佩服它!
有11位网友表示赞同!
看来这个标题可以帮助我深入了解通信原理!
有8位网友表示赞同!
希望能看到相关的案例分析,更直观的感受一下这个方法。
有7位网友表示赞同!
学习matlab生成波形真是个很好的技能!
有7位网友表示赞同!
matlab的应用范围真是太广了!
有14位网友表示赞同!
不知道这种m序列波形和其他波形有什么区别?
有11位网友表示赞同!
学习技术真的需要不断探索!这个标题很有启发意义!
有17位网友表示赞同!
我得去寻找相关的教材和教程,来学习m 系列波形的产生方法.
有10位网友表示赞同!
做研究论文时候,matlab的工具真是必不可少啊!
有13位网友表示赞同!
感觉这个研究方向很新颖!
有6位网友表示赞同!