Quantcast

PSK/QAM Demodulation Issue

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

PSK/QAM Demodulation Issue

Mojtaba Mansour Abadi
Hi Everyone,

The flowgraph I am implementing is simple and straight forward. I am modulating a set of data plus preamble. The modulations I am looking at are either PSK or QAM. After a block of "Channel Model" in the flowgraph, I want to demodulate the signal and obviously, for fair SNR values I should receive the same preamble and data values.

Now the problem is that when I use the deprecated "PSK/QAM Mod" and "PSK/QAM Demod", everything works fine. However, based on the examples in "/digital/demod" and "/digital/packet" shiped with gnuradio companion, when I try to use the "FLL Band-Edge" followed by "Correlation Estimator", "Polyphase Clock Sync", and "Costas Loop" to compensate the channel for PSK modulation, the results I am getting are not correct (see the attached picture and file).

It would be your kind if you could answer my questions please:

1- What is the correct way of demodulating the received signal?
2- In the provided examples, no equalizer is used after "Polyphase Clock Sync", whereas in a tutorial available at Gnuradio website a "CMA Equaliser" is needed there. So which one is the correct one?
3- If I move to QAM modulation, the only thing I need to do would be replacing "Costas Loop" with a "Constellation Receiver", right?

Cheers.


_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Test.grc (64K) Download Attachment
Pic.png (83K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PSK/QAM Demodulation Issue

Cinaed Simson
m-psk for m=2, has 2 samples/symbol and log2(m)=1 - or 1 bit per symbol.

Also, the polyphase clock has an input of 4 samples and output of 1 sps.
It should have input of 2 sps and output of 1 sps.

Just change the sps everywhere to 2.

Also, note there are only 2 symbols in the symbol map of the
Constellation object so for sps equal to 2 the symmetry is 2 - or there
will be 2 clusters on a horizontal straight line.

Except when you use a tap in the Channel Model of 1+1j which will
probably rotate the line by 45 degrees to the horizontal.

In any case, this is known as bpsk - or your case dbpsk - differential
bpsk.

I would add the CMA Equalizer between the Polyphase clock and Costa Loop.

-- Cinaed



On 05/17/2017 08:59 AM, Mojtaba Mansour Abadi wrote:

> Hi Everyone,
>
> The flowgraph I am implementing is simple and straight forward. I am
> modulating a set of data plus preamble. The modulations I am looking at
> are either PSK or QAM. After a block of "Channel Model" in the
> flowgraph, I want to demodulate the signal and obviously, for fair SNR
> values I should receive the same preamble and data values.
>
> Now the problem is that when I use the deprecated "PSK/QAM Mod" and
> "PSK/QAM Demod", everything works fine. However, based on the examples
> in "/digital/demod" and "/digital/packet" shiped with
> gnuradio companion, when I try to use the "FLL Band-Edge" followed by
> "Correlation Estimator", "Polyphase Clock Sync", and "Costas Loop" to
> compensate the channel for PSK modulation, the results I am getting are
> not correct (see the attached picture and file).
>
> It would be your kind if you could answer my questions please:
>
> 1- What is the correct way of demodulating the received signal?
> 2- In the provided examples, no equalizer is used after "Polyphase Clock
> Sync", whereas in a tutorial available at Gnuradio website a "CMA
> Equaliser" is needed there. So which one is the correct one?
> 3- If I move to QAM modulation, the only thing I need to do would be
> replacing "Costas Loop" with a "Constellation Receiver", right?
>
> Cheers.
>
> Regards,
> Mansour.
>
> https://www.linkedin.com/in/mojtaba-mansour-abadi-4311b451
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>


_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PSK/QAM Demodulation Issue

Mojtaba Mansour Abadi
Thanks a lot Cinaed for the tips, in particular, the symmetry order and CMA equaliser.

I did what you suggested about sps variable. However, it didn't help.

Besides as far as I know form GNURadio documentation, samples/symbol is referring to the samples representing a single constellation symbol so increasing this parameter is equivalent to interpolating the signal. It doesn't have to do anything with the modulation scheme. Please correct me if I am wrong.

Cheers,

Mansour.




On 17 May 2017 at 21:43, Cinaed Simson <[hidden email]> wrote:
m-psk for m=2, has 2 samples/symbol and log2(m)=1 - or 1 bit per symbol.

Also, the polyphase clock has an input of 4 samples and output of 1 sps.
It should have input of 2 sps and output of 1 sps.

Just change the sps everywhere to 2.

Also, note there are only 2 symbols in the symbol map of the
Constellation object so for sps equal to 2 the symmetry is 2 - or there
will be 2 clusters on a horizontal straight line.

Except when you use a tap in the Channel Model of 1+1j which will
probably rotate the line by 45 degrees to the horizontal.

In any case, this is known as bpsk - or your case dbpsk - differential
bpsk.

I would add the CMA Equalizer between the Polyphase clock and Costa Loop.

-- Cinaed



On 05/17/2017 08:59 AM, Mojtaba Mansour Abadi wrote:
> Hi Everyone,
>
> The flowgraph I am implementing is simple and straight forward. I am
> modulating a set of data plus preamble. The modulations I am looking at
> are either PSK or QAM. After a block of "Channel Model" in the
> flowgraph, I want to demodulate the signal and obviously, for fair SNR
> values I should receive the same preamble and data values.
>
> Now the problem is that when I use the deprecated "PSK/QAM Mod" and
> "PSK/QAM Demod", everything works fine. However, based on the examples
> in "/digital/demod" and "/digital/packet" shiped with
> gnuradio companion, when I try to use the "FLL Band-Edge" followed by
> "Correlation Estimator", "Polyphase Clock Sync", and "Costas Loop" to
> compensate the channel for PSK modulation, the results I am getting are
> not correct (see the attached picture and file).
>
> It would be your kind if you could answer my questions please:
>
> 1- What is the correct way of demodulating the received signal?
> 2- In the provided examples, no equalizer is used after "Polyphase Clock
> Sync", whereas in a tutorial available at Gnuradio website a "CMA
> Equaliser" is needed there. So which one is the correct one?
> 3- If I move to QAM modulation, the only thing I need to do would be
> replacing "Costas Loop" with a "Constellation Receiver", right?
>
> Cheers.
>
> Regards,
> Mansour.
>
> https://www.linkedin.com/in/mojtaba-mansour-abadi-4311b451
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>


_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



--

_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PSK/QAM Demodulation Issue

Marcus Müller-3

Hi Mansour,

Besides as far as I know form GNURadio documentation, samples/symbol is referring to the samples representing a single constellation symbol so increasing this parameter is equivalent to interpolating the signal. It doesn't have to do anything with the modulation scheme. Please correct me if I am wrong.
ah, be a bit careful with that! Nyquist Criterion demands 0s at every symbol time multiple (which should, for an interpolated filter, still be true, if interpolation is done correctly), but also ½ at odd halves of the sample interval. Thus, if your interpolation isn't even, that might break, if I'm not mistaken. Might be mistaken, though, been doing weird math stuff this morning.

Cheers,

Marcus

On 18.05.2017 14:33, Mojtaba Mansour Abadi wrote:
Thanks a lot Cinaed for the tips, in particular, the symmetry order and CMA equaliser.

I did what you suggested about sps variable. However, it didn't help.


Cheers,

Mansour.




On 17 May 2017 at 21:43, Cinaed Simson <[hidden email]> wrote:
m-psk for m=2, has 2 samples/symbol and log2(m)=1 - or 1 bit per symbol.

Also, the polyphase clock has an input of 4 samples and output of 1 sps.
It should have input of 2 sps and output of 1 sps.

Just change the sps everywhere to 2.

Also, note there are only 2 symbols in the symbol map of the
Constellation object so for sps equal to 2 the symmetry is 2 - or there
will be 2 clusters on a horizontal straight line.

Except when you use a tap in the Channel Model of 1+1j which will
probably rotate the line by 45 degrees to the horizontal.

In any case, this is known as bpsk - or your case dbpsk - differential
bpsk.

I would add the CMA Equalizer between the Polyphase clock and Costa Loop.

-- Cinaed



On 05/17/2017 08:59 AM, Mojtaba Mansour Abadi wrote:
> Hi Everyone,
>
> The flowgraph I am implementing is simple and straight forward. I am
> modulating a set of data plus preamble. The modulations I am looking at
> are either PSK or QAM. After a block of "Channel Model" in the
> flowgraph, I want to demodulate the signal and obviously, for fair SNR
> values I should receive the same preamble and data values.
>
> Now the problem is that when I use the deprecated "PSK/QAM Mod" and
> "PSK/QAM Demod", everything works fine. However, based on the examples
> in "/digital/demod" and "/digital/packet" shiped with
> gnuradio companion, when I try to use the "FLL Band-Edge" followed by
> "Correlation Estimator", "Polyphase Clock Sync", and "Costas Loop" to
> compensate the channel for PSK modulation, the results I am getting are
> not correct (see the attached picture and file).
>
> It would be your kind if you could answer my questions please:
>
> 1- What is the correct way of demodulating the received signal?
> 2- In the provided examples, no equalizer is used after "Polyphase Clock
> Sync", whereas in a tutorial available at Gnuradio website a "CMA
> Equaliser" is needed there. So which one is the correct one?
> 3- If I move to QAM modulation, the only thing I need to do would be
> replacing "Costas Loop" with a "Constellation Receiver", right?
>
> Cheers.
>
> Regards,
> Mansour.
>
> https://www.linkedin.com/in/mojtaba-mansour-abadi-4311b451
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>


_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



--


_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PSK/QAM Demodulation Issue

Cinaed Simson
In reply to this post by Mojtaba Mansour Abadi
On 05/18/2017 05:33 AM, Mojtaba Mansour Abadi wrote:
> Thanks a lot Cinaed for the tips, in particular, the symmetry order and
> CMA equaliser.
>
> I did what you suggested about sps variable. However, it didn't help.

If it was working under DPSK Mod/DPSK Demond, then all you have to do is
replace DPSK Mod with Constellation Mod, and DPSK Demod with Polyphase
Clock Sync, Constellation Decoder, Map, and Differential Decoder.

See the enclosed constel-dpsk-test.grc flow graph.

>
> Besides as far as I know form GNURadio documentation, samples/symbol is
> referring to the samples representing a single constellation symbol so
> increasing this parameter is equivalent to interpolating the signal. It
> doesn't have to do anything with the modulation scheme. Please correct
> me if I am wrong.

You're probably right - I haven't read the documentation yet.

>
> Cheers,
>
> Mansour.
>
>
>
>
> On 17 May 2017 at 21:43, Cinaed Simson <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     m-psk for m=2, has 2 samples/symbol and log2(m)=1 - or 1 bit per symbol.
>
>     Also, the polyphase clock has an input of 4 samples and output of 1 sps.
>     It should have input of 2 sps and output of 1 sps.
>
>     Just change the sps everywhere to 2.
>
>     Also, note there are only 2 symbols in the symbol map of the
>     Constellation object so for sps equal to 2 the symmetry is 2 - or there
>     will be 2 clusters on a horizontal straight line.
>
>     Except when you use a tap in the Channel Model of 1+1j which will
>     probably rotate the line by 45 degrees to the horizontal.
>
>     In any case, this is known as bpsk - or your case dbpsk - differential
>     bpsk.
>
>     I would add the CMA Equalizer between the Polyphase clock and Costa
>     Loop.
>
>     -- Cinaed
>
>
>
>     On 05/17/2017 08:59 AM, Mojtaba Mansour Abadi wrote:
>     > Hi Everyone,
>     >
>     > The flowgraph I am implementing is simple and straight forward. I am
>     > modulating a set of data plus preamble. The modulations I am
>     looking at
>     > are either PSK or QAM. After a block of "Channel Model" in the
>     > flowgraph, I want to demodulate the signal and obviously, for fair SNR
>     > values I should receive the same preamble and data values.
>     >
>     > Now the problem is that when I use the deprecated "PSK/QAM Mod" and
>     > "PSK/QAM Demod", everything works fine. However, based on the examples
>     > in "/digital/demod" and "/digital/packet" shiped with
>     > gnuradio companion, when I try to use the "FLL Band-Edge" followed by
>     > "Correlation Estimator", "Polyphase Clock Sync", and "Costas Loop" to
>     > compensate the channel for PSK modulation, the results I am
>     getting are
>     > not correct (see the attached picture and file).
>     >
>     > It would be your kind if you could answer my questions please:
>     >
>     > 1- What is the correct way of demodulating the received signal?
>     > 2- In the provided examples, no equalizer is used after "Polyphase
>     Clock
>     > Sync", whereas in a tutorial available at Gnuradio website a "CMA
>     > Equaliser" is needed there. So which one is the correct one?
>     > 3- If I move to QAM modulation, the only thing I need to do would be
>     > replacing "Costas Loop" with a "Constellation Receiver", right?
>     >
>     > Cheers.
>     >
>     > Regards,
>     > Mansour.
>     >
>     > https://www.linkedin.com/in/mojtaba-mansour-abadi-4311b451
>     <https://www.linkedin.com/in/mojtaba-mansour-abadi-4311b451>
>     >
>     >
>     > _______________________________________________
>     > Discuss-gnuradio mailing list
>     > [hidden email] <mailto:[hidden email]>
>     > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
>     >
>
>
>     _______________________________________________
>     Discuss-gnuradio mailing list
>     [hidden email] <mailto:[hidden email]>
>     https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
>
>
>
>
> --
> Regards,
> Mansour.
>
> https://www.linkedin.com/in/mojtaba-mansour-abadi-4311b451
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>

_______________________________________________
Discuss-gnuradio mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

constel-dpsk-test.grc (49K) Download Attachment
Loading...