哈工大扩频通信实验报告 - 图文

扩频通信实验报告

附 录

(1)%抽取m序列,确定m序列的个数 clc; clear; s=0; r=5; N=2^r-1;

%%%%%%求q可取值的个数 for i=1:N-1

b=gcd(i,N); if b==1 s=s+1; else end end m=1; mm=1; i=1;

%%%%2产生第一组m序列,以q=1开头 for n=1:r

A(m,n)=i; i=mod(2*i,N); end for i=2:N b=gcd(i,N);

if b==1 %%%%如果与N互质,则进行分组 c=0; for mm=1:m for n=1:r

if i==A(mm,n) c=1;

%如果新取的数与之前已确定的数是重复的,则跳出

break; else c=0; end end if c==1 break; end end

if c==0 m=m+1;

%%%%新取数与之前已确定的数无重复,则作为新一行第一位

for n=1:r A(m,n)=i; i=mod(2*i,N); end end end end

disp (A) %%%%以矩阵形式输出分组后的数 C=min(A',[],1); %%%%求出矩阵每行最小值 disp(C) pp=0; qq=0; flag=0; k=(N-1)/2;

%%%%依次寻找本原多项式对应的反多项式 for m=1:s/r flag=0; for i=1:25 for n=1:r

q=mod(A(m,n)+i*N,k); if q==0

qq=(A(m,n)+i*N)/k; pp=A(m,1); %%显示互反多项式

fprintf('%d-%d\\n',pp,qq ) flag=1;

%%%只要找到反多项式,则跳出 break; end end if flag==1 break; end end

(2)%产生m序列的函数:produce_m_seq function [m_seq]=produce_m_seq(ini)

30

扩频通信实验报告

len=length(ini);%移位寄存器的长度,本实验r=5 L=2^len-1;%m序列周期,本实验为31位 regi=[1,zeros(1,len-1)];%初始寄存器内容10000 m_seq6=produce_m_seq(ini6); fprintf('NO.%d is \\n ',6); fprintf('%d ',m_seq6); m_seq(1)=regi(1); for i=2:L

newregi (

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4