07-02-2019, 10:52 PM
Hi Jeffrey, hi Frank,
My intention with this AD9833 project was to provide a simple relatively easy to build solution for generating stable sinusoidal frequencies with a relatively high accuracy.
Unfortunately I am just starting to look into VHDL and FPGAs but I have a project that I would like to implement using an FPGA. It is an AM Stereo CQuAM encoder/transmitter and would require the following functional blocks:
a- Audio A/D conversion for L and R channels @ 48kHz with a resolution of 14-16 bits
b- L+R and L-R matrix
c- Carrier generator with Sin and Cos phase for I and Q axis, frequency should be adjustable in 9kHz or 10kHz increments without disturbing the phase relationship of the two carriers.
d- A multiplier that multiplies the L+R signal with the I axis carrier generating a DSB signal.
e- An adder that adds the L-R signal and the 25Hz pilot (below) signal.
f- A multiplier that multiplies the signal from step "e" with the Q Axis carrier generating another DSB signal.
g- An adder that adds the signals from the previous steps "d" and "f"
h- An amplitude limiter that eliminates the amplitude variations in the signal from step "g" leaving only a phase modulated carrier.
i- A third multiplier that multiplies the L+R signal with the carrier output of step "h"
j- A generator for the 25Hz pilot tone.
k- D/A conversion of the output signal so it can be fed to a receiver
This would give an AM Stereo signal at the carrier frequency. A number of extra multipliers would be needed to set coefficients for e.g. the pilot tone which should be to 4% of the level of the L-R signal.
Frequencies should cover the EU and US AM MW bands i.e a range of 530-1710 kHz would be desirable.
I know someone here in my neighborhood who has written VHDL code for a Lattice LFXP2-30E5FTN256C chip that is supposed to perform the above. This is work in progress and we are planning to test his project with some of my receivers in mid February.
I would like to move this part of the discussion to a different thread eventually, however, so as to not mix different subjects in one thread.
Semir
My intention with this AD9833 project was to provide a simple relatively easy to build solution for generating stable sinusoidal frequencies with a relatively high accuracy.
Unfortunately I am just starting to look into VHDL and FPGAs but I have a project that I would like to implement using an FPGA. It is an AM Stereo CQuAM encoder/transmitter and would require the following functional blocks:
a- Audio A/D conversion for L and R channels @ 48kHz with a resolution of 14-16 bits
b- L+R and L-R matrix
c- Carrier generator with Sin and Cos phase for I and Q axis, frequency should be adjustable in 9kHz or 10kHz increments without disturbing the phase relationship of the two carriers.
d- A multiplier that multiplies the L+R signal with the I axis carrier generating a DSB signal.
e- An adder that adds the L-R signal and the 25Hz pilot (below) signal.
f- A multiplier that multiplies the signal from step "e" with the Q Axis carrier generating another DSB signal.
g- An adder that adds the signals from the previous steps "d" and "f"
h- An amplitude limiter that eliminates the amplitude variations in the signal from step "g" leaving only a phase modulated carrier.
i- A third multiplier that multiplies the L+R signal with the carrier output of step "h"
j- A generator for the 25Hz pilot tone.
k- D/A conversion of the output signal so it can be fed to a receiver
This would give an AM Stereo signal at the carrier frequency. A number of extra multipliers would be needed to set coefficients for e.g. the pilot tone which should be to 4% of the level of the L-R signal.
Frequencies should cover the EU and US AM MW bands i.e a range of 530-1710 kHz would be desirable.
I know someone here in my neighborhood who has written VHDL code for a Lattice LFXP2-30E5FTN256C chip that is supposed to perform the above. This is work in progress and we are planning to test his project with some of my receivers in mid February.
I would like to move this part of the discussion to a different thread eventually, however, so as to not mix different subjects in one thread.
Semir







