From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Example Code

M-PSK Modulator with AWGN

Products and Environment

This section reflects the products and operating system used to create the example.

To download NI software, including the products shown below, visit ni.com/downloads.

    Software

  • LabVIEW

Code and Documents

Attachment

Description

Software Requirements:

LabVIEW FPGA 2010

LabVIEW FPGA RF Communications Library 3.0 available on NI-Labs

 

Hardware Requirements:

PXIe-7965R

PXIe-5673 or later

 

This example show how to use PN sequence generation, M-PSK Modulator, pulse-shaping filter and add AWGN VIs from the library.

The processed IQ signals are sent to the RF signal generator from the FlexRIO using peer to peer streaming.

The symbol rates, modulation type (BPSK/QPSK/8-PSK), pulse-shaping filter coefficients and Eb/N0 are programmable from the host.

 

If PN data is transmitted, then the bit error rate measurement can be obtained using the M-PSK Demodulator example.

Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.

Comments
poohling
Member
Member
on

Hi,

I have a problem trying to run this example. I have the problem to wire the input to the property I want to read. I suspect it is due to the invalid property. This happens for the 1st niRFSG property node (Power Level & IQ rate) and 2nd niRFSG property node (Active Channel, P2P enabled). Can you tell me how to fix this problem? Thanks.

Vinay_Kumar
Member
Member
on

Hi, Can you please share the error code/ description that you get?

poohling
Member
Member
on

Hi,

I managed to somehow solve the above problem by updating some vi and reload & reopen the projects. But now, I have a new error. Can you advise me how to solve this problem? Thank you.

Error -308016 occurred at Property Node (arg 1) in ni7965R MPSK Modulator with AWGN (HOST).vi

Possible reason(s):

NI-P2P:  The provided stream session handle is invalid.

Vinay_Kumar
Member
Member
on

I was able to run the example as is with the hardwares mentioned above. Can you check if the "FPGA Resource name" corresponds to the 7965R FlexRIO and matches the name mentioned in MAX?

HustLiliAn
Member
Member
on

Can this examples support lv 2011 ?? I meet a problem as https://decibel.ni.com/content/docs/DOC-4068#comment-27168 

Vinay_Kumar
Member
Member
on

This example should work in LV 2011. Any VI which has a DSP48E and uses advanced configurations needs LV FPGA 2011 service pack 1.

HustLiliAn
Member
Member
on

Hi, Vinay_Kumar and everyone

I have integrated the M-PSK Modulator and M-PSK Demodulator in a single FPGA Vi and a single Host Vi. I removed the RFSA and RFSG hardware and P2P streaming vi .  I want to do some simulation with the Modulator and Demodulator , in the FPGA Vi , I generated a PN signal with order 5, and modulate the signal with BPSK, samper per symbol is 6 and pulse shaping length is 5.  In the Host Vi ,  I have configure the parameters  of FPGA Vi just as the two original demos.  In the Host Vi , I  obtain the data through DMA to debug the project. There are some phenomenon confused me.

1.  The Q data after the pulse shaping filter sometimes just like the figure ,  the minimal samples is about -0.1, not -0.5. However , it is normal most time

1.jpg

2. Sometimes the "polar data valid ?" of the MPSK Demodulator is always false, and the output of IQ data DMA is null

3. The Demodulated bits is all wrong, and  we never get the correct bits of our PN signal. This is the key problem. However , the receive Q data is very good and is similar with the transmitter after pulse shaping filter. just like figure bellow

the  transmite PN signal and receive bits as figure bellow 3.jpg

the attachment  can't be upload , if anyone can help , I can send you the project,  Thanks for your help.

  2.jpg

HustLiliAn
Member
Member
on

The Host configuration of transmitter and receiver in the FPGA Vi just as bellow figure4.jpg

5.jpg

ThuyviNguyen
Member
Member
on

Hi Vinay,  thanks for having this useful example.  I have combined this example and the P2P stream example to make it work with my system (VST and FlexRIO 7965R).  I managed to get it running but my output is 30dB lower than that of the setting power.  Would you please help?  Thank you.