Hi Tom.
First, thank you for your answer.
Le mar. 1 déc. 2015 à 16:33, Tom Rondeau <[email protected]> a écrit :
This is a very open-ended question. It'd take a lot of work for
someone to go through your receiver and make any suggestions. Your
best bet is to ask very pointed questions about a behavior or block.
I know that it's a lot of work, I just wanted to know if, at a first
glance, something looked out of place.
I'm sometimes lost in GNU radio when I have to choose a block among
several that seem to do the same thing.
Bonus questions :
* using the FLL band edge after the low-pass seems odd because, even
if it can recover frequency offset, some of the bandwidth will be
lost.
Should I use the error ouput of the FLL to change the freq used by
the Freq XLating FIR FIlter ? If yes, is there an example of this
somewhere ?
That's more like it! This is a question we can actually answer.
Yes, you have the issue that you described. You could think to make a
block that could pass a message the frequency translating filter that
would adjust its center frequency, but you won't be able to do that
very quickly. It would be a slow, very coarse frequency correction.
Instead, I would try to figure out the expected maximum frequency
offset and make the LPF of the frequency translating filter block
large enough to accommodate that. This LPF is a channel filter meant
to reduce noise power from adjacent channels, so there is always a
tradeoff between that and being able to lock on to your signal. The
clock sync block performs the actual matched filtering, though, so
you're not using this LPF to just isolate the signal exactly.
The main purpose of the FLL is to compensate the thermal offset of a
crappy RTL-SDR device so it doesn't need to be really fast.
I'll try to increase the cutoff frequency first, and see how it reacts
with the adjacent channels.
* at first I wanted to use the Constellation receiver, but from what
I understand the constellations in gnuradio work by first
discretizing the signal, then doing the diff.
This does not work with PI/4 DQPSK because you need to first diff
the complex samples, then discretize.
Is there any way I could cheat to create a PI/4 DQPSK constellation
in gnuradio ?
I could see overloading the constellation object to have a child
class with memory to handle this case.
I've looked into that but I'm afraid some blocks won't play well with
the constellation class (for example, they expect a constellation to
have 2**(bits) points, but PI/4 DQPSK uses 2 bits and has 8 points).
I think I will stay with the flowgraph approach for now.
Best,
Timothée.
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio