-
Notifications
You must be signed in to change notification settings - Fork 33
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
DC blocking missing? #52
Comments
Yes, although the first step in the DSP processing is DC removal, there is still lots of noise close to DC (e.g. LO being received through Tayloe detector). The HIGH_PASS_FILTERING option does a decent job of removing it if enabled, but it doesn't improve the performance of the receiver, so I don't think that the additional CPU loading is justified. Since we are using a low IF, the DC noise is well outside the pass-band of the FFT filter so is completely removed before it reaches the demodulator. The only advantage of applying a high pass filter before the frequency shift is that the DC noise doesn't show up in the spectrum scope. If we did want to remove the DC noise, it would be far more efficient to remove it in the frequency domain (e.g. by setting those frequency bins to zero). |
Okay, but this is important, no? Otherwise the spectrum does a poor job at aiding tuning. |
And am I seeing it paint negative frequencies in the first quarter (pixels 0..~32) of the spectrum? |
There are a few issues with the spectrum display, some are easily fixed others are a little more tricky.
The alternatives I can think of would be:
I'm not entirely sure which option is the best, I think 2 or 4 would be more visually pleasing. Option 2 would give better receiver sensitivity at the expense of reduced frequency range. Option 4 would have the advantage that the DC noise would always be in approximately the same place. |
I would say option 2 is the way to go. |
Where is this "TFT waterfall build"? Can we fix this on |
I noticed the "side lobes" popping up while tuning and I think this is due to DC-bias. I also noticed the code guarded by the
HIGH_PASS_FILTERING
define inrx_dsp.cpp
. I does seem to help, but why is it not enabled by default? Improvements are planned, are there other reasons?The text was updated successfully, but these errors were encountered: