Giter Site home page Giter Site logo

strath-sdr / rfsoc_qpsk Goto Github PK

View Code? Open in Web Editor NEW
88.0 14.0 43.0 66.58 MB

PYNQ example of using the RFSoC as a QPSK transceiver.

License: BSD 3-Clause "New" or "Revised" License

Tcl 34.22% HTML 1.10% Makefile 0.08% C 2.40% VHDL 54.09% Verilog 6.52% MATLAB 0.24% Jupyter Notebook 0.50% Python 0.83% Pascal 0.03%
sdr fpga-soc pynq-hardware-overlay qpsk pynq voila voila-dashboard

rfsoc_qpsk's Issues

Can I send a custom message to the QPSK transmitter?

Hello, I'm working on the ZCU111 to build a QPSK transmitter.
I can't figure out how to send a custom message use the pynq to the hardware to do the QPSK modulation.
I also use the TCL console to create the project. But I find that there is no constraints file in the project.

Demo QPSK wirelessly

I worked with QPSK demo. Now I need to develop this as wireless without loopback conncetion. But then it does not configure. Could you have any experience like doing this as wireless

Symbol Timing Synchronisation

This issue concerns the system generator model named axi_qpsk_rx_tsync.slx.

The timing synchronization mask implements the PLL filter coefficients in accordance with equations (7.30) and (7.31) on pages 267 and 268 in [1].

The first coefficient is generated correctly, however, the second is off slightly due to a missing bracket in the "Timing Sync" block mask.

Currently used code: Kb = (4*(BnS*Ts)^2)/(Kn*Ks*(d+1/4*d)^2);

Corrected code: Kb = (4*(BnS*Ts)^2)/(Kn*Ks*(d+1/(4*d))^2);

This leads to a very small gain error that may lead to desynchronization problems. Further analysis and testing are required to check timing synchronization with corrected gains.

[1] โ€” R. W. Stewart, K. Barlee, D. S. W. Atkinson, and L. H. Crockett, Software Defined Radio using MATLAB & Simulink and the RTL-SDR, Published by Strathclyde Academic Media, 2015.

Error in reading bitstream file and hwh file in qpsk overlay

I used the commands make block_design and make bitstream to generate the .bit and .hwh files for the ZCU216 board. The files were successfully generated and are located at:

.bit file: block_design.runs/impl_1/rfsoc_qpsk_wrapper.bit
.hwh file: block_design.gen/sources_1/bd/rfsoc_qpsk/hw_handoff/rfsoc_qpsk.hwh
I uploaded these files to a Jupyter notebook and followed the instructions in the 02_rfsoc_qpsk_demonstrator.ipynb notebook. However, after executing the command ol = QpskOverlay(), the Jupyter notebook shut down and I lost connection to the Jupyter Lab over Ethernet.

Could you help identify any missing steps or errors in the process before loading the bitstream onto the board?

DMA access problem

I'm reimplementing the QPSK transceiver and need to change the DAC and ADC clock values. I've removed the interpolate and decimate modules and replaced them with an AXI interconnect. However, now when I try to access the DMA using tx_ch0 = ol.qpsk_tx.axi_dma_0.sendchannel, the board crashes. I've been stuck on this issue for several days and can't figure out what the problem is. Can you help?

image
image
image
If you need design to figure out the problem, the link is:
https://drive.google.com/file/d/1_F2dnBlpuOJDBUTIe2o9Da3YWPtihrWC/view?usp=sharing
Thank you very much!

Ubuntu 16.04 write_project.tcl seg fault

Hello, I have tried twice to run the build_project.tcl script as specified in the readme and both times my os has killed the process. I attached a file containing the end of the build process output, my computer memory, and os version. Is there another way I can build the project on my system or access the vivado block diagram without building it myself? P.S. I was able to successfully build the project from April 5th.
error.log

Error using Voila notebook

Hello. I installed voila as you mention https://strath-sdr.github.io/pynq/linux/zynq/fpga/voila/2021/02/22/install-voila-on-pynq-v2-6.html.
After i run in a command line:

