readout_rm/hilbert_dpi/hilbert_fir.m

10 lines
370 B
Matlab

function [i_data, q_data] = hilbert_fir(data)
coe_neg = [0,-69,0,-202,0,-471,0,-950,0,-1766,0,-3213,0,-6337,0,-20648];
coe = [coe_neg,0,-fliplr(coe_neg)];
i_data = data;
q_data_temp = conv(data,coe);
len = length(q_data_temp);
q_data = floor(q_data_temp(17:len-16)/32768);
q_data(q_data>32767) = 32767;
q_data(q_data<-32768) = -32768;
end