目录
[3.1 时域相关检测原理](#3.1 时域相关检测原理)
[3.2 频域相关检测原理](#3.2 频域相关检测原理)
[3.3 接收端精同步](#3.3 接收端精同步)
1.引言
该Simulink模型完整复现了IEEE 802.11g标准下的OFDM通信链路,核心目标是实现信号帧的同步检测。发送端通过QPSK调制、前导码插入、IFFT生成OFDM符号,经AWGN信道传输后,接收端利用时域 / 频域相关运算,基于短训练序列(STS)和长训练序列(LTS)完成帧同步,最终实现数据解调。帧同步作为OFDM接收的首要环节,是后续载波同步、信道估计与数据解调的前提,其性能直接决定了系统的通信可靠性。
2.算法测试效果





3.算法涉及理论知识概要
IEEE 802.11g的帧结构以短训练序列(STS)和长训练序列(LTS)为核心同步标识:STS由10个重复的短符号组成,周期为16个采样点,用于粗同步与信号检测;LTS由2个重复的长符号组成,周期为64个采样点,用于精同步与频偏估计。帧检测的核心原理是利用训练序列的自相关特性,通过滑动相关运算找到相关峰,确定帧的起始位置,分为时域相关和频域相关两种实现方式。
3.1 时域相关检测原理
时域相关直接对接收信号与本地训练序列进行滑动互相关运算,利用训练序列的周期性和自相关峰值特性实现帧检测。设接收基带信号为r(n),本地短训练序列为Sshort(n),长度为Ns=16,则滑动互相关运算为:

其中(⋅)∗表示复共轭运算。当接收信号滑动到帧起始位置时,接收序列与本地序列高度相关,相关值Rshort(k)会出现尖锐峰值,以此实现粗同步。

长序列相关峰更窄,可实现精同步,消除短序列同步的误差。
3.2 频域相关检测原理
频域相关利用FFT的卷积特性,将时域相关运算转换为频域乘法运算,降低长序列相关的计算复杂度。设接收信号的FFT为R(k),本地训练序列的FFT为S(k),根据卷积定理,时域相关等于频域共轭相乘:

其中R(k)=FFT{r(n)},S(k)=FFT{s(n)}。频域相关通过一次FFT、一次频域相乘和一次IFFT完成,大幅减少了长序列相关的运算量,适合硬件实现。
3.3 接收端精同步
LTS长度为64,其自相关特性更尖锐,相关峰宽度仅为一个采样点,可实现亚采样级别的同步。时域相关运算为:

4.MATLAB核心程序

figure
plot(sc1w2ri,'r','linewidth',2);
hold on;
stem(sc1w2ri);
xlabel('time (0.05 us)')
ylabel('amplitude(dB)')
title('Long sequence Frequency domain correlation')
%时域相关
%时域相关
sc1pw1prt\]=xcorr(R_Real_time,Short_seq_sampleR); \[sc1pw1pit\]=xcorr(R_Imag_time,Short_seq_sampleI); sc1w1ri=sc1pw1pit.\^2+sc1pw1prt.\^2; sc1w1ri=sc1w1ri/max(sc1w1ri); figure plot(sc1w1ri,'r','linewidth',2); hold on; stem(sc1w1ri); xlabel('time (0.05 us)') ylabel('amplitude(dB)') title('Short sequence Time domain correlation'); \[sc1pw2prt\]= xcorr(R_Real_time,Long_seq_sampleR); \[sc1pw2pit\]= xcorr(R_Imag_time,Long_seq_sampleI); sc1w2ri = sc1pw2pit.\^2+sc1pw2prt.\^2; sc1w2ri = sc1w2ri/max(sc1w2ri); figure plot(sc1w2ri,'r','linewidth',2); hold on; stem(sc1w2ri); xlabel('time (0.05 us)') ylabel('amplitude(dB)') title('Long sequence Time domain correlation') % 9.短码实数部分在时域上的自相关 figure; subplot(221); \[a,b\]=xcorr(Short_seq_sampleR,'unbiased'); stem(b,a); title('autocor of short sequence real in time domain'); %10.短码虚数部分在时域上的自相关 subplot(222); \[a,b\]=xcorr(Short_seq_sampleI,'unbiased'); stem(b,a); title('autocor of short sequence image in time domain'); %11.短码实数部分在频域上的自相关 subplot(223); \[a,b\]=xcorr(Short_seq_sample,'unbiased'); stem(b,a); title('autocor of short sequence real in frequency domain'); %12.短码虚数部分在频域上的自相关 subplot(224); \[a,b\]=xcorr(Short_seq_sample,'unbiased'); stem(b,a); title('autocor of short sequence real in frequency domain'); %13.长码实数部分在时域上的自相关 figure; subplot(221); \[a,b\]=xcorr(Long_seq_sampleR,'unbiased'); stem(b,a); title('autocor of long sequence real in time domain'); %14.长码虚数部分在时域上的自相关 subplot(222); \[a,b\]=xcorr(Long_seq_sampleI,'unbiased'); stem(b,a); title('autocor of long sequence image in time domain'); %15.长码实数部分在频域上的自相关 subplot(223); \[a,b\]=xcorr(Xl,'unbiased'); stem(b,a); title('autocor of long sequence image in frequency domain'); %16.长码虚数部分在频域上的自相关 subplot(224); \[a,b\]=xcorr(Xl,'unbiased'); stem(b,a); title('autocor of long sequence image in frequency domain'); 12_005m
5.完整算法代码文件获得
完整程序见博客首页左侧或者打开本文底部GZH名片
( V关注后回复码 :X131)
V