Jef, Fabian, Aditya, Anon, David,
I'll just reply to this one message so not to spam the list to much but
please consider this a "thank you" to all for replying.
As said, this is for a limited and very specific goal:
I will probably be giving a workshop on GRC in a couple of weeks and I
want to give a quick explanation of iq-sampling and how this impacts
designing a GR flowgraphs.
I want to keep the workshop focused on that one topic. So I really want
to avoid going "wondering around" trying to explain everything that is
related to DSP or SDR. After all, it's a workshop on using GRC, not a
generic presentation on SDR or signal-processing.
The reason I do want to mention iq sampling in the workshop, is simply
that does is one of the basic datatypes of GNU Radio and it is an
important element that affects how to build a flowgraph.
I think I will summarise it like this:
* complex numbers is one of the datatypes of GR, It is the format to
store signals generated by a process called "i/q sampling".
So, what is iq-sampling?
IQ-sampling is like sampling a normal ("real") signal -i.e. what most
people are familiar with-, ... except that you sample the data twice for
each period: once at timer "t" and a second time 1/4 sampling period
later. (*)
This 2nd sampling-action provides information about the 'direction' a
signal is going (up or down). (I think the proper term here is its 'slope')
(thx David for the correction about 'phase' vs 'slope')
(*) Just look at the design of a direct-conversion SDR receiver.
The first sample is called the "in phase" sample, the 2nd sample is the
"quadrature" sample; hence "i/q" sampling.
* as was also mentioned by Heather in the RSGB/BATC presentation, the
use of iq-signals has a number of consequences on GNU Radio flow-graphs.
The most important ones are:
-> Mixing two complex signals (with a frequency of "f1" and "f2") will
produce one new signal with a frequency of f1+f2 Hz.
This is in contrast to a mixer of "real" signals which -as most people
know- produces two new signals (frequencies: f1+f2 and f1-f2)
-> In the "real" frequency-domain, only the frequencies from 0 up to
sampling-rate / 2 is defined. The frequencies below zero are a mirror of
the radio-spectrum above DC.
Using complex i/q sampling, both positive and negative frequencies exist
and are independent of each other.
-> A signal with a "negative" frequency?
Yes, a complex signal can have a 'negative' frequency. This is basically
the same as a signal with the equivalent positive frequency, but
mirrored around the x-axis (**).
If you look at such a signal, you see that flipping a signal upside down
will inverse the sign of the value of every sample (something that does
affect the value of the signal, but no its frequency), ... and inverse
the "direction" of that signal.
And remember that the goal of i/q sampling is ... to determine the
direction of a signal?
(**) note: there do are other ways to negate the frequency of a complex
signal.
-> Combine the two last points, and you get this:
If you mix (multiply) an incoming signal with frequency "f1" with a
second signal that has a negative-frequency "-f2" will generate a new
signal with a frequency of f1-f2, effectively moving a signal down in
the radio-spectrum. (i.e. 'down-converting')
* And finally, ... certain hardware peripherals deals with 'real'
signals (e.g. an audio-card or a speaker), other hardware create or read
complex 'iq' signals (like most dedicated SDR peripherals)
Again, the goal is not a full detailed discussion about I/Q signals.
The goal is to give people who are not to SDR, new to GNU Radio and have
never heard of i/q sampling before some idea of what it is, and how it
will impact them when they start playing around with GRC.
But I do want my information to be factual correct, so .. if somebody
sees factual errors in this, feel free to reply! :-)
73
kristoff - ON1ARF
On 3/11/2020 12:47, Jeff Long wrote:
This is a great thing to try to figure out. If we can come up with an
answer that gives someone a feel for why I/Q is used in SDR in 10
minutes, and does not include phasors, exponentials to a complex
power, a derivation of any equation, the concept of orthogonality,
etc. ... it will win a Nobel prize in education.
On Tue, Nov 3, 2020 at 4:56 AM gilles rubin <rubingil...@yahoo.com
<mailto:rubingil...@yahoo.com>> wrote:
Hello,
You can have a look here
The Concept of Frequency | Wireless Pi
<https://wirelesspi.com/the-concept-of-frequency/>
The Concept of Frequency | Wireless Pi
<https://wirelesspi.com/the-concept-of-frequency/>
Qasim Chaudhari CEO of Wireless Pi is great ! You will find plenty
of information on his website.
Gil.
Le mardi 3 novembre 2020 à 00:06:02 UTC+1, Kristoff
<krist...@skypro.be <mailto:krist...@skypro.be>> a écrit :
Hi all,
I was watching the webinar of Heather on GNU Radio today, when it
came
to me that one of the most difficult part doing a presentation of GNU
Radio is the data-types, .. and especially these 'complex numbers'.
The problem, or at least for me, is that when you mention 'GNU Radio
complex numbers', you also have to mention iq-signals, which is a
topic
that is very difficult to explain in 10 seconds to an audience who
has
never seen anything about i/q sampling before.
I have been thinking on how to explain the concept of I/Q
signalling in
just a few lines, e.g. in the context of -say- a workshop on GR.
I have this idea in my head:
Statement:
The main difference between sampling with reals ('floats') and i/q
sampling with complex numbers, is that the latter does not only
provide
the instantaneous value (voltage) of a signal at a certain point of
time, but also includes phase information (i.e. the slope of the
signal
at that point).
To make this visual:
Take half a sine-wave and plot it out for every 45 degrees.
This gives you 5 points: 0 (0 degrees), sqrt(2)/2 (45 degrees), 1 (90
degrees), sqrt(2)/2 (135 degrees) and 0 (180 degrees).
Now look at the 2nd and the 4th point (45 degrees and 135
degrees), if
you sample this using only real/float values, these two points are
exactly the same (sqrt(2)/2). Just based on these values by
themselves
(i.e. remove all other points from the graph), there is no way you
can
tell that at the first point (45 degrees) the graph was going up,
while
at the 135-degrees point the graph was going down.
So, ... what i/q sampling does, is for every point "x", it not only
provide the value of the graph at that point of time, but also
information of the slope of the graphs at that time.
This also explains while i/q sampling is done by not just taking the
value of a signal at point "t", but also at 1/4 period later
(which is
the information you need to determine the 'slope' of that graph at
point
't')
So, ... is this statement correct?
If it is more-or-less correct and it can help provide a basic mental
image of the concept of i/q sampling, I would be more then happy! :-)
73
kristoff - ON1ARF