... knowing if a signal has been skipped off the ionosphere or not...
Let's start with a bit of terminology (which isn't always consistent
among various references). That will help to determine just
what conditions you are trying to detect.
I would divide radio wave propagation into 3 modes: the
surface
wave, which travels along the air/ground interface; the
direct wave, which travels directly from transmitter to receiver,
and the
sky wave, which bounces off the ionosphere (or passes
right through it instead). Yes, there are others, like moonbounce,
tropo, or meteor scatter, but let's start with the easiest ones.
The surface wave must be vertically polarized. That's what AM BC
stations rely on for local coverage, as the coverage is very consistent
over time. However, the surface wave attenuates faster with distance
than the other modes, so it has a more limited range, depending on
frequency and transmitter power. When ionospheric conditions permit
(usually at night), the reflected sky wave signal can be received
simultaneously, which causes fading (due to the relative phase
of the signals) which limits the useful range for "broadcast quality"
reception.
The direct wave polarization is determined by the transmitter antenna,
and whatever reflections or refractions happen along the way. Often
it also provides a good stable signal, but is prone to multipath
interference (fading) due to moving objects like aircraft, or in some
cases trucks driving through the signal path.
The sky wave can be reflected back to Earth via the E or F layer
of the ionosphere. It undergoes some polarization modification
along the way, so the polarization of the received wave is basically
unpredictable, even knowing the transmitter antenna. We
often experience that as "fading", as the polarization changes from
that of our receiving antenna to being cross polarized and back
again. This might take up to an hour over stable paths, or just a
couple minutes when conditions are changing quickly along the
path.
Note that the sky wave can also be reflected from the
troposphere(which we often refer to as tropo scatter). That's not the same as
the
ionosphere, which is one reason that I wanted to clarify your
exact requirements.
So if the received signal is vertically polarized, it may be surface
wave, but otherwise it isn't. If it is pretty stable over time, then it may
be surface wave or direct wave, or sky wave under stable conditions
(depending how long of a sample you want to take to determine the
propagation mode).
If the signal strength does exhibit fading or other phase interference,
it maybe a combination of surface wave and sky wave, or it may be
direct wave with airplane interference, or sky wave over a less stable
path.
You really can't tell too much from a single input to an SDR:
polarization typically would need to compare two inputs from antennas
with different polarization. And a signal from a moving vehicle may
realy confuse the software, as path loss and reflections will vary fairly
quickly over time.
So it's important to determine exact what conditions you want
your algorithm to handle, and which you choose to ignore.
It certainly isn't a trivial task!