Ah, very nice that you were able to do all of this, and document it so well.
On Sat, Feb 3, 2018 at 09:50 pm, John wrote:
Further tests and head scratching.
Since I replaced the Arduino and mounted it on female headers I decided to do more tests to try to answer some of the leads and questions in the thread.
I used some 20cm (8 inch) female-male connectors and connected the Arduino remotely from the Radiuno so that I had access to the 12Mhz crystal next to the CH340G chip underneath the Arduino board.
The radio has been re-calibrated and shows a difference of less than 10Hz on a 10M beacon and on an 80m CW training transmission from our WIA here in Sydney, so I suspect it is pretty accurate in frequency.
I then re-did a BFO adjustment both on the factory side (low side) of the 12Mhz filter and on the other side. By observing the audio spectrum I adjusted the BFO so that the passband was as close as I could tell 500Hz to 2400Hz.
I then in each case moved the first and 2nd VFO to shift the alignment of the two crystal filters and noted the change in signal strength between the factory default and the peak.
1. Factory side of BFO adjustment results in a BFO frequency of 11,996.6Khz while the opposite side of the pass band results in a BFO of 11,999.5Khz. So as expected there is a difference of around 3KHz between a low side and high side BFO. And the centre of the filter appears to be at around 11,998Khz which I suspect is pretty normal. Please comment if you think it is not.
The exact frequencies you report seem reasonable, others may find their rig to
be using 12mhz crystals that are a khz or two off from what you report.
Crystals are sorted by frequency at hfsignals, different rigs get slightly different freq crystals.
2. The tuning clicks and tones within the pass band have definitely disappeared as mentioned in a previous post.
So by moving the Raduino 8 inches away from the uBitx, the radio no longer hears these interfering signals
on either low or high side BFO settings. Suggests we could deal with it using shielding.
3. The tones outside of the passband are still there for some values of the BFO and shift by 550Hz for each change of 100Hz of the BFO. Note that the receiver is usable as the tone free BFO values result in a passband that is more or less 500-2400Hz.
Our assumption has been that it is the 4x harmonic of the BFO (4*12=48mhz) beating with the 3x harmonic of the Nano (3*16=48mhz).
Any chance the tones shift by 400hz per 100hz of BFO, not 550hz? 550hz would be difficult to explain, that's a very funny number.
4. Going with the BFO on the high side of the filter produces similar results. I just noted that the passband seems less steep on the low audio frequencies when in this configuration. Of course in that case LSB becomes USB and vice-versa.
Typical of a crystal ladder filter that one side is less steep, the skirts are not symmetrical.
5. Now the part I can't understand: while listening to a fixed signal (the CW training transmission on 80M) AND positioning the BFO frequency so that strong tones would be heard and seen on the spectrum at 13,379Hz, I touched the three crystals in turn: the 16Mhz Arduino one, the 12Mhz CH340G one, and the 25Mhz VFO one.
The first two did not produce any difference in Rx signal or tones. Touching the 25Mhz one produced a shift in the received signal audio frequency BUT NOT in the tones frequency.
This does not make sense to me as if the si5351a clock was to shift, any beat of harmonics should produce a shift in frequency.
And yet if I adjust either the BFO frequency OR the 1st and 2nd oscillators frequencies I get a shift in tones frequency.
So if the tones were geneated after the filter or in the audio circuit I can't see how they would shift in frequency when I change some oscillators frequencies. And if they were generated before the 12Mhz filter they should shift and the 25Mhz crystal shifts!
Any idea why that is?
Indeed, this is unexpected.
Perhaps the 12mhz and 16mhz crystals are insensitive enough to not vary much when interfered with.
(But wasn't there a previous report of tones changing when a finger was near the 16mhz crystal?)
And perhaps the 12mhz and 16mhz crystals are somehow beating against each other?
Or there is some totally different source for these tones, apparently coming from the Raduino?
Once you tune the radio and can observe these tones, see if you can disable the 12mhz and 16mhz crystals
by shorting one end to ground. See if shutting down one or the other somehow gets rid of the tones.
The 12mhz crystal is only needed when downloading new firmware.
The 16mhz crystal is needed to tune the rig, but once the si5351 is programmed the 16mhz can go to sleep.
You may need to reset the Nano to get it back on the rails after re-enabling the 16mhz crystal.
6. I used the code below to shift the alignment of the first xtal filter and the 12Mhz xtal filter. I noted improvements in signal level (I assume the Rx amplification chain is more or less linear) of 3 to 6dB. So less that the 8dB I reported before but still not negligible.
I'm not sure I totally understand all of this.
Some change in signal strength is expected if as you use different parts of the 45mhz crystal,
the passband isn't all that flat.
The peak seems with a first and second VFO about 2 to 3Khz above their default values.
The shift is reset to zero each time the Arduino is reset and is not saved in EEPROM at present.
It would be interesting to see if some other units show the same changes in signal strength.
I noted that some shifts would produce tones and these tones would shift in frequency too, and by 4,000Hz for each change of 1,000Hz of first and second VFO
frequencies. (as opposed to 550Hz for each 100Hz of the BFO).
The four to one ratio (4000 to 1000) here is consistent with our assumption that it is the 4'th harmonic of the 12mhz BFO involved, at 48mhz.
But I would think the BFO is not moving when you hear these tones move, is that the case?
If the BFO is not moving, this is quite puzzling, and perhaps the tones are due to some fourth harmonic of either the first or second oscillator.
I assume that as you move one, you also move the other by an equal amount, you might try only moving one of the two
local oscillators, see which one causes the tones to vary. I haven't totally grok'd your new code yet.