voila /home/xilinx/jupyter_notebooks/qpsk-demonstrator/voila_rfsoc_qpsk_demonstrator.ipynb --ExecutePreprocessor.timeout=180 --theme=dark --port=8866 --TagRemovePreprocessor.remove_cell_tags='{"ignore_me"}'

Then open new browser tab and enter the following into the address bar: http://board_ip_address:8866 but i get:

image

image

How to change QPSK data rate to 10kbps?

Hi,
I'm trying to change the QPSK symbol rate to 10kbps.
I just change Rb = 10000(from 1000) and R_CIC = 320(from 3200).
After that, I build the Tx/Rx IPs and the bitstream file.
But, observing the RF output of qpsk_tx, the signal BW still seems about 1kHz.
Could you tell me what other configurations to be changed?

Error in reading bit file in qpsk overlay

Hi All;
I try to reimplement the design through generating the file from system generator, then exporting the bit file from Vivado 2020.1. I've generated the bit file successfully and include it within the same path included in pynq image. However when I try to read it from the QPSK overlay this error appear . If I use the original file it works. Do I missed any permission request during bit file generation?

image

Vivado 19.2 Upgrade IP issues

Do you folks know what the comparable upgrade to would be from 18.3 to 19.2:
'axi_qpsk_rx_csync_bd_axi_qpsk_rx_csync_1_0'
'axi_qpsk_rx_dec_bd_axi_qpsk_rx_dec_1_0'
axi_qpsk_rx_rrc_bd_axi_qpsk_rx_rrc_1_0'
'axi_qpsk_rx_tsync_bd_axi_qpsk_rx_tsync_1_0'
'qpsk_tx_symbol_gen_bd_qpsk_tx_symbol_gen_1_0'
'axi_qpsk_rx_csync_0'
'axi_qpsk_rx_dec_0'
'axi_qpsk_rx_rrc_0'
'axi_qpsk_rx_tsync_0'
'qpsk_tx_symbol_gen_0'

Or definitions of the clock, sync settings would help to move this to 19.2.

AttributeError and Javascript Error

Hi There,
Unfortunately when I try to use jupyterlab or jupyter notebook I get the following error

AttributeError: module 'plotly.graph_objs' has no attribute 'FigureWidget'

When I try to use jupyterlab I get the additional error
Javascript Error: require is not defined

I installed the packages as per https://github.com/strath-sdr/rfsoc_qpsk

pip3 install --upgrade git+https://github.com/strath-sdr/rfsoc_qpsk.git

jupyter labextension install @jupyter-widgets/[email protected] --no-build
jupyter labextension install [email protected] --no-build
jupyter labextension install @jupyterlab/[email protected] --no-build
jupyter lab build

systemctl restart jupyter

