discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] matched filter for BPSK produced by phase shiftin


From: Laur Joost
Subject: Re: [Discuss-gnuradio] matched filter for BPSK produced by phase shifting
Date: Sun, 17 Apr 2016 01:36:11 +0300

The phase modulation is according to the equation

S(t) = A*cos(2*pi*f*t + s(t)*pi/2),
s(t) = RRC(2*b(t) - 1)

where
S - modulated carrier
A - Amplitude of the modulated carrier
f - carrier frequency
s - modulating signal (shaped pulses)
b - bit value at time t

But I guess that's moot, given the next:

If the transmitter used RRC, the matched filter in the receiver must be the
corresponding RRC filter.  If it is not Nyquist, you'll get ISI; if it is Nyquist, you
won't get ISI.  You'll have to accept and work with the ISI you get. 
Also, the receiver should be performing the matched filtering in a demodulation
stage that corresponds to where the filter pulses were in the transmitter.

I guess the problem becomes one of matching the stages. How do I get a continuous (non-mod(2pi)) phase in GnuRadio?
I hacked something together, but it has problems when noise causes a more-than-pi/2 error, in which case it's suddenly
amplified to a -3pi/2 error. Though I guess a low-pass filter should limit that happening.

Is there a better way to do this?

​ 

I don't think that follows.  Real pulses being input to real functions, yields real
outputs. 
Complex filters are usually only needed when you need filter that is not
symmetrical about DC (your channel center, aka your baseband).  If you really
are at baseband (which you should be if performing clock recovery),
your pulse filter should not be complex, it will be real.  Thus its conjugate will be
real.
 
Thank you! That helped me understand something in another flowgraph.

Laur



 

2016-04-16 23:18 GMT+03:00 Andy Walls <address@hidden>:
Forgot to add the list


---------- Forwarded message ----------
From: Andy Walls
Date: Sat, Apr 16, 2016 at 4:16 PM
Subject: Re: [Discuss-gnuradio] matched filter for BPSK produced by phase shifting
To: address@hidden


From: Laur Joost Subject: [Discuss-gnuradio] matched filter for BPSK produced by phase shifting Date: Sat, 16 Apr 2016 19:30:29 +0300
>Hi all!

Hi.

>I need a clue where to start.
>
>I have a signal that is BPSK that is modulated not by applying the filtered
> baseband to the in-phase component, but instead doing literal analog phase
> shifting.

Please provide a mathematical _expression_ for the above.  The description is too
ambiguous.  Something like:

m_filt(t) = RRC_filter(m(t))
s(t) = sin(w_c *t + pi*m_filt(t))


> The result is that the signal transitions between the -1 and 1 symbols not
> through zero, but instead along the unit circle.

Constant modulus, continuous phase - that's nice to work with.
A PLL or a Costas loop should lock and track well.
AGC can be simple.

> The transmitted baseband is RRC-filtered.

Again, a picture, or sequence of mathematical statements describing the
modulation would be helpful.


> My questions:
> 1. Is Raised Cosine even a valid Nyquist filter for such a signal? After all, the
> actual In-phase transition occurs not according to the RRC response, but
> according to the sine OF the RRC.

Well, the Nyquist filter criteria can't be rigorously evaluated without an _expression_
to work with.  But it really doesn't matter.

If the transmitter used RRC, the matched filter in the receiver must be the
corresponding RRC filter.  If it is not Nyquist, you'll get ISI; if it is Nyquist, you
won't get ISI.  You'll have to accept and work with the ISI you get.

Also, the receiver should be performing the matched filtering in a demodulation
stage that corresponds to where the filter pulses were in the transmitter.


> 2. The response of such a modulator to a unit impulse is necessarily complex.

I don't think that follows.  Real pulses being input to real functions, yields real
outputs.


> From what I gather, the matched filter is then, also complex (time reversed and
> conjugated).

Complex filters are usually only needed when you need filter that is not
symmetrical about DC (your channel center, aka your baseband).  If you really
are at baseband (which you should be if performing clock recovery),
your pulse filter should not be complex, it will be real.  Thus its conjugate will be
real.

>How should I go about this in GnuRadio, given that the PFB Clock
> sync only takes real taps?

Do a separate matched filter with an FFT or FIR filter block, and follow that with
an M&M clock sync block.

With a separate matched filter block, you unfortunately cannot use the
PFB clock sync block.  It works with a peaked matched pulse filter and
that filter's derivative, so passing in a trivial filter like
[1,1,1,1,1,1,...,1] will cause the PFB clock sync block to crash.


> 3. Or can I just take the real part of the matched filter and feed that to PFB
> Clock sync? The constellation will have a weird spread (see picture). Will
> that affect either Costas or PFB?

Again, I don't think a complex baseband pulse filter makes sense.

BTW, on a slightly related note, taking only the real part of a _signal_ before
obtaining proper phase offset and bit timing is not a good idea.
You will degrade your SNR.



Depending on the the mathematical _expression_ the modulator is
actually implementing, you may have to do something a little
different than the textbook GNURadio BPSK demodulation steps.

> PS: The positioning of the constellation plots was not planned.
>
> All the best,
> Laur

Regards,
Andy



reply via email to

[Prev in Thread] Current Thread [Next in Thread]