• 大小: 16KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: Matlab
  • 标签: OFDM  定时同步  

资源简介

经典的SC、Minn、park算法多径信道下的仿真,

资源截图

代码片段和文件信息

%%.......  2006.12.12........%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%基于隐导频的定时同步   首先仿真各种定时同步算法 
% 仿真噪声对 定时矩阵的影响 幅度的衰减
% 基本结论  在高斯信道下  park算法很好性能  在多径信道下 sca和minn算法性能变化不大
% 多径信道下一个主要问题就是如何设定判决门限
% 如果首径最强 那么可以准确的定时 否则将在最强径位置
% 定时同整数倍频偏之间具有一致性
%  目标 同时兼顾估计精度 和检测性能 
%% 同park算法进行 MSE(et)比较   注意限制条件为有限多径
% 单独设置 Nv测试 SCA算法的 MSE(et)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all; 
close all;
clc;
fprintf(‘***********   It is running    ************ \n‘);
fprintf(‘***OFDM改进导频定时算法***\n‘);
%%--------------------------%%
Nframe=1;
N=1024;
Ng=256;    
% % SNRdB=5;                              %(0)
Ns=N+Ng;
v=2.8;                                 %(1)    研究频偏对定时的影响
phase_begin=0;
P=N/4;  
L_est=32;                               %估计最大信道长度

 %h=[-0.3752 + 0.2211i   0.7139 - 0.1112i 0.2895 + 0.3627i   0.0118 + 0.1712i -0.0001 + 0.0886i  -0.0167 + 0.0208i -0.1435 + 0.0143i  -0.0183 + 0.0966i  -0.0148 - 0.0278i  -0.0019 + 0.0591i];
 % h=[0.2833 - 0.4372i  -0.3360 + 0.4070i  -0.1657 - 0.1047i -0.0052 - 0.0967i  -0.3599 - 0.2275i  -0.0721 + 0.0937i  0.2035 + 0.2520i   0.2091 - 0.0880i  -0.0821 + 0.1364i 0.0801 - 0.1370i];
 %h=[-0.2415 - 0.2726i   0.1209 + 0.4102i 0.0849 + 0.3239i   0.0706 - 0.0794i 0.0645 + 0.4963i   0.0699 - 0.2956i 0.0655 + 0.0727i   0.2799 - 0.1807i 0.2156 - 0.0677i  -0.0499 + 0.2103i];
                        
%-----------通用时域CAZAC序列产生-----------%  
   N1=P;                                       %%对应序列周期P
   r=1/1;                                  
   k=0:N1-1;
   ct=exp(j*pi*r.*(k.^2)/N1);                  
   ct_sym=ct(N1+1-[1:N1]);
   %-- m序列 用于ren 方法--%
   mgen=[1 1 0 0 1 1 1 1 1 1  ];               %%特定于N=1024
   PN=[m_sequence(mgen) -1];
   
   mgen_half=[1 1 1 0 0 0 1 1 1];              %%特定于N=512
   PN_half=[m_sequence(mgen_half) -1];  
   
   mgen_128=[1 0 0 0 0 0 1];                      %%特定于128=N/2/L_est
   PN_128=[m_sequence(mgen_128) -1];
   
   mgen_64=[1 1 1 0 0 1];                      %%特定于64=N/2/L_est
   PN_64=[m_sequence(mgen_64) -1];
   
   mgen_32=[1 1 0 1 1];                        %%特定于32=N/2/L_est
   PN_32=[m_sequence(mgen_32) -1];
   
   mgen_16=[1 0 0 1 ];                        %%特定于16=N/2/L_est
   PN_16=[m_sequence(mgen_16) -1];
   
   N2=2*P;
   k=0:N2-1;
   r2=1;
   ct1=exp(j*pi*r2.*(k.^2)/N2);
   ct1_sym=ct1(N2+1-[1:N2]);
   
   N4=N/2/L_est;
   k=0:N4-1;
   r4=1;
   ct_wls=exp(j*pi*r4.*(k.^2)/N4);
   
   %% 序列补零扩展到N/2 同时产生扩展的差分序列
   PN_diff=PN_16;
   ct_matrix(11:N4)=ct_wls*sqrt(L_est);
   PN_matrix(11:N4)=PN_diff;
   ct_matrix([2:L_est]1:N4)=zeros(L_est-1N4);
   PN_matrix([2:L_est]1:N4)=zeros(L_est-1N4);
   ct_wl=reshape(ct_matrix1N4*L_est);
   PN_wl=reshape(PN_matrix1N4*L_est);
   % A Robust Joint Estimator for OFDM Timing and Frequency Offsets based on PN Codes
   % SY方法用于ct1序列(两个相同CAZAC)
%-----------------------------------%
%数据QPSK调制  导频CAZAC序列
%----------------------------------
tic;
step1=1;
start=10

评论

共有 条评论