Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Rx IQ error phase CAL to SPEC Audio_App #1963

Merged
merged 1 commit into from
Mar 9, 2024

Conversation

Brumi-2021
Copy link
Contributor

@Brumi-2021 Brumi-2021 commented Mar 9, 2024

Hi , this PR is adding small feature : Rx IQ phase error CALIBRATION , to the Audio App RX ,( inside the submenu SPECTRUM. )

Special thanks to @NotherNgineer , who taught me to save / restore that Rx CAL variable to /settings/rx_audio.ini , and helped me to finalize that job . (and also thanks to @kallanreed , for writting all those save/restore settings functions) .

This feature actually has negligible effect in most of receiver use cases . And in that sense is more an advanced experimental engineering feature , than a real practical user benefit . But as it was already available in the max2837 / max2839 IC, let's add it as a minor advanced feature .

It actually can improve (8 to 10 dB's from worse CAL point to the best one ) the receiver Image Reject Ratio only in the Receiver Applications that are using Zero IF-frequency tuning , like :
a-) Spectrum mode inside Audio_rx Application (we are applying that Rx CAL feature here in that PR)
b-) and Looking glass (it could be added also there in future PR ) .

It will not have any benefit to the other Receivers that are using Freq offset tuning (to avoid DC spike ) , like :
a-) Capture App
b-) or the rest of WFM, NBFM , AM audio receivers.

Let me show you, a practical set up to allow and test that Rx IQ phase error CAL feature .
It is easy if you have some other reference RF signal generator (or a second TX Hackrf ).

The way to validate that RX IQ ERROR PHASE CALIBRATION ,
Set up : (see below pictures)

1-) You need to use a RX receiver App with that PR , using an App that uses central freq IF tuning ==> going to Audio RX and select SPEC mode , and keeping the blue selected SPEC cursor , we move the submenu cursor , going to the additional feature field , to adj. Rx_IQ_CAL . You need to start the set up to 0 CAL (min value)

2-) Then , we transmit with a closer second Hackrf TX a carrier with some +xx freq.offset from central (example if the BW is 5Mhz , you can start with a +2 Mhz offset tx) , and place some other Hackrf receiver close enough to just receive strong signal (but adjusting the TX side not so strong to not produce intermodulation , otherwise re-adjust reducing tx or rx ) , and not so weak , till just getting the carrier +freq. clean (desired carrier signal) , and its bare visible Image mirror Signal (in the other symetrical -xx mirror freq . (unwanted Image signal to be minimized)

3-) Then adjust Rx IQ phase CAL till minimizing the received Image "mirror" signal .

We have already validated in both platforms : RX Hackrf r9 (max2839), and RX old Hackrf <=r6 version (max2837)

image

image

Copy link
Contributor

@NotherNgineer NotherNgineer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. (Note one optimization comment, which could be addressed in a future PR if you prefer)

@Brumi-2021 Brumi-2021 merged commit 9d81329 into portapack-mayhem:next Mar 9, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants