Mark, N8MH commented
Actually, this is a great idea, Greg. It's the basis for AE4JY Moe Wheatley's AO40RCv program--the 400BPSK demodulator. In fact, his source coded is posted--it should help with the programming I'd think. It provided button pushes, com port selection, radio choices, etc.
Not sure there is ENOUGH carrier..at least from what I've been hearing. But I haven't looked at it with a waterfall yet; Drew KO4MA was doing that during our initial tests--he could see the carrier well as I recall.
The BPSK modulator should have zero carrier in the middle unless it has drifted out of balance. I would be surprised if the carrier rejection is any greater than ~-20 dB below the sideband level -- this corresponds to the supposed 180° phase shift being off by about 0.1 radians (i.e. ~6°).
If you try to inject carrier by simply turning on a BFO and receiving the signal as DSB, you will get distortion. This is because you want to extract the 2 sidebands with the same phase. You will be better off throwing away half the signal and receiving it as a SSB signal.
One way to properly phase the signal is with a Costas loop demodulator. Such widgets were the hardware PSK demodulators offered by TAPR (designed by K3IO & N7CL) and a different design by G3RUH; the TAPR design was sold commercially by Paccomm as the PSK-1 (Google Paccomm PSK-1). These designs have been built with both 400 BPS (for AO-40) and 1200 BPS (for the PACSATs) data filters. These devices have a PLL to generate a coherent carrier and do not suffer the 3dB SNR loss; the PLLs will also help to track the satellites Doppler.
As Mark pointed out, a similar design was done in software for use with a Soundblaster for AO40's 400 BPS BPSK by Moe Wheatley, AE4JY. You can fetch a copy at Moe's web site at http://www.moetronix.com/ae4jy/ao40rcv.htm. Moe's web site has the source code in C++ and you will probably want to modify the data filters by a factor of 3-4. Moe has also implemented a DSB demodulator in his SpectraVue SDR software that supports N4IP's RF Space SDR-14 and SDR-IQ receivers (see http://rfspace.com/Home.html).
For those of you using a Flex SDR (http://www.flex-radio.com)like the SDR-1000 or -5000 (or the SoftRock, or a similar QSD design)as your receive IF, you should be able to do a proper demod on the AO-16 signal (including a properly phased carrier generated in a software PLL) using the [DSB] mode (also please try the Synchronous AM [SAM] detector)in PowerSDR.
I haven't tried any of the SDR approaches myself, so I don't know about the AFC characteristics in [DSB] and [SAM]. Perhaps AE4JY or N4HY or AB2KT can comment.
73, Tom
Tom Clark, K3IO wrote:
Mark, N8MH commented
Actually, this is a great idea, Greg. It's the basis for AE4JY Moe Wheatley's AO40RCv program--the 400BPSK demodulator. In fact, his source coded is posted--it should help with the programming I'd think. It provided button pushes, com port selection, radio choices, etc.
Not sure there is ENOUGH carrier..at least from what I've been hearing. But I haven't looked at it with a waterfall yet; Drew KO4MA was doing that during our initial tests--he could see the carrier well as I recall.
You are underestimating how powerful a PLL is based on predictive input. We know the orbital elements or we can jointly determine orbital elements with the tracking. A PLL can track a carrier, a real one, WAAAAYYYYYYYYYYYYYYYY below the noise in a sideband width channel. It needs help getting started (acquisition) but tracking performance will be unbelievable.
The BPSK modulator should have zero carrier in the middle unless it has drifted out of balance. I would be surprised if the carrier rejection is any greater than ~-20 dB below the sideband level -- this corresponds to the supposed 180° phase shift being off by about 0.1 radians (i.e. ~6°).
It has zero carrier only if it has "unbiased noiselike modulation". If I put a DC signal on the modulator it should develop a carrier offset from the current carrier center frequency to the level currently assigned by the modulator to that level of offset DC from the current signal signal DC offset. So, yes, we can easily get a carrier.
If you try to inject carrier by simply turning on a BFO and receiving the signal as DSB, you will get distortion. This is because you want to extract the 2 sidebands with the same phase. You will be better off throwing away half the signal and receiving it as a SSB signal.
If we track the carrier and do synchronous AM detection (or DSB) detection (where we add the two sidebands whose fourier components are complex conjugates of each other in a perfect world), we can indeed get serious gain. This is how the Flex SDR-1000 and Flex 5000 SAM modes work. I wrote them.
One way to properly phase the signal is with a Costas loop demodulator. Such widgets were the hardware PSK demodulators offered by TAPR (designed by K3IO & N7CL) and a different design by G3RUH; the TAPR design was sold commercially by Paccomm as the PSK-1 (Google Paccomm PSK-1). These designs have been built with both 400 BPS (for AO-40) and 1200 BPS (for the PACSATs) data filters. These devices have a PLL to generate a coherent carrier and do not suffer the 3dB SNR loss; the PLLs will also help to track the satellites Doppler.
There is no such loss in a software demodulator because the mixer is lossless. It is done in DSP.
As Mark pointed out, a similar design was done in software for use with a Soundblaster for AO40's 400 BPS BPSK by Moe Wheatley, AE4JY. You can fetch a copy at Moe's web site at http://www.moetronix.com/ae4jy/ao40rcv.htm. Moe's web site has the source code in C++ and you will probably want to modify the data filters by a factor of 3-4. Moe has also implemented a DSB demodulator in his SpectraVue SDR software that supports N4IP's RF Space SDR-14 and SDR-IQ receivers (see http://rfspace.com/Home.html).
DttSP is available from Flex or
http://dttsp.org and please see http://dttsp.org/wiki
For those of you using a Flex SDR (http://www.flex-radio.com)like the SDR-1000 or -5000 (or the SoftRock, or a similar QSD design)as your receive IF, you should be able to do a proper demod on the AO-16 signal (including a properly phased carrier generated in a software PLL) using the [DSB] mode (also please try the Synchronous AM [SAM] detector)in PowerSDR.
We agree but for place. The PLL in all of the SDR's is designed for a stable carrier with an unknown but FIXED offset frequency. It is a 2nd order PLL, but the a priori assumption is that the frequency is stable but unknown. Neither of these is true for Moe's work or mine. It is true for the hardware Costa's loop demodulators but as you point out, they have insertion loss that can be significant. What should happen is a new design needs to be done that we need to remove the frequency offset as much as possible use computer tuning (which is how all of us used your original PSK demodulator design. Yes, even back in 1989 we were not complete Luddites. We computer controlled our transceivers and one year later we were using DSP demodulators that assumed we had precorrected the frequency to 1 kHz). AND/OR we need to have a higher order PLL that will track doppler rate. The higher order PLL is more difficult to stabilize but is easier on the user than hardware control of the radio. There are lots of system trade offs to be considered.
I haven't tried any of the SDR approaches myself, so I don't know about the AFC characteristics in [DSB] and [SAM]. Perhaps AE4JY or N4HY or AB2KT can comment.
73, Tom
73's Bob N4HY
participants (2)
-
Bob McGwier
-
Tom Clark, K3IO