mirror of https://github.com/PentHertz/srsLTE.git
Changed CFO EMA coefficients
This commit is contained in:
parent
837326f575
commit
a625f30643
|
@ -1,4 +1,4 @@
|
|||
%enb=struct('NCellID',424,'NDLRB',100,'NSubframe',9,'CFI',2,'CyclicPrefix','Normal','CellRefP',2,'Ng','One','PHICHDuration','Normal','DuplexMode','FDD');
|
||||
enb=struct('NCellID',1,'NDLRB',50,'NSubframe',2,'CFI',2,'CyclicPrefix','Normal','CellRefP',1,'Ng','One','PHICHDuration','Normal','DuplexMode','FDD');
|
||||
|
||||
RNTI=65535;
|
||||
|
||||
|
@ -11,8 +11,8 @@ cec.InterpType = 'linear'; % 2D interpolation type
|
|||
cec.InterpWindow = 'Causal'; % Interpolation window type
|
||||
cec.InterpWinSize = 1; % Interpolation window size
|
||||
|
||||
%subframe_rx=lteOFDMDemodulate(enb,inputSignal);
|
||||
subframe_rx=reshape(input,[],14);
|
||||
subframe_rx=lteOFDMDemodulate(enb,y);
|
||||
%subframe_rx=reshape(input,[],14);
|
||||
[hest,nest] = lteDLChannelEstimate(enb, cec, subframe_rx);
|
||||
|
||||
% Search PDCCH
|
||||
|
@ -30,7 +30,8 @@ if ~isempty(dci)
|
|||
% Get the PDSCH configuration from the DCI
|
||||
[pdsch, trblklen] = hPDSCHConfiguration(enb, dci, pdcch.RNTI);
|
||||
pdsch.NTurboDecIts = 10;
|
||||
%pdsch.Modulation = {'QPSK'};
|
||||
pdsch.Modulation = {'QPSK'};
|
||||
pdsch.RV=0;
|
||||
%trblklen=75376;
|
||||
fprintf('PDSCH settings after DCI decoding:\n');
|
||||
disp(pdsch);
|
||||
|
@ -43,9 +44,9 @@ if ~isempty(dci)
|
|||
[dlschBits,pdschSymbols] = ltePDSCHDecode(enb, pdsch, pdschRx, pdschHest, nest);
|
||||
[sib1, crc] = lteDLSCHDecode(enb, pdsch, trblklen, dlschBits);
|
||||
|
||||
[dec2, data, pdschRx2, pdschSymbols2, e_bits] = srslte_pdsch(enb, pdsch, ...
|
||||
trblklen, ...
|
||||
subframe_rx, hest, nest);
|
||||
%[dec2, data, pdschRx2, pdschSymbols2, e_bits] = srslte_pdsch(enb, pdsch, ...
|
||||
% trblklen, ...
|
||||
% subframe_rx, hest, nest);
|
||||
|
||||
|
||||
scatter(real(pdschSymbols{1}),imag(pdschSymbols{1}))
|
||||
|
|
|
@ -506,6 +506,7 @@ int main(int argc, char **argv) {
|
|||
// RV for SIB1 is predefined
|
||||
uint32_t k = (sfn/2)%4;
|
||||
uint32_t rv = ((uint32_t) ceilf((float)1.5*k))%4;
|
||||
|
||||
n = srslte_ue_dl_decode_rnti_rv(&ue_dl, &sf_buffer[prog_args.time_offset], data,
|
||||
srslte_ue_sync_get_sfidx(&ue_sync),
|
||||
SRSLTE_SIRNTI, rv);
|
||||
|
|
|
@ -449,6 +449,7 @@ bool srslte_ue_dl_decode_phich(srslte_ue_dl_t *q, uint32_t sf_idx, uint32_t n_pr
|
|||
|
||||
void srslte_ue_dl_save_signal(srslte_ue_dl_t *q, srslte_softbuffer_rx_t *softbuffer, uint32_t tti, uint32_t rv_idx) {
|
||||
srslte_vec_save_file("sf_symbols", q->sf_symbols, SRSLTE_SF_LEN_RE(q->cell.nof_prb, q->cell.cp)*sizeof(cf_t));
|
||||
printf("%d samples\n", SRSLTE_SF_LEN_RE(q->cell.nof_prb, q->cell.cp));
|
||||
srslte_vec_save_file("ce0", q->ce[0], SRSLTE_SF_LEN_RE(q->cell.nof_prb, q->cell.cp)*sizeof(cf_t));
|
||||
if (q->cell.nof_ports > 1) {
|
||||
srslte_vec_save_file("ce1", q->ce[1], SRSLTE_SF_LEN_RE(q->cell.nof_prb, q->cell.cp)*sizeof(cf_t));
|
||||
|
|
|
@ -194,8 +194,8 @@ int srslte_ue_sync_init(srslte_ue_sync_t *q,
|
|||
|
||||
srslte_sync_cfo_i_detec_en(&q->sfind, false);
|
||||
|
||||
srslte_sync_set_cfo_ema_alpha(&q->sfind, 0.01);
|
||||
srslte_sync_set_cfo_ema_alpha(&q->strack, 0.01);
|
||||
srslte_sync_set_cfo_ema_alpha(&q->sfind, 0.1);
|
||||
srslte_sync_set_cfo_ema_alpha(&q->strack, 0.1);
|
||||
|
||||
/* In find phase and if the cell is known, do not average pss correlation
|
||||
* because we only capture 1 subframe and do not know where the peak is.
|
||||
|
|
Loading…
Reference in New Issue