KA1RBI
Member
This is an additional followup to an earlier posting of mine re: the LSM "simulcast distortion" problem with scanners
I've now put up a web page about LSM with further technical information including several images. The reasons for not putting the information directly in this thread are two:
1) The RR limits on attachments and sizes, and
2) I've taken the precaution of copyrighting the document.
However the page does not contain ads, there is no paywall, javascript, bugs, or other malware, we hope.
The page does contain a number of images and includes the raw sample data for those who might be interested in reproducing its results. As an exclusive for RR readers, below is a smal program that can be run against this sample data to produce the demodulated data that's shown in the graphs.
This is really the essence of "software radio" !
The page is located at LSM 101
and here is the program
There is much more at the above URL, but here's one sentence I've extracted from the Conclusions:
This author would be most grateful to receive feedback, especially concerning any errors, omissions, distortions, etc.
73
Max
There is also a writeup here on RR concerning "simulcast digital distortion" but that is full of misinfo and disinfo. Its biggest problem is that it doesn't correctly describe the problem...
I've now put up a web page about LSM with further technical information including several images. The reasons for not putting the information directly in this thread are two:
1) The RR limits on attachments and sizes, and
2) I've taken the precaution of copyrighting the document.
However the page does not contain ads, there is no paywall, javascript, bugs, or other malware, we hope.
The page does contain a number of images and includes the raw sample data for those who might be interested in reproducing its results. As an exclusive for RR readers, below is a smal program that can be run against this sample data to produce the demodulated data that's shown in the graphs.
This is really the essence of "software radio" !
The page is located at LSM 101
and here is the program
Code:
#! /usr/bin/env python
import sys
import numpy as np
# will be complex baseband at zero IF
if_data = np.zeros(480, dtype=np.complex64)
# read data from stdin and populate if_data
for i in xrange(480):
re, im = sys.stdin.readline().split()
if_data[i] = float(re) + 1j*float(im)
# quadrature (fm) demodulate
fm_demod = np.angle(if_data[1:] * np.conj(if_data[:-1]))
# magnitude squared (am demod)
am_demod = np.abs(if_data[:-1]) ** 2
# print
for val in fm_demod: # <=== change here to print am_demod instead
print val
There is much more at the above URL, but here's one sentence I've extracted from the Conclusions:
Thus we see that when we attempt to demodulate CQPSK as if it were C4FM our clock recovery loop is making decisions at the exact opposite of the correct times.
This author would be most grateful to receive feedback, especially concerning any errors, omissions, distortions, etc.
73
Max