- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
fine_freq_syn.m
资源名称:444.zip [点击查看]
上传用户:gzcxg999
上传日期:2021-07-15
资源大小:190k
文件大小:1k
源码类别:
matlab例程
开发平台:
CHM
- function [fine_freq_out,offset] = fine_freq_syn( timed_sym,WinStart2, WinSize2, Delay3, T_sample,N_Rx_ant,delta_fc,TurnOn )
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % 精频偏估计
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- if TurnOn
- time_idx = [ 0 : length(timed_sym) - 1 ] ;
- for ant = 1:N_Rx_ant
- % 延时相关,取角度
- recv = timed_sym(1,WinStart2 : WinStart2 + WinSize2 - 1, ant);
- recv_delayed = timed_sym(1,WinStart2 + Delay3 : WinStart2 + WinSize2 + Delay3 - 1, ant);
- offset_metric = sum( recv .* conj( recv_delayed ) );
- offset(ant) = - angle(offset_metric)/(2*pi*Delay3*T_sample);
- % 载波频偏粗估计纠正, 方法1, 在每条接收天线上进行纠正
- % fine_freq_out(1,:,ant) = recv_frame(1,:,ant).*exp(-j*2*pi*offset(ant).*time_idx*T_sample);
- end
- % 载波频偏粗估计纠正, 方法2 , 合并一个频偏纠正值,在每条接收天线上进行纠正
- offset = sum(offset)/N_Rx_ant;
- time_idx = repmat(time_idx,[1,1,N_Rx_ant]);
- fine_freq_out = timed_sym.*exp(-j*2*pi*offset.*time_idx*T_sample);
- % 计算载波频偏纠正误差
- %err_freq2 = delta_fc - offset;
- else
- fine_freq_out = timed_sym;
- end