• 大小: 541KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Matlab
  • 标签: SC算法  

资源简介

OFDM经典同步算法之一SC算法,里面附带SC算法的经典文献,及MATLAB仿真验证代码。

资源截图

代码片段和文件信息

%********************schmidl algorithm******************* 

close all; 
clear all; 
clc; 
%参数定义 
N=256;       %FFT/IFFT 变换的点数或者子载波个数(Nu=N) 
Ng=N/8;      %循环前缀的长度 (保护间隔的长度) 
Ns=Ng+N;     %包括循环前缀的符号长度 
 
%************利用查表法生成复随机序列********************** 
QAMTable=[7+7i-7+7i-7-7i7-7i]; 
buf=QAMTable(randi([03]N/21)+1); %加1是为了下标可能是0不合法
 
%*************在奇数子载波的位置插入零*********************zj:是偶数吧? 
x=zeros(N1); 
index = 1; 
for n=2:2:N 
     x(n)=buf(index); 
     index=index+1; 
end; 
 
%**************利用IFFT变换生成Schmidl训练符号*************** 
sch = ifft(x);   %[A A]的形式 
 
%*****************添加一个空符号以及一个后缀符号************* 
src = QAMTable(randi([03]N1)+1).‘; 
sym = ifft(src); 
sig =[zeros(N1) sch sym]; 
 
%**********************添加循环前缀************************* 
tx =[sig(N - Ng +1:N:);sig]; 
 
%***********************经过信道*************************** 
recv = reshape(tx1size(tx1)*size(tx2)); %size的1表示行,2表示列,从%前向后数,超过了为1
%recv1 = awgn(recv1‘measured‘); 
%recv2 = awgn(recv5‘measured‘); 
%recv3 = awgn(recv10‘measured‘); 
%*****************计算符号定时***************************** 
P=zeros(12*Ns); 
R=zeros(12*Ns); 
%P1=zeros(12*Ns); 
%R1=zeros(12*Ns); 
P2=zeros(12*Ns); 
R2=zeros(12*Ns); 
%P3=zeros(12*Ns); 
%R3=zeros(12*Ns); 
for d = Ns/2+1:1:2*Ns 
    for m=0:1:N/2-1  
        P(d-Ns/2) = P(d-Ns/2) + conj(recv(d+m))*recv(d+N/2+m);  
        R(d-Ns/2) = R(d-Ns/2) + power(abs(recv(d+N/2+m))2); 
        %P1(d-Ns/2) = P1(d-Ns/2) + conj(recv1(d+m))*recv1(d+N/2+m);  
        %R1(d-Ns/2) = R1(d-Ns/2) + power(abs(recv1(d+N/2+m))2); 
        %P2(d-Ns/2) = P2(d-Ns/2) + conj(recv2(d+m))*recv2(d+N/2+m);  
        %R2(d-Ns/2) = R2(d-Ns/2) + power(abs(recv2(d+N/2+m))2); 
       % P3(d-Ns/2) = P3(d-Ns/2) + conj(recv3(d+m))*recv3(d+N/2+m);  
       % R3(d-Ns/2) = R3(d-Ns/2) + power(abs(recv3(d+N/2+m))2); 
    end 
end 
M=power(abs(P)2)./power(abs(R)2); 
%M1=power(abs(P1)2)./power(abs(R1)2); 
%M2=power(abs(P2)2)./power(abs(R2)2); 
%M3=power(abs(P3)2)./power(abs(R3)2); 
 
%**********************绘图****************************** 
figure(‘Color‘‘w‘); 
d=1:1:400; 
figure(1);
plot(dM(d)); 
grid on; 
axis([040001.1]); 
title(‘schmidl algorithm‘); 
xlabel(‘Time (sample)‘); 
ylabel(‘Timing Metric‘); 
%legend(‘no noise‘‘SNR=1dB‘‘SNR=5dB‘‘SNR=10dB‘);
hold on;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     290218  2019-08-21 16:31  SC\SC\Robust frequency and timing synchronization for OFDM.pdf

     文件       2511  2019-10-09 16:08  SC\SC\schmidl_algorithm.m

     文件     276928  2020-02-25 12:02  SC\SC.rar

     目录          0  2019-10-10 19:58  SC\SC

     目录          0  2020-02-25 12:57  SC

----------- ---------  ---------- -----  ----

               569657                    5


评论

共有 条评论