| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
And fix some small issues in QPSK simulation.
The signal flow graph was tested with a coaxial cable, as well as with
an 2.4 GHz antenna. The constellation diagram looked OK, but the sent
data (bytes of lena512color.tiff) were neither decoded nor tested. That
is because we need to synchronize data frames with a header thing or
something like that (which is still not implemented yet).
|
|
|
|
|
|
|
|
'simulation' dir
|
|
Continuing the work of commit 20e54b3cf198f17e05a3c7e8716138717447aa32
Important:
- The diagram has been updated to include a CMA equalizer and a costas
loop (for phase correction and small frequency correction).
TODO:
- Decode the signal
- Create USRP hardware sinks (RX side, for later)
It would be very nice if we manage to find a 'switch' block that
allows to have in a single flow diagram both the simulated and
"real" signals.
NOTE: recall that the USRP gives directly a baseband signal, which
means that everything between the channel the costas loop (both
included) will not be used when the hardware is connected. Only the
(not yet) implemented decoder (and eventually some more filters if
needed) will be used.
Other notes:
- The layout has been updated to use QT Tab widgets (defined on the
top left corner). GUI elements can be put into tabs by giving a
string '<tab name>@<tab nr>: <grid options>' as GUI hint.
- To make the diagram nicer, all GUI sinks (eg. constellations plots
of time / freq. plots) are vertically aligned. Constellation above,
and time and freq. sinks below. Variables ought to be placed near
their respective block, unless they are global, in which case they
should go on the top left.
|
|
The current flow diagram does the following:
- Generate a QPKS constellation from a random bit source. The
constellation is parametrized by the 'Constellation Rect. Object'
and the variables 'sps' (Samples Per Symbol) and 'excess_bw' (Excess
Bandwidth).
- Send the modulated signal through a AWGN channel. Noise channel taps
are controlled with the 'taps' variable, the other paramters are
given through the 'QT GUI Range' objects.
- Display the constellation diagram as well as the time and frequency
domain plots of the signal after the channel (receiver side).
- Synchronize the clock using a polyphase clock sync with root raised
cosine filters. The number of filters is stored in 'nfilts' and the
filter themselves are in 'rcc_taps'.
- Finally, display the constellation after the RCC filters.
What is still missing:
- Multipath fading taps in the channel model (for later)
- Equalization on the receiver side.
PROBLEM: The wiki tutorial targets GNU Radio 3.9, and uses 'Linear
Equlizer' and 'Adaptive Algorithm' blocks which are not
available in GNU Radio 3.8. We need to use 'CMA Equalizer'
and 'LMS DD Equalizer' and figure out their parameters
instead. Though this should not be hard.
- Phase and Fine Frequency Correction.
- Decode the message.
|