|
Parameters to feed | python (pun very intended!) serial_ids |
|
obj | py_obj_array (ipy,:) |
|
The trigger is set only on the fist node end function | sdrsync (obj, is_bs) obj.py_obj_array |
|
| sync_delays (pyargs('is_bs', is_bs)) |
|
end function | sdr_setcorr (obj) obj.py_obj_array |
|
| set_corr () |
|
end function | sdr_txgainctrl (obj) obj.py_obj_array |
|
| tx_gain_ctrl () |
|
end function | sdr_txbeacon (obj, prefix_len) % Assume Beacon only from the first Iris board in the BS array obj.py_obj_array |
|
| burn_beacon (pyargs('prefix_len', prefix_len)) |
|
end function | set_config (obj, chained_tx_rx, is_bs) if chained_tx_rx sched |
|
| if (obj.n_chain > 1) sched2 |
|
end end end end function | sdrrxsetup (obj) for ipy |
|
end end function | sdr_activate_rx (obj) for ipy |
|
data | real () |
|
| data_raw (ipy,(jf-1) *n_samp+1:jf *n_samp) |
|
end function | sdr_close (obj) for ipy |
|
| delete (obj.py_obj_array{ipy}) |
|
| lts_corr_dr (:, nc) |
|
id | peaks: (lts_corr_sum< 0.2 lts_corr_sum) |
|
| elseif (obj.n_chain > 1) &&length(lts_corr_frm > |
|
obj.n_samp, obj.n_chain, obj.n_frame | zeros () |
|
| data_split (:,:, nf) |
|
| fprintf ('Returning frame number %d with max mean correlation=%f \n', m_idx, max_corr) |
|
|
Author(s) pyhton object array This array decribes Iris board or a collection of Iris boards that belong to the same entity E | g |
|
Author(s) pyhton object array This array decribes Iris board or a collection of Iris boards that belong to the same entity E a BS | py_obj_array = {} |
|
| n_chain = sdr_params.n_chain |
|
number of Iris boards in a chain | sample_rate = sdr_params.sample_rate |
|
| tx_freq = sdr_params.txfreq |
|
q | rx_freq = sdr_params.rxfreq |
|
| bw |
|
| tx_gain = sdr_params.txgain |
|
| rx_gain = sdr_params.rxgain |
|
| n_samp = sdr_params.n_samp |
|
| tdd_sched = sdr_params.tdd_sched |
|
| n_zpad_samp = sdr_params.n_zpad_samp |
|
end methods function | obj |
|
obj | serial_ids = sdr_params.id |
|
obj | n_frame = sdr_params.n_frame |
|
for | ipy |
|
| max_frames |
|
end end end | NB |
|
else | sched = convertStringsToChars(obj.tdd_sched(1)) |
|
| im = imag(data).' |
|
end end Read n_frame x n_samp data | function [data, len] |
|
Change this to max frame ! for | jf |
|
end end | data = obj.get_best_frame(data_raw.', n_samp) |
|
| len = length(data) |
|
TD LTS | lts_t = ifft(lts_f, 64) |
|
Add CP and a second TD LTS | lts_cp = lts_t(33:end) |
|
Correlation through filtering | lts_corr_dr = zeros(size(data_frame)) |
|
| unos = ones(size(lts_t)) |
|
| a = 1 |
|
for | nc |
|
| v1 = filter(unos,a,abs(data_frame(:,nc)).^2) |
|
normalized correlation end Sum accross antennas | lts_corr_sum = sum(lts_corr_dr,2) |
|
Assume peak in the first samples | lts_corr_frm = reshape(lts_corr_sum, [], obj.n_frame) |
|
end save my_data mat lts_corr_dr lts_corr_frm Avg corr value per frame | frm_avg_corr |
|
for | nf |
|
| end_idx = nf*obj.n_samp |
|
end | data_frame = reshape(data_frame,n_samp, [], obj.n_frame ) |
|