ssb radio replaced VFO with DDS and the high-pitch noise started
It works and I am able to tune into strong signals, receive the SSB, etc, but there is always high pitch noise, which pitch tone changes only when I tune. I mean, every frequency output from DDS has slightly different high pitch noise, sometimes louder, sometimes quieter...
My DDS output has low pass filter connected (rejects everything above 10MHz)
DDS is connected to first mixer, which outputs 10MHz IF, then goes trough the crystal ladder filter, and then to second mixer which outputs audio signal.
What might be the cause of this high pitch noise? Is it caused by high or low frequency interference?
As it is so wideband but varies as you tune, it probably isn't from the DDS but whatever is controlling it. Either direct or coupled interference from the SPI bus or the device sending the frequency information.
Brian.
Don't you think this can be DDS spurious signals? Narrow-band SFDR is specified as >72 dB only, and when used for the LO I would expect the relative spur attenuation to become even worse.
You could be right. To assess it better we really need to know the nature of the noise and how it changes at different frequencies. I was thinking of harmonics of LF signals from the controller falling into the receiver passband.
Brian.
I have performed some experiments to see what might be the cause.
First, I will tell the exact setup:
DDS is AD 9834 driven by Arduino RedBoard, there is also encoder and two buttons and AD 9834 is on my own board. There is also I2C controlled LCD with 4 rows. (4x16 I think)
The receiver is SESE 80 (worked fine with VFO!)
Okay, so the experiments:
1. I replaced my AD 9834 board with the simple one from china. No difference, just maybe high pitch is a bit louder because my AD board has extra elements at AD output.
---> so my AD 9834 board fault ruled out
2. I changed my code to just apply signal without doing anything:
#include <AD9833.h> #define FNC_PIN 4 // Any digital pin. Used to enable SPI transfers (active LO //--------------- Create an AD9833 object ---------------- // Note, SCK and MOSI must be connected to CLK and DAT pins on the AD9833 for SPI // ----- AD9833 ( FNCpin, referenceFrequency = 25000000UL ) AD9833 gen(FNC_PIN); // Defaults to 25MHz internal reference frequency void setup() /*----( SETUP: RUNS ONCE )----*/ { gen.Begin(); gen.EnableOutput(true); WaveformType type = SQUARE_WAVE; gen.ApplySignal(type,REG1,6390750); gen.SetOutputSource(REG1); // Output 1000 Hz waveform } void loop() { }
Interesting fact: the high pitch tone is constant and dependent on the DDS frequency. For example, at 6390750Hz it's a bit louder then at other frequencies.
3. I measured signal levels and realized that original VFO signal is at lower amplitude than DDS one. I tried adding various resistors and voltage dividers but no luck. When too high resistance is added then mixer simply stops working.
Futhermore, I noticed that original VFO signal amplitude changes while tuning, while the DDS amplitude signal is constant.
---> not sure, but that's probably not the cause?
4. I tried adding simple high pass filter with 1nF capacitor and 10uH coil. According to rfSim, it should pass frequencies above 3-4MHz
--> No changes.
5. I tried temprary disconnecting my LCD4x16 and I2C LCD driver module, totally away from the circuit (it's connected by 4 wires, GND, VDD, SCL, SDA)
---> No changes, so it's not I2C LCD noise.
6. I disconnected my antenna BNC from receiver
---> No changes, so it's not antenna noise...
DDS create spurious signals near the carrier, so your filters will not change anything. The spec is attenuation >72dB only.
If the DDS has too much output level, I would suggest a attenuator (matched) rather than voltage dividers.
https://www.microwaves101.com/calcul...tor-calculator
Forget about using a DDS VFO. All of them have spurious that are hard to clean out, unless you put it inside of a PLL loop. Method which will increase the cost.
I used a module using the Si5351 PLL from Silicon Labs. The main oscillator (there are 3 oscillators) have a pretty clean signal.
https://www.aliexpress.com/item/DC-3...881587285.html
You can follow the project made by AK2B:
http://ak2b.blogspot.com/2015/01/si5...are-setup.html
or by PA0RWE:
http://pa0rwe.nl/?page_id=804
Are you sure? Did you test it?
You see, I have based my AD 9834 circuit idea on the receiver built by multiple people and they didn't experience any problems.
The only difference is that my receiver has mixers made of three transistors and the schematic receiver is using SA612
I have taken DDS idea from this schematic: RX_DANIEL_schemat.pdf
My receiver with VFO was based on: SES080 QRP QUARTERLY051.pdf
I know this chip. I was planning to use it for both VFO and BFO in the next receiver. It's just that I already had AD 9834 project almost done so I wanted to get it working first.
He is right. DDS are tempting because the system seems so simple, but the spurious are the price to pay for that super-simple system design. Using a good VCO locked to a DDS is a way to resolve that.
If you still want to use the DDS output as is: there are appnotes from DDS manufacturers how to calculate "good" control words with low spur level
So you're saying that certain output frequencies are more noisy than others? That's exacly something what I observed. When tuning AD output with AD library from github, the spur noise is sometimes loud but sometimes quiet