| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixed: FIR filter samples need to be complex conj
|
|
|
|
|
|
There is an issue somewhere between the mod and demod, since frame
synchronization works on a direct path.
|
|
|
|
|
|
|
|
|
|
|
|
Can be tested locally with: netcat -l4kuv localhost 31415
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'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.
|
|
|
|
|
|
It implements the easiest, crappiest AM moulator.
|
|
|