I think there is a package compatibility issue with the install. My installed packages are
root@pynq:/home/xilinx# pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) inyour pip.conf under the [list] section) to disable this warning.
2ping (4.1)
alabaster (0.7.8)
asn1crypto (0.24.0)
attrs (17.4.0)
Babel (2.4.0)
beautifulsoup4 (4.6.0)
bleach (2.1.2)
certifi (2019.6.16)
cffi (1.11.5)
chardet (3.0.4)
Click (7.0)
cryptography (2.1.4)
cycler (0.10.0)
Cython (0.26.1)
dash (0.21.1)
dash-core-components (0.23.0)
dash-html-components (0.11.0)
dash-renderer (0.13.0)
decorator (4.4.0)
deltasigma (0.2.2)
docutils (0.14)
entrypoints (0.2.3.post1)
Flask (1.0.3)
Flask-Compress (1.4.0)
html5lib (0.999999999)
httplib2 (0.9.2)
idna (2.8)
imagesize (0.7.1)
imutils (0.5.2)
ipykernel (4.8.2)
ipython (5.5.0)
ipython-genutils (0.2.0)
ipywidgets (6.0.0)
itsdangerous (1.1.0)
Jinja2 (2.10)
jsonschema (2.6.0)
jupyter-client (5.2.2)
jupyter-contrib-core (0.3.3)
jupyter-contrib-nbextensions (0.5.1)
jupyter-core (4.4.0)
jupyter-highlight-selected-word (0.2.0)
jupyter-latex-envs (1.4.6)
jupyter-nbextensions-configurator (0.4.1)
jupyterlab (0.35.6)
jupyterlab-server (0.2.0)
keyring (10.6.0)
keyrings.alt (3.0)
lxml (4.2.1)
MarkupSafe (1.0)
matplotlib (2.1.1)
mistune (0.8.3)
mpmath (1.0.0)
nbconvert (5.3.1)
nbformat (4.4.0)
nbsphinx (0.3.1)
nbwavedrom (0.2.0)
netifaces (0.10.4)
networkx (1.11)
nose (1.3.7)
notebook (5.2.2)
numexpr (2.6.4)
numpy (1.13.3)
olefile (0.45.1)
pandas (0.22.0)
pandocfilters (1.4.2)
pexpect (4.2.1)
pickleshare (0.7.4)
Pillow (5.1.0)
pip (9.0.1)
plotly (3.9.0)
pluggy (0.6.0)
ply (3.11)
prompt-toolkit (1.0.15)
psutil (5.4.2)
py (1.5.2)
pycparser (2.18)
pycrypto (2.6.1)
pycurl (7.43.0.1)
pyeda (0.28.0)
Pygments (2.2.0)
pygobject (3.26.1)
pygraphviz (1.4rc1)
pynq (2.4)
pyparsing (2.2.0)
pytest (3.3.2)
pytest-sourceorder (0.5)
python-apt (1.6.0)
python-dateutil (2.6.1)
pytz (2019.1)
PyWavelets (0.5.1)
pyxdg (0.25)
PyYAML (3.12)
pyzmq (16.0.2)
requests (2.22.0)
requests-unixsocket (0.1.5)
retrying (1.3.3)
rfsoc-qpsk (1.0)
rise (5.2.0)
roman (2.0.0)
scikit-image (0.13.1)
scipy (0.19.1)
SecretStorage (2.3.1)
setuptools (39.0.1)
simplegeneric (0.8.1)
six (1.12.0)
Sphinx (1.6.7)
sphinx-rtd-theme (0.4.3)
SQLAlchemy (1.1.11)
ssh-import-id (5.7)
sympy (1.1.1)
systemd-python (234)
tables (3.4.2)
terminado (0.7)
testpath (0.3.1)
tornado (4.5.3)
traitlets (4.3.2)
transitions (0.5.3)
unattended-upgrades (0.1)
urllib3 (1.25.3)
uvloop (0.8.1)
wcwidth (0.1.7)
webencodings (0.5)
Werkzeug (0.15.4)
wheel (0.30.0)
widgetsnbextension (2.0.1)
xrfclk (0.1)
xrfdc (0.1)
root@pynq:/home/xilinx#

Therefore I would be grateful if someone would advise me if they have seen this issue and if there are any fixes available please provide the details.

Regards

Walter

.dcp file

We are working through the qpsk_tx_symbol_gen_bd.xpr and the issue stalls at DCP does not exist.

Could be related to synthesis configuration issues, but would like to see if you could share the .dcp file?

SysGen and iprepo HDL out of sync

Fix in PR#1 (#1) has been applied to generated HDL only.

Can someone with SysGen access update the data inspector for the last rx "tap off"? FIFO depth should be 127, and the constant for the read threshold should be 63.

Simulink model QPSK Receiver

Hello!
Full simulink model of QPSK receiver available?
AXI QPSK Receiver: Coarse Frequency Sync simulink model not simulate.

Error when running the notebook

Ran the following lines in Jupyter Lab on a v2.4 PYNQ image for zcu111:

pip3 install --upgrade git+https://github.com/strath-sdr/rfsoc_qpsk.git

jupyter labextension install @jupyter-widgets/[email protected]
jupyter labextension install [email protected]
jupyter labextension install @jupyterlab/[email protected]

Then when running the notebook i get the following errors:

image

I suspect it has to do with warnings I received during the labextension installations:
image

image

image

image

image

image

Can you assist?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.