首页 > 编程知识 正文

matlab生成四级M序列,matlab产生zc序列

时间:2023-05-03 16:30:26 阅读:108243 作者:1459

m序列的仿真验证

一、实验目的:利用matlab验证m序列的产生方法及其自相关特性

二、实验要求:设m序列的生成多项式为g(x )=1 x3 x4,求出

)1) m序列的输出及其自相关序列

)2)脉冲成形为p(t )=1

0

0其他

画出该m序列信号自相关函数

(3)脉冲波形进行馀弦变换(=0),绘制其m序列信号自相关函数。

源代码

clear all;

全部关闭;

g=19; %G=10011;

state=8 %state=1000

L=1000;

%m序列生成

N=15;

MQ=mgen(g,state,l );

%m序列自相关

ms=conv(1-2*MQ,1-2*MQ ) 153360-1:1 ) )/N;

图形(1)。

辅助(222 )。

stem(ms ) 153360end );

axis([063-0.31.2]; title(m序列自相关序列) )。

由%m序列组成的信号(矩形脉冲)。

N_sample=8;

Tc=1;

dt=Tc/N_sample;

t=0:dt:Tc*L-dt;

gt=ones(1,N_sample );

mt=SIGExpand(1-2*MQ,N_sample );

mt=conv(mt,gt );

图形(1)。

辅助(221;

plot(t,mt ) 1:长度t );

axis([063-0.31.2]; title(m系列矩形成形信号) )。

ST=SIGexpand(1-2*MQ ) 1:15 ),N_sample );

s=conv(ST,gt );

ST=s(1:length ) ST );

RT1=conv(mt,ST ) end:-1:1 ) )/(n*n_sample );

辅助(223 )。

plot(t,rt1 ) length(ST ) : length (ST ) length(t )-1 );

axis([063-0.31.2]; title(m序列矩形成形信号自相关); xlabel('t );

Tc=1;

dt=Tc/N_sample;

t=-20:dt:20;

gt=Sinc(t/TC;

mt=SIGExpand(1-2*MQ,N_sample );

mt=conv(mt,gt );

ST2=SIGExpand(1-2*MQ ) 1:15 ),N_sample );

S2=conv(ST2,gt );

st2=s2;

RT2=conv(mt,ST2 ) end:-1:1 ) )/(n*n_sample );

辅助(224;

t1=-55 dt:dt:Tc*L-dt;

%plot(t,mt ) 1:长度(t );

plot(T1,RT2 ) 1: length (t1 );

axis([063-0.51.2]; title(m系列since成形信号的自相关); xlabel(t ) )。

所需的函数程序

function[out]=SIGexpand(d,m ) ) ) ) ) ) ) ) )。

n=length(d );

out=Zeros(m,n );

out (1, )=d;

out=reshape(out,1,M*N );

函数[ out ]=mgen (g,state,n ) )。

%输入g:m序列生成多项式(十进制输入) ) ) ) ) ) ) ) ) ) ) ) )。

%state:寄存器初始状态(十进制输入) ) ) ) ) ) ) ) ) )。

%N:输出序列长度

% test g=11; state=3 N=15;

gen=deC2bin(G )-48;

m=length(gen;

curstate=deC2bin(state,M-1 )- 48;

for k=1:N

out(k )=

curstate(m-1 );

a=

rem(sum(gen ) 2:end ).*curState ),2 );

自定义状态

=[acurstate(1:m-2 ) ]

结束

实验结果:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。