xitongbu.m

来自「64路OFDM系统MATLAB仿真」· M 代码 · 共 78 行

M
78
字号



function [weizhi]=xitongbu(temp,zhentou_zhongjian)



%%                        细同步
%%%%%%%%%%%%%%%%%%%%%%%%%%%只使用了  T1   进行细同步,T2目前尚未使用%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%                        取极值
    lt1t2=[1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 1 -1 -1 1 1 ...
            -1 1 -1 1 1 1 1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 ...
            -1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 1 1 1 ];
        weizhi=0;
        fengzhi=0;
 for zhuanhuan_xitontgbu_i=1:length(temp)
      if real(temp(zhuanhuan_xitontgbu_i))>=0 & imag(temp(zhuanhuan_xitontgbu_i))>=0
        temp_temp(zhuanhuan_xitontgbu_i)=1+i;
    elseif real(temp(zhuanhuan_xitontgbu_i))>=0 & imag(temp(zhuanhuan_xitontgbu_i))<0
        temp_temp(zhuanhuan_xitontgbu_i)=1-i;
    elseif real(temp(zhuanhuan_xitontgbu_i))<0 & imag(temp(zhuanhuan_xitontgbu_i))>=0
        temp_temp(zhuanhuan_xitontgbu_i)=-1+i;
    else real(temp(zhuanhuan_xitontgbu_i))<0 & imag(temp(zhuanhuan_xitontgbu_i))<0
        temp_temp(zhuanhuan_xitontgbu_i)=-1-i;
    end
 end

for guji=1:20

window=temp_temp(guji:guji+63);

window_xia(1:64)=ifft(lt1t2,64);

 for zhuanhuan_xitontgbu_fft_i=1:64
      if real(window_xia(zhuanhuan_xitontgbu_fft_i))>=0 & imag(window_xia(zhuanhuan_xitontgbu_fft_i))>=0
        window_xia_temp(zhuanhuan_xitontgbu_fft_i)=1+i;
    elseif real(window_xia(zhuanhuan_xitontgbu_fft_i))>=0 & imag(window_xia(zhuanhuan_xitontgbu_fft_i))<0
        window_xia_temp(zhuanhuan_xitontgbu_fft_i)=1-i;
    elseif real(window_xia(zhuanhuan_xitontgbu_fft_i))<0 & imag(window_xia(zhuanhuan_xitontgbu_fft_i))>=0
        window_xia_temp(zhuanhuan_xitontgbu_fft_i)=-1+i;
    else real(window_xia(zhuanhuan_xitontgbu_fft_i))<0 & imag(window_xia(zhuanhuan_xitontgbu_fft_i))<0
        window_xia_temp(zhuanhuan_xitontgbu_fft_i)=-1-i;
    end
 end




power=sum(window.*conj(window));

%tongbuguji(guji)=sum(window.*window_xia)/power;

tongbuguji(guji)=sum(window.*window_xia_temp);
tongbuguji_abs=abs(tongbuguji).*abs(tongbuguji);
if tongbuguji_abs(guji)>fengzhi   
    weizhi=guji;
    fengzhi =tongbuguji_abs(guji);
 
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

end
%%                      微修正
% if real(tongbuguji(weizhi))<real(tongbuguji(weizhi+1))
%     weizhi=weizhi+1;
% end
% if  real(tongbuguji(weizhi))<real(tongbuguji(weizhi-1))
%     weizhi=weizhi-1;
% end
%%   
   weizhi=weizhi+zhentou_zhongjian+116;
   % subplot(122);
    %plot(tongbuguji_abs);
%     title('细同步');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?