function Sequence=MSequence(SF); %这里的SF代表输出的m序列的长度加1,SF=2^n,n=4
SFlog2=log2(SF); %SFlog2即是n=log2(SF)
if rem(SFlog2,1)~=0, error('SF must be an integer power of 2');end %R = rem(X,Y) if Y ~= 0, returns X - n.*Y where n = fix(X./Y)
switch SFlog2
case 3
R=3; instate=zeros(1,3); instate(R)=1;
N=2^R-1; generator=[0 1 3];
case 4
R=4; instate=zeros(1,4); instate(R)=1;
N=2^R-1; generator=[0 1 4];
case 5
R=5; instate=zeros(1,5); instate(R)=1;
N=2^R-1; generator=[0 2 5];
case 6
R=6; instate=zeros(1,6); instate(R)=1;
N=2^R-1; generator=[0 1 6];
case 7
R=7; instate=zeros(1,7); instate(R)=1;
N=2^R-1; generator=[0 3 7];
case 8
R=8; instate=zeros(1,8); instate(R)=1;
N=2^R-1; generator=[0 2 3 4 8];
case 9
R=9; instate=zeros(1,9); instate(R)=1;
N=2^R-1; generator=[0 4 9];
case 10
R=10; instate=zeros(1,10); instate(R)=1;
N=2^R-1; generator=[0 3 10];
case 11
R=11; instate=zeros(1,11); instate(R)=1;
N=2^R-1; generator=[0 2 11];
case 12
R=12; instate=zeros(1,12); instate(R)=1;
N=2^R-1; generator=[0 1 4 6 12];
otherwise
error('SF 8~12');
end
[Sequence, Outstate]=LinearFeedbackShiftRegister(R,generator,instate,N);
Sequence=2*Sequence-1;
没有合适的资源?快使用搜索试试~ 我知道了~
用MATLAB编写的产生M序列的方法,大家可以看看哈~.zip
共7个文件
asv:4个
m:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 67 浏览量
2023-12-27
16:04:49
上传
评论
收藏 5KB ZIP 举报
温馨提示
用MATLAB编写的产生M序列的方法,大家可以看看哈~.zip
资源推荐
资源详情
资源评论
收起资源包目录
用MATLAB编写的产生M序列的方法,大家可以看看哈~.zip (7个子文件)
Y-123
0
G
3960308
mSequence_generator
DS_communication2.asv 1KB
LinearFeedbackShiftRegister.m 728B
mstest.m 429B
MSequence.asv 1KB
mstest.asv 429B
LinearFeedbackShiftRegister.asv 654B
MSequence.m 1KB
新建文件夹
共 7 条
- 1
资源评论
m0_74456535
- 粉丝: 90
- 资源: 725
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功