Hi gary, Fabian, all,
Small note:
The first tests seems to indicate the the rrc-filter works! Yes!
- I can decode large chunks of data with valid Manchester-encoding.
However, from time to time, I do get large blocks of data (10 to 20
seconds) with errors.
- Changing the value of alpha does not appears to have that much of an
influence.
I'll record a large audio-file of a couple of hours and so that I can do
a multiple tests all based on the same "reference" signal before making
a final statement about this.
I did notice that the costas-loop (in front of the polyphase clock-sync)
acts strange.
In this system, the phase-shift of the carrier is not shifted 180
degrees (as most PSK systems) but only 45 degrees (i.e., +- 22.5 degrees
compared a central reference). It looks like the costas-loops has issues
with that.
Sometimes, the points on the constellation-plot are on the right side of
the graph (i.e. above and below 0 degrees); and somethings they hover
above and below the 180 degrees point (on left side of the constellation
graph).
And this changes randomly.
I also have the impression that the polyphase clock-sync block is able
to do a better job when the constellation-points are around 180 degrees
then when they hover around 0 degrees as I see a lot more biterrors when
the points on the constellation-graph are on the right side of the graph.
I think we've got some more experimentation to do! :-)
Thanks for the help!
Kristoff
On 10.08.21 22:36, Gary Schafer wrote:
Kr,
That pulse shaping is *identical* to that for a RDS signal. I'm able
to demodulate the RBDS signal using a RRC filter in a "Polyphase Clock
Sync" block. Adjusting the parameters from the RDS signal to that of
your BBC signal (1187.5 Hz bit rate to 25 Hz bit rate), you'd get the
following parameters for the various blocks:
Polyphase Clock Sync:
Samples/symbol: 50
Loop bandwidth: 2*pi/100
Taps: rrc_taps_rx
Filter size: 50
Initial phase: 1
Maximum rate deviation: 1.5
Output SPS: 1
RRC Filter Taps:
Id: rrc_taps_rx
Gain: 1
Sample rate: 1250
Symbol rate: 25
Excess BW: 0.35
Num Taps: 550
At the very least, if my hypothesis is correct, that *should* get you
a constellation that is roughly a donut (as opposed to a big ball of
dots).
Hope this helps.
Gary
**********************************************************************
Hi all,
I am playing around with PSK demodulation, now doing a small project
trying to decode the slow-speed PSK data on the 198 KHz carrier of BBC
radio 4.
The specs are here:
http://downloads.bbc.co.uk/rd/pubs/reports/1984-19.pdf
According the document (page 2 of the document, page 8 of the PDF),
the system uses a shaping-filter of cos(pi * f * Td / 4).
(with Td = 50)
If I am correct, this is in fact a raised-cosine filter with beta = 1.
https://en.wikipedia.org/wiki/Raised-cosine_filter
So the document seems to specify a raised-cosine filter, both on the
transmit and receive side; so not a ROOT raised-cosine as is used in
most PSK systems.
Question:|
How do I create the filter-taps for the Polyphase clock sync block for
a raised-cosine filter?
I found a function firdes.root_raised_cosine, but no
firdes.raised_cosine?
Is there a way to easily convert the taps of a RRC filter to those of
a RC filter? (RC = RRC^2, so square the value of all taps?)
Any other ideas?
- put an additional RRC low-pass filter in front of the Polyphase
clock-sync block?
- use firdes.pm_remez() ?
Thanks in advance,
Kr.