# PSK Mod Block

**URL:** <https://www.ruby-forum.com/t/psk-mod-block/242422>\
**Category:** GNU Radio\
**Created:** [June 23, 2015, 3:48pm UTC](https://www.ruby-forum.com/t/psk-mod-block/242422 "2015-06-23T15:48:22Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![musicdenotation](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@musicdenotation](https://www.ruby-forum.com/u/musicdenotation)\
**Post date:** [June 23, 2015, 3:48pm UTC](https://www.ruby-forum.com/t/psk-mod-block/242422/1 "2015-06-23T15:48:22Z")

</div>

Hello,

I wanna use PSK Mod Block, but the ISI is annoying. Why PSK Mod Block  
have  
a it’s own ISI?  
And also is there anyway to disable the ISI from the block?

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

---

<div class="post-metadata">

**Author:** ![Surya\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e7dd6/32.png) [@Surya\_A](https://www.ruby-forum.com/u/Surya_A)\
**Post date:** [June 23, 2015, 4:19pm UTC](https://www.ruby-forum.com/t/psk-mod-block/242422/2 "2015-06-23T16:19:20Z")

</div>

Introducing ISI to a PSK signal with a root-raised cosine (RRC) filter  
is a standard communications technique. At the receiver, use a matched  
RRC filter to eliminate the intentional ISI introduced at the  
transmitter. This works because the combined filter response of the two  
filters is a raised cosine pulse, which satisfies the Nyquist criterion  
for zero ISI.

In the PSK Mod block, the filter construction is not exposed to the user  
except through the excess bandwidth or roll-off parameter. You could  
adjust that bandwidth factor to be close to zero, but this will create a  
very long filter. If you really want to do what you are saying, it would  
be worth looking at the source code for the PSK Mod block, and taking  
the filter out. However, it is likely that you don’t really want to do  
this.

Sean

From: discuss-gnuradio-bounces+sean.nowlan=removed\_email\_address@domain.invalid  
[[mailto:discuss-gnuradio-bounces+sean.nowlan=removed\_email\_address@domain.invalid](mailto:discuss-gnuradio-bounces+sean.nowlan=removed_email_address@domain.invalid)] On  
Behalf Of Surya A.  
Sent: Tuesday, June 23, 2015 9:47 AM  
To: GNURadio D.ion List  
Subject: [Discuss-gnuradio] PSK Mod Block

Hello,

I wanna use PSK Mod Block, but the ISI is annoying. Why PSK Mod Block  
have a it’s own ISI?  
And also is there anyway to disable the ISI from the block?

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

---

<div class="post-metadata">

**Author:** ![Surya\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e7dd6/32.png) [@Surya\_A](https://www.ruby-forum.com/u/Surya_A)\
**Post date:** [June 23, 2015, 4:54pm UTC](https://www.ruby-forum.com/t/psk-mod-block/242422/3 "2015-06-23T16:54:23Z")

</div>

Thank you for the fast respond,

But, when I use PSK Mod then PSK Demod the output different from the  
input  
so no output from the Packet Decoder. Any suggestion?

On Tue, Jun 23, 2015 at 9:17 PM, Nowlan, Sean  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> that bandwidth factor to be close to zero, but this will create a very long  
> _From:_ [discuss-gnuradio-bounces+sean.nowlan=removed\_email\_address@domain.invalid](mailto:discuss-gnuradio-bounces+sean.nowlan=removed_email_address@domain.invalid)
> 
> Sincerely,
> 
> Surya A.
> 
> University Al Azhar of Indonesia, Jakarta

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

---

<div class="post-metadata">

**Author:** ![Surya\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e7dd6/32.png) [@Surya\_A](https://www.ruby-forum.com/u/Surya_A)\
**Post date:** [June 23, 2015, 5:13pm UTC](https://www.ruby-forum.com/t/psk-mod-block/242422/4 "2015-06-23T17:13:05Z")

</div>

This depends on your setup. If you’re just simulating with PSK Mod →   
PSK Demod and then comparing the input with the output, then you may be  
seeing some initial output from the filters due to the convolution  
operations. Try searching through your output after some delay.

If you disabled differential encoding, you may be seeing a bitstream  
that is not correct due to phase locking with a fixed phase offset at  
the receiver.

If you’re going over hardware or through a noise channel, you might not  
have enough SNR to decode properly.

If you’re using USRPs, have you experimented with the benchmark\_tx/rx  
scripts? These implement various types of single carrier modulation,  
including many variants of PSK.

Sean

From: Surya A. [[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
Sent: Tuesday, June 23, 2015 10:53 AM  
To: Nowlan, Sean  
Cc: GNURadio D.ion List  
Subject: Re: [Discuss-gnuradio] PSK Mod Block

Thank you for the fast respond,

But, when I use PSK Mod then PSK Demod the output different from the  
input so no output from the Packet Decoder. Any suggestion?

On Tue, Jun 23, 2015 at 9:17 PM, Nowlan, Sean  
\<removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Introducing ISI to a PSK signal with a root-raised cosine (RRC) filter  
is a standard communications technique. At the receiver, use a matched  
RRC filter to eliminate the intentional ISI introduced at the  
transmitter. This works because the combined filter response of the two  
filters is a raised cosine pulse, which satisfies the Nyquist criterion  
for zero ISI.

In the PSK Mod block, the filter construction is not exposed to the user  
except through the excess bandwidth or roll-off parameter. You could  
adjust that bandwidth factor to be close to zero, but this will create a  
very long filter. If you really want to do what you are saying, it would  
be worth looking at the source code for the PSK Mod block, and taking  
the filter out. However, it is likely that you don’t really want to do  
this.

Sean

From:  
discuss-gnuradio-bounces+sean.nowlan=removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[mailto:discuss-gnuradio-bounces+sean.nowlan[mailto:discuss-gnuradio-bounces%2Bsean.nowlan](mailto:discuss-gnuradio-bounces%2Bsean.nowlan)=removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Surya A.  
Sent: Tuesday, June 23, 2015 9:47 AM  
To: GNURadio D.ion List  
Subject: [Discuss-gnuradio] PSK Mod Block

Hello,

I wanna use PSK Mod Block, but the ISI is annoying. Why PSK Mod Block  
have a it’s own ISI?  
And also is there anyway to disable the ISI from the block?

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

---

<div class="post-metadata">

**Author:** ![Surya\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e7dd6/32.png) [@Surya\_A](https://www.ruby-forum.com/u/Surya_A)\
**Post date:** [June 23, 2015, 6:00pm UTC](https://www.ruby-forum.com/t/psk-mod-block/242422/5 "2015-06-23T18:00:25Z")

</div>

Then you really want some pulse shaping filter, like the RRC that is  
used by default.

---

<div class="post-metadata">

**Author:** ![Surya\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e7dd6/32.png) [@Surya\_A](https://www.ruby-forum.com/u/Surya_A)\
**Post date:** [June 23, 2015, 5:49pm UTC](https://www.ruby-forum.com/t/psk-mod-block/242422/6 "2015-06-23T17:49:18Z")

</div>

My target is using USRP, but still simulate using a noise channel. The  
output of PSK Demod is bit “0” a with some “1” and no input data in the  
output.

I attach the input and the output screenshot.

On Tue, Jun 23, 2015 at 10:12 PM, Nowlan, Sean  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> _Subject:_ Re: [Discuss-gnuradio] PSK Mod Block
> 
> Sean
> 
> Surya A.
> 
> University Al Azhar of Indonesia, Jakarta

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

---

<div class="post-metadata">

**Author:** ![Surya\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e7dd6/32.png) [@Surya\_A](https://www.ruby-forum.com/u/Surya_A)\
**Post date:** [June 23, 2015, 9:04pm UTC](https://www.ruby-forum.com/t/psk-mod-block/242422/7 "2015-06-23T21:04:27Z")

</div>

So,  
“it appears that PSK Mod expects packed bytes” = from Packet Encoder  
direct  
to PSK Mod  
“the Demod block outputs a stream of bits with 1 meaningful bit in the  
LSB  
position” = Repack Bits 1 to 8 (packet alignment = input)  
the result, without delay the output is similar but not same. I don’t  
know  
if need a long delay (the input and output from attachment not from the  
same packet) or I use a wrong Repack Bits block setting.

On Tue, Jun 23, 2015 at 11:51 PM, Nowlan, Sean  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> packed symbols. Symbols are grouped from MSB to LSB.”  
> Behalf Of \*Marcus Müller  
> On 06/23/2015 05:39 PM, Surya A. wrote:
> 
> If you disabled differential encoding, you may be seeing a bitstream that  
> If you’re using USRPs, have you experimented with the benchmark\_tx/rx  
> _Sent:_ Tuesday, June 23, 2015 10:53 AM  
> But, when I use PSK Mod then PSK Demod the output different from the input  
> works because the combined filter response of the two filters is a raised
> 
> _To:_ GNURadio D.ion List
> 
> Surya A.
> 
> –

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

---

<div class="post-metadata">

**Author:** ![Surya\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e7dd6/32.png) [@Surya\_A](https://www.ruby-forum.com/u/Surya_A)\
**Post date:** [June 23, 2015, 6:53pm UTC](https://www.ruby-forum.com/t/psk-mod-block/242422/8 "2015-06-23T18:53:00Z")

</div>

Looking quickly at the documentation, for PSK Mod and Demod blocks, it  
appears that PSK Mod expects packed bytes (8 bits of meaningful data in  
each byte) and that the Demod block outputs a stream of bits with 1  
meaningful bit in the LSB position. Use a Repack Bits block. However,  
you may need to play with the delay (insert a Delay Block) to make sure  
that the Repack Bits block is aligning bits into bytes properly.

Mod: “The input is a byte stream (unsigned char), treated as a series of  
packed symbols. Symbols are grouped from MSB to LSB.”

Demod: “The output is a stream of bytes, each representing a recovered  
bit. The most significant bit is reported first.”

From: discuss-gnuradio-bounces+sean.nowlan=removed\_email\_address@domain.invalid  
[[mailto:discuss-gnuradio-bounces+sean.nowlan=removed\_email\_address@domain.invalid](mailto:discuss-gnuradio-bounces+sean.nowlan=removed_email_address@domain.invalid)] On  
Behalf Of Marcus M.  
Sent: Tuesday, June 23, 2015 11:59 AM  
To: removed\_email\_address@domain.invalid  
Subject: Re: [Discuss-gnuradio] PSK Mod Block

Then you really want some pulse shaping filter, like the RRC that is  
used by default.  
On 06/23/2015 05:39 PM, Surya A. wrote:  
My target is using USRP, but still simulate using a noise channel. The  
output of PSK Demod is bit “0” a with some “1” and no input data in the  
output.

I attach the input and the output screenshot.

On Tue, Jun 23, 2015 at 10:12 PM, Nowlan, Sean  
\<removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
This depends on your setup. If you’re just simulating with PSK Mod →   
PSK Demod and then comparing the input with the output, then you may be  
seeing some initial output from the filters due to the convolution  
operations. Try searching through your output after some delay.

If you disabled differential encoding, you may be seeing a bitstream  
that is not correct due to phase locking with a fixed phase offset at  
the receiver.

If you’re going over hardware or through a noise channel, you might not  
have enough SNR to decode properly.

If you’re using USRPs, have you experimented with the benchmark\_tx/rx  
scripts? These implement various types of single carrier modulation,  
including many variants of PSK.

Sean

From: Surya A.  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
Sent: Tuesday, June 23, 2015 10:53 AM  
To: Nowlan, Sean  
Cc: GNURadio D.ion List  
Subject: Re: [Discuss-gnuradio] PSK Mod Block

Thank you for the fast respond,

But, when I use PSK Mod then PSK Demod the output different from the  
input so no output from the Packet Decoder. Any suggestion?

On Tue, Jun 23, 2015 at 9:17 PM, Nowlan, Sean  
\<removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Introducing ISI to a PSK signal with a root-raised cosine (RRC) filter  
is a standard communications technique. At the receiver, use a matched  
RRC filter to eliminate the intentional ISI introduced at the  
transmitter. This works because the combined filter response of the two  
filters is a raised cosine pulse, which satisfies the Nyquist criterion  
for zero ISI.

In the PSK Mod block, the filter construction is not exposed to the user  
except through the excess bandwidth or roll-off parameter. You could  
adjust that bandwidth factor to be close to zero, but this will create a  
very long filter. If you really want to do what you are saying, it would  
be worth looking at the source code for the PSK Mod block, and taking  
the filter out. However, it is likely that you don’t really want to do  
this.

Sean

From:  
discuss-gnuradio-bounces+sean.nowlan=removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[mailto:discuss-gnuradio-bounces+sean.nowlan[mailto:discuss-gnuradio-bounces%2Bsean.nowlan](mailto:discuss-gnuradio-bounces%2Bsean.nowlan)=removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Surya A.  
Sent: Tuesday, June 23, 2015 9:47 AM  
To: GNURadio D.ion List  
Subject: [Discuss-gnuradio] PSK Mod Block

Hello,

I wanna use PSK Mod Block, but the ISI is annoying. Why PSK Mod Block  
have a it’s own ISI?  
And also is there anyway to disable the ISI from the block?

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

–  
Sincerely,

Surya A.  
University Al Azhar of Indonesia, Jakarta

* * *

Discuss-gnuradio mailing list

removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

[https://lists.gnu.org/mailman/listinfo/discuss-gnuradio](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)
