0
$\begingroup$

I have analog GHz signal modulated with 60KHz signal and I analog mix it with reference GHz and low pass filter so now I have a 60KHz signal $a$ which I enthusiastically sample (at 1MHz). Meanwhile I also sample the original 60kHz modulation signal too, $b$. My goal is to get IQ of the 60KHz sample. I can do this with np.dot against sin(60KHz) and cos(60KHz) but.... needless to say that original 60KHz likely drifted a bit. No problem, I can np.dot the sampled 60KHz against the reference $b$ which gives me the inphase signal. How do I get the "Q" ? I have the both $a$ and $b$ samples available in memory so I dont have to do this on-the-fly.

My one thought is to np.roll(b) to shift the reference "by hand"(with the shift assuming perfect $f$ of 60KHz). But I also see that I can allpass the $b$ for a $\pi/2$ shift with effectively a Hilbert transform $y_k = \beta^2 (x_k - y_{k-2}) + 2 \beta (y_{k-1} - x_{k-1}) + x_{k-2}$ with a formula for $\beta$.... I guess I could also FFT, shift and FFT back... But I'm thinking that this is well trodden territory. Is there an industry standard practice?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.