📄 rakefinger.m
字号:
function [BitStreamOneRx_s,BitStreamTwoRx_s,pre_Interfere,SIRest] = RakeFinger(WaveformRx_s,spread,framenum,timeslot,pre_Interfere)Lenplt = 14; %length of pilot(DPCCH)total_TS = 15;% number of timeslotalpha = 0.199;SymbolsRx = OVSFDespread(WaveformRx_s,spread);%despread spectrum; PilotRx = SymbolsRx(1:(Lenplt/2));%seperate pilot[I_PilotsTx,Q_PilotsTx] = QPSKEncoder(ones(1,Lenplt/2),ones(1,Lenplt/2));%create pilot signal%PilotsTx = (I_PilotsTx+sqrt(-1)*Q_PilotsTx)./sqrt(abs(I_PilotsTx).^2+abs(Q_PilotsTx).^2);%pilot signal qpsk modulatePilotsTx = complex(I_PilotsTx,Q_PilotsTx);cur_RayEst = PilotRx.*conj(PilotsTx);RayleighEstimate = sum(cur_RayEst)/length(cur_RayEst);%estimate rayleigh channelSk = abs(RayleighEstimate)^2;tempMai = PilotRx-RayleighEstimate.*PilotsTx;Maiest = sum(abs(tempMai).^2)/length(tempMai);if timeslot == 1 %caculate first frame && first timeslot SIR pre_Interfere = Maiest;else %caculate not first frame && not first timeslot SIR pre_Interfere = alpha*pre_Interfere+(1-alpha)*Maiest;end[I_SymbolsRx,Q_SymbolsRx] = RecoverInfoChip(RayleighEstimate,SymbolsRx((Lenplt/2+1):end));SIRest = Sk/pre_Interfere;[BitStreamOneRx_s,BitStreamTwoRx_s] = QPSKDecoder(I_SymbolsRx,Q_SymbolsRx);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -