收藏 分销(赏)

gold序列实验报告.doc

上传人:w****g 文档编号:1680313 上传时间:2024-05-07 格式:DOC 页数:12 大小:107KB 下载积分:8 金币
下载 相关 举报
gold序列实验报告.doc_第1页
第1页 / 共12页
gold序列实验报告.doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
Gold序列实验报告 一、实验过程及分析 1 m序列&Gold序列得产生 (1)选取本原多项式,产生m序列。 fbconnection_m=[1 0 1 0 0 1 1]; mseq=m_sequence(fbconnection_m); (2)由本原多项式生成得m序列为m序列优选对,以此优选对来产生Gold序列。 fbconnection_op_1=[0 0 1 0 0 0 1]; fbconnection_op_2=[1 1 1 0 0 0 1]; goldseq=gold_seq(fbconnection_op_1,fbconnection_op_2); 2 m序列得相关特性 图1 m序列自相关函数 图 2 m序列互相关函数 3 Gold序列得相关特性 图3 Gold序列自相关函数 图4 Gold序列互相关函数 图2-5 m序列&Gold序列最小,最大相关值 4 m序列&Gold序列相关特性比较 图6 m序列&Gold序列自相关函数比较 图7 m序列&Gold序列互相关函数比较 gold序列在时延不为0就是三值得,这一点不如m序列,在时延为0处具有与m序列相同得峰值特性。显然,m序列得自相关特性比Gold序列得自相关特性要好。 Gold序列具有更小得互相关峰值,显然Gold序列得互相关特性比m序列得互相关特性性能要好。 5 m序列优选对 m序列优选对也就是gold序列族中得gold序列,所以其互相关函数与gold序列一致。 图8 m序列优选对得互相关函数 6 任选6个Gold序列,观察其自相关函数 图9 任选6个Gold序列得自相关函数 7 任选6对Gold序列,观察其互相关函数 图 10 任选6对Gold序列得互相关函数 任意两个Gold序列互相关函数幅度小于或等于17,符合Gold理论。 源码 (1) PN_Correlation、m % ======================================= % PN_Correlation、m % Correlation analysis of PN sequence % % Author: jzh (04011646 seu) % Date: 2014、12、29 % ======================================= % clean close all; clear all; clc; % optimum pairs fbconnection_op_1=[0 0 1 0 0 0 1]; fbconnection_op_2=[1 1 1 0 0 0 1]; % any m sequence for test fbconnection_m=[1 0 1 0 0 1 1]; % gold sequence mseq_op_1=m_sequence(fbconnection_op_1); mseq_op_2=m_sequence(fbconnection_op_2); goldseq=gold_seq(fbconnection_op_1,fbconnection_op_2); % m sequence mseq=m_sequence(fbconnection_m); % mapping mseq_op_1((mseq_op_1==0))=-1; mseq_op_2((mseq_op_2==0))=-1; goldseq((goldseq==0))=-1; mseq((mseq==0))=-1; m_auto=ccorr(mseq); % any two m sequences except optimum pairs m_cross=ccorr(mseq,mseq_op_1); gold_auto=ccorr(goldseq(1,:)); gold_cross=ccorr(goldseq(1,:),goldseq(2,:)); m_op_cross=ccorr(mseq_op_1,mseq_op_2); m_auto_max = max(m_auto) m_auto_min = min(m_auto) gold_auto_max = max(gold_auto) m_cross_amplitude_max = max(abs(m_cross)) gold_cross_amplitude_max = max(abs(gold_cross)) N=length(mseq);  % sequence length abscissa=-N+1:N-1; % abscissa axis figure(1); plot(abscissa,m_auto); xlabel('k'); ylabel('R(k)'); legend('autocorrelation function of m sequence'); title('autocorrelation function of m sequence'); figure(2); plot(abscissa,m_cross); xlabel('k'); ylabel('R(k)'); legend('cross-correlation function of m sequence'); title('cross-correlation function of m sequence'); figure(3); plot(abscissa,gold_auto); xlabel('k'); ylabel('R(k)'); legend('autocorrelation function of gold sequence'); title('autocorrelation function of gold sequence'); figure(4); plot(abscissa,gold_cross); xlabel('k'); ylabel('R(k)'); legend('cross-correlation function of gold sequence'); title('cross-correlation function of gold sequence'); figure(5); subplot(1,2,1); plot(abscissa,m_auto); xlabel('k'); ylabel('R(k)'); title('autocorrelation function of m sequence'); subplot(1,2,2); plot(abscissa,gold_auto); xlabel('k'); ylabel('R(k)'); title('autocorrelation function of gold sequence'); figure(6); subplot(1,2,1); plot(abscissa,m_cross); xlabel('k'); ylabel('R(k)'); title('cross-correlation function of m sequence'); subplot(1,2,2); plot(abscissa,gold_cross); xlabel('k'); ylabel('R(k)'); title('cross-correlation function of gold sequence'); figure(7); plot(abscissa,m_op_cross); xlabel('k'); ylabel('R(k)'); legend('cross-correlation function of m sequence optimum pairs'); title('cross-correlation function of m sequence optimum pairs'); % test autocorrelation of any gold sequence for test_time = 1:6    ii = ceil(rand()*(N+2)); figure(); temp_gold_auto = ccorr(goldseq(ii,:));   plot(abscissa,temp_gold_auto);   xlabel('k'); ylabel('R(k)'); legend(strcat( 'seq number = ',num2str(ii))); title('autocorrelation function of a random gold sequence'); end % test cross-correlation of any 2 gold sequence for test_time = 1:6   ii = ceil(rand()*(N+2)); jj=ceil(rand()*(N+2)); while jj == ii   jj=ceil(rand()*(N+2));    end figure(); temp_gold_cross = ccorr(goldseq(ii,:),goldseq(jj,:));   plot(abscissa,temp_gold_cross);     xlabel('k'); ylabel('R(k)'); legend(strcat( 'seq1 number=',num2str(ii),',   seq2 number=',num2str(jj)));     title(strcat('cross-correlation function of 2 random gold sequence:',、、、   '   cross correlation amplitude MAX = ',、、、     num2str(max(abs(temp_gold_cross))))); end (2) m_sequence、m % ============================== % m_sequence、m % generating m sequence % % Author: jzh (04011646 seu) % Date: 2014、12、29 % ============================== function mseq = m_sequence(fbconnection) % ============================== m_sequence ============================== % generating m sequence % % Input: %    fbconnection: feedback connection responding to primitive polynomial % Output: %    msequ: generation of m sequence, 1-by-N % ======================================================================== n = length(fbconnection); N = 2^n-1;  % length of m sequence register = [zeros(1,n-1) 1];  % initial state of shift register % preallocating newregister = zeros(1,n); mseq = zeros(1,N); mseq(1)=register(n); for ii=2:N % feedback   newregister(1) = mod(sum(fbconnection、*register),2);   % shift for jj=2:n    newregister(jj)=register(jj-1);   end   register=newregister;   % update  mseq(ii)=register(n);   % output m sequence end (3) gold_seq、m % ================================== % gold_seq、m % generating gold sequence family % % Author: jzh (04011646 seu) % Date: 2014、12、29 % ================================== function goldseq = gold_seq(fbconnection1,fbconnection2) % =============================== gold_seq =============================== % generating gold sequence family % % Input: % fbconnection1: feedback connection 1 % fbconnection2: feedback connection 2 % Note: fbconnection1 & fbconnection2 are optimum pairs % Output: %   goldseq: generation of gold sequence family, (N+2)-by-N % ======================================================================== mseq1 = m_sequence(fbconnection1); mseq2 = m_sequence(fbconnection2); N=2^length(fbconnection1) - 1; goldseq = zeros(N+2,N); % preallocating % different shift amount of two m sequence for shift_amount = 0:N-1 shift_mseq2 = [mseq2(shift_amount+1:N) mseq2(1:shift_amount)]; goldseq(shift_amount+1,:) = mod(mseq1+shift_mseq2,2); end goldseq(N+1,:)=mseq1; goldseq(N+2,:)=mseq2; (4) ccorr、m % ======================================= % ccorr、m % calculate cross-correlation function % % Author: jzh (04011646 seu) % Date: 2014、12、29 % ======================================= function r = ccorr(seq1,seq2) % ================================ ccorr ================================= % calculate cross-correlation function % % Input: %    seq1: sequence 1 %   seq2: sequence 2 %    Note: (a) length of two sequence must be the same % (b) two input sequence: calculate cross-correlation function %        (c) one input sequence: calculate autocorrelation function % Output: % r: correlation function, 1-by-2*N-1 % ======================================================================== % one input sequence: calculate autocorrelation if nargin==1   seq2 = seq1; end N = length(seq1); r = zeros(1,2*N-1);  % preallocating for k=-N+1:-1   seq2_shift = [seq2(k+N+1:N) seq2(1:k+N)];   r(N+k) = seq1*seq2_shift'; end for k=0:N-1  seq2_shift = [seq2(k+1:N) seq2(1:k)];  r(N+k) = seq1*seq2_shift'; end
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服