I doubled checked that both TX channels were working by disabling each one and looking at the absolute magnitude of the correlation. It dropped from millions as a response to about 10 thousand which was sufficient of a change to indicate the signal went missing. I also swapped the signals on the channels, and I did notice that the signal exhibits a certain phase pattern, output from the correlation, when it was on channel zero.
The formula I am using is: np.correlation(baseband, chirp0) * np.conjugate(np.correlation(basebase, chirp1)). Then an optional pass was made over this data using: output[1:] * np.conjugate(output[:-1]). In all of the images below I do not use the optional pass. I included it because it was something I was using to eliminate the ripple that is visible. Later I use an average method to eliminate it from the images.
In figure 1, there is a repeating pattern of striation on the right side. It would seem it is dependent on timing of the sampling. It makes me wonder if it is perhaps dependent on the local oscillator being fed into the mixer.
In hindsight, this pattern and future ones are likely caused by correlation of the chirp that was created with the chirp that was received. To complicate matters, the received chirp is distorted making the cross correlation produce distinct patterns. Then towards the end is likely noise. I had not at the time realized how distorted the chirp might be after TX and RX.
In figure 2, an average was taken across all rows/scans and this average is displayed showing the stationary features of the image that are present on every row. There is not much interesting except for the rolling phase pattern. It is worth noting that this is not a display of magnitude so the slow decrease of intensity of the rolling is actually the phase stabilizing around the value zero. I suppose in other words that tail end of the process being shown contains a lot of a noise towards the end but strangely from looking at previous output it is obvious that the pattern there also repeats.
In figure 3, I find there are three major regions. The red region has bands of noise. The blue region has the diagonal striations. The green region seems to be composed of mostly noise, but it has a few artifacts present that can barely be seen.
Using figure 4, it would show the green region to be around 35-miles to 80-miles in half-trip travel distance for the electromagnetic wave. By half-trip the total distance needed to travel by that particular sample position was halved as would be the case for a reflection hitting something and then returning.
I pondered if perhaps I could be seeing the upper layers of the atmosphere. At these ranges the only thing visible would be the sky. The horizon would have cut off any ground-based reflections somewhere after a few miles due to the fact that my antenna instrument is only a few meters off the ground. The only things left to reflect past a few miles would be taller structures and eventually at a 30 mile point it would seem for line of sight, at 5.8-ghz, there would not be much left to reflect.
The point at which I was starting to see the striations that was around 50 miles, half-trip distance for reflections. From my reading this would be around where the ionosphere starts and since this is daytime the ionosphere would be active. I decided to extend out the number of samples from 1000 to 5000 past the detection of the initial chirp in the RX stream. This would bring the total observable distance from 179-miles to 896-miles which should include most of Earth’s atmosphere.
I also figured that if there were reflections from the atmosphere that nighttime might bring about changes that would be visible in the output. The only thing left to do as this point is to wait and try to collect data over a period of day and night and analyze the data as it comes in.
I forgot to mention but I also doubled the chirp duration from 200e3 samples to 400e3 samples. This is at a sampling rate of 520.834e3. This should increase the range and overall signal to noise ratio of the test.