Comments (6)
I thought this problem had gone away some time ago, but I think I understand it more fully now. It is caused when the passband straddles the 0 Hz (carrier) point, which it would for a typical AM-mode filter. You can see the problem really clearly as follows: Tune to a quiet part of the band in USB mode. Bring up the IQ display and adjust the gain until you get a circular pattern of noise. Note that the pattern is symmetric WRT the crosshairs of the display. Now switch to AMN. Note that the pattern shifts to the upper left. Now drag one side of the AMN passband until it just crosses over the carrier point. The pattern will become symmetrical again.
So there is a slight IQ imbalance. I think there must be a problem with how I'm using the CuteSDR FIR filter to generate the adjustable passband.
from beagle_sdr_gps.
The other clue about this is that it is most noticeable for signals with carriers weaker than about -80 dBm. As you would find for most typical NDBs. You don't hear the carrier bleed-through on a strong AM BCB station where the carrier IQ values would be much larger that the IQ offset errors.
from beagle_sdr_gps.
Wow. Short story: this will be fixed in v1.13
Longer story: this is not a simple bug with CuteSDR FIR I was expecting. In fact the FIR fixes the bug when the passband is set not to pass the 0 Hz point of the audio spectrum, as we have observed. This is a hardware issue. It's a small DC IQ offset coming from the ADC, ADC preamp or input circuit.
It seems to be very similar across all the Kiwis I've tested. This means it can be cured by simply adding a correction factor to the IQ samples. But I've also added a mode in the IQ display extension (if you're an admin) to measure the actual offset and add it to the overall correction factor. You have to disconnect the antenna so the measurement will be accurate. The default correction factor seems to be good enough to solve the carrier bleed-through problem, so most Kiwi owners won't have to do anything. When I get more time I need to understand the hardware basis of the problem.
from beagle_sdr_gps.
Great thanks for doing this.
Just checked the AM reception.
I applied the correction and it's a lot better now 👍
Regards,
Martin - G8JNJ
from beagle_sdr_gps.
Okay, good. I'm hoping the default correction will be sufficient for most Kiwi boards. I still don't understand why there would be similar, small DC offset common to all boards unless there is a hardware design flaw. More investigation needed when I have time.
You can also fine-tune the correction using the IQ display. Disconnect the antenna and tune to a frequency that has a nice flat, low noise floor free of any spurs or other artifacts on the waterfall. Set to AM mode. Bring up the IQ display. Adjust the gain slider until you get a circle of noise points filling 2/3 of the display. It should be centered on the crosshairs. When everything looks okay hit the "clear" button and let the Kiwi sit for a minute or two. The CMA numbers under the IQ display will show the cumulative moving average of all the IQ samples during the measurement period. Because the default correction is 5e-2 the measured numbers should be less and will be added to the 5e-2 as a fine-tuning when you hit the "IQ val" button. The new value is stored in the configuration file.
from beagle_sdr_gps.
Hi John,
Superb 👍 I'll give that a go and see if it gets rid of the tiny bit of residual tone I can just about still hear.
Regards,
Martin - G8JNJ
from beagle_sdr_gps.
Related Issues (20)
- Status Page does not show User count for KiwiSDR setup with all channels passworded HOT 1
- Feature Request: Hide certain IP From log HOT 4
- Feature Request: Make robots.txt rules configurable
- Allow HTTPS and arbitrary ports in domain names on the Connect tab
- TODO: alt github name
- GPS testbench HOT 3
- Expanding KiwiSDR Software to Other Hardware HOT 2
- [Bug] Volume cannot be adjusted to 0 HOT 1
- Downloaded blacklist HOT 1
- LMS denoiser not automatically activated on selection HOT 1
- Changelog HOT 1
- ant_switch extension HOT 2
- Make the TDOA server address configurable HOT 1
- Unable to compile on Raspberry Pi HOT 1
- Blacklist IPV6 IP and Range(s) HOT 2
- A warn if you forgot to save recording HOT 1
- WSPR extension excess DNS requests HOT 2
- Free channels reporting when redirecting is active HOT 1
- Decoder for DCF77 does not acquire sync HOT 2
- SNR measurement improvement HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from beagle_sdr_gps.