Minn algorithm of OFDM synchronization algorithm

Source: Internet
Author: User
Tags abs

Minn Algorithm code

Algorithm principle

Training sequence Structure T=[b B-b-b], where B represents a sequence of symbols resulting from pn,ifft transformations of complex pseudo-random sequences of length N/4

(Original interpretation): B represent samples of length L=N/4 genereated by N/4 Point IFFT of \ (n_u/4\) length modulated data of a P N sequence. That is, B is a sequence of length N/4, which is obtained by Ifft by encoding a PN sequence.

\ (\bigstar\) Minn: In order to eliminate the top-level effect of SCHMIDL algorithm, Minn and other people changed the structure of training queue, and redesigned a new synchronous metric function, although the flat-top effect of SCHMIDL algorithm was successfully eliminated, the synchronization autocorrelation peak became sharp. The accuracy and reliability of the timing synchronization estimation are improved, but the correlation peaks are not sharp enough, and there are many secondary peaks on both sides of the peak of the synchronous metric function curve, and under the condition of poor channel environment, the timing synchronization estimation will be affected greatly under the condition of low Snr.

Reference documents
Minn H, Zeng M,bhargava V k.on timing offser estimation for OFDM Systems[j]. IEEE commun.lett.2000,4 (7): 242-244.

\[m (d) =\frac{\left | P (d) \right |} {r^{2} (d)}^{2}\]

\[p (d) =\SUM_{K=0}^{1}\SUM_{M=0}^{N/4 -1}r^{*} (D+m+\frac{nk}{2}) R (d+m+\frac{n}{4} + \frac{nk}{2}) \]

\[r (d) =\sum_{k=0}^{1}\sum_{m=0}^{n/4-1}\left | R (d+m+\frac{n}{4} + \frac{nk}{2}) \right |^{2}\]

The obtained D corresponds to the starting position of the training sequence (which does not contain a loop prefix).

%********************schmidl algorithm*******************%example:% If% X = rand (2,3,4); % then% d = Size (X) returns d = [2 3 4]% [M1,M2,M3,M4] = size (X) returns m1 = 2, m2 = 3, M3 = 4, m4 = 1% [M,n] = size (X) returns m = 2, n =% m2 = size (x,2) returns m2 = 3%close all ; Clear all; CLC       % parameter definition n=256;      %fft/ifft number of points or sub-carriers (nu=n) NG=N/8;     The length of the% loop prefix (the length of the protection interval) ns=ng+n; % includes the symbol length of the cyclic prefix%************ using the table-checking method to generate complex random sequence ********************** qamtable=[7+7i,-7+7i,-7-7i,7-7i]; Buf=qamtable (Randi ([0,3],n/2,1) +1); % plus 1 is for subscript may be 0 illegal%************* in the position of an odd subcarrier insert 0 *********************zj: Is it an even number? X=zeros (n/2,1); index = 1;      For N=1:2:N/2 x (n) =buf (index); index=index+1;  End   %************** uses Ifft transform to generate Schmidl training symbols *************** sch = Ifft (x); %[a a] in the form of Sch2=[sch; ( -1). *sch]; %***************** adds an empty symbol and a suffix symbol ************* src = qamtable (Randi ([0,3],n,1) +1). sym = Ifft (src);  Sig =[zeros (n,1) sch2 sym]; %******************Add loop prefix ************************* TX =[sig (N-ng +1:n,:); sig]; %*********************** through channel *************************** recv = Reshape (tx,1,size (tx,1) *size (tx,2)); %size 1 represents rows, 2 represents columns, number of backwards from%, and exceeds for 1%RECV1 = AWGN (recv,1, ' measured '); %recv2 = AWGN (recv,5, ' measured '); %recv3 = AWGN (recv,10, ' measured '); %***************** Calculating Symbol Timing ***************************** P=zeros (1,2*NS); R=zeros (1,2*ns); %p1=zeros (1,2*ns); %r1=zeros (1,2*ns); P2=zeros (1,2*ns); R2=zeros (1,2*ns); %p3=zeros (1,2*ns); %r3=zeros (1,2*ns); For d = Ns/2+1:1:2*ns to K=1:2 for M=0:1:n/4-1 p (D-NS/2) = P (D-NS/2) + Conj (recv (d+m+ (k-1) *N/2)) *recv (d+n/          4+ (k-1) *n/2+m);         R (D-NS/2) = R (D-NS/2) + Power (ABS (recv (d+n/4+ (k-1) *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 EndEnd 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); [A B]=max (M)%********************** drawing ****************************** figure (' Color ', ' W '); d=1:1:400; Figure (1);p lot (D,m (d)); Grid on; Axis ([0,400,0,1.1]); Title (' Minn Algorithm '); Xlabel (' Time (sample) '); Ylabel (' Timing Metric '); %legend (' No noise ', ' snr=1db ', ' snr=5db ', ' snr=10db ');

Minn algorithm of OFDM synchronization algorithm

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.