element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Evaluate GNU Radio application performance on Pi4(2G)
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 40 replies
  • Subscribers 662 subscribers
  • Views 6662 views
  • Users 0 members are here
  • raspberry_pi
Related

Evaluate GNU Radio application performance on Pi4(2G)

colporteur
colporteur over 5 years ago

The results after using a Raspberry Pi 3B+ to run a GNU Radio flow graph were unacceptable. The audio outputed from the Pi was distorted. I speculate the SBC doesn't have the performance specification to support GNU Radio.

 

I am trying to determine if the Raspberry Pi (version ?) is capable of supporting a GNU Radio flow graph. My current assessment is no. The hardware performance is not sufficient to handle the digital signal processing requirements.

 

It was suggested I make a forum post while some testing was done, so other interested could follow.

 

My objective was to write a tutorial for the GNU Radio application using a Raspberry Pi. After successfully building two GNU Radio flow graphs on my Ubuntu 18.04 i7 processor desktop, I ported the flow graphs to a Pi3B+ connected to an HDMI with audio monitor. One flow graph is an audio signal generator outputed to a speaker. The second is an FM receiver. Both flow graphs work in the sense they produce audio but with distortion and in the case of FM broadcast, unreadable.

 

The audio flow graph requires a GNU Radio software installation. The FM flow graph requires an SDR dongle to gather a broadcasted signal to feed the GNU Radio FM radio receiver flow graph. The test will be using the audio flow graph since no additional hardware is required.

 

image

cstanton  has agreed to use his Pi4(2G) to run the test. Before starting the exercise, I will ask Christopher to review review the procedures and provide feedback. I'm keeping the the verbiage terse, assuming a higher level of understanding. If more details are required or feel something is more appropriate or missing please let me know.

 

A zip file of two flow graphs is attached. The file with basic is minimal as it gets. The second file provides a test module. I experienced a problem with both.

 

 

Test Procedure:

Fresh install of Raspbian Buster Full, current release.

Apply O/S updates/upgrades & Install GNU Radio

 

///CODE START///

sudo apt-get update -y;sudo apt-get upgrade -y

sudo reboot

sudo apt-get install gnuradio

///CODE END///

 

Take screen shots of htop screen at the following milestones.

1. O/S idle, no application running on the GUI desktop other than what is defaulted.

2. GNU Radio started, no flow graph

3. GNU Radio flow graph loaded.

4. GNU Radio flow graph started.

5. Evaluate audio coming from speaker and advise.

 

Depending on results, i would like to expand the test Ginny pig agreed.

 

Sean

 

Message was edited by: sean conway I have uploaded the two audio flow graphs for GNU Radio. The current version of GNU Radio encourages development in QT widgets verses the WX widgets. Three is discussion in the community support for WX will disappear. The flow graphs provided are QT. Sean

Attachments:
gnuradio.zip
gnuradio_FM.zip
  • Sign in to reply
  • Cancel
  • shabaz
    shabaz over 5 years ago

    Hi Sean,

     

    Great project idea. My project is going nowhere fast hehe (due to some source code issue) so I'll try to follow your project, in case I can contribute anywhere (although it may be of little benefit, I'm not super familiar with GNU radio, each time I've tried it on other platforms like x86, it's been buggy for me).

    I'll have to dig up the SDR stick, I've not used it in a while.

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • Cancel
  • gpolder
    gpolder over 5 years ago

    Hi Sean,

     

    I'm very interested in GNU Radio, and I do have a Pi4, so I will perform your tests as well. But give me a few days, I have to finish some other projects first.

     

    Gerrit.

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • Cancel
  • colporteur
    colporteur over 5 years ago in reply to gpolder

    I am new to GNU Radio myself.

     

    I have been researching the application since June. With the arrival of SDR hardware, I was ready to do development. I worked through the exercise of creating a flow graph for receiving FM radio broadcasts. I live in a rural area and the city FM channels are not strong. I managed to extract the audio using a good SDR dongle. This also prove you get what you pay for if you purchase a cheap SDR dongle.

     

    I did all the initial development using Ubuntu 18.04 with an i7 processor having 32G of memory available. It worked as advertised. When I took the same flow graphs to the Pi I discovered some issues. The GNU Radio software load for Ubuntu and Pi may use the same command but the Pi install doesn't integrate support for SDR dongles. One extra apt-get install required. The software version for the Pi is slightly ahead of Ubuntu in terms of minor version numbers.

     

    A lot of prior work is available for the old widget format WX. Since I was new to the application and didn't know what I didn't know, it took me a little while and a whole lot of reading to finally have a working QT widget FM receiver.

     

    If you find yourself in need of the flow graphs for FM receiver let me know and I can make them available.

     

    Based on the Pi having distortion doing a simple audio flow graph, I can see it having issues with the FM flow graph. I am hoping someone notices a NOOBs mistake in my flow graph that enables Pi's to work. I have tried a few versions of flow graphs, mine as well as others, yet still the same problem. Now that there are some RoadTester with shiny new Pi4's I thought I would see if they would do the test.

     

    Sean

    • Cancel
    • Vote Up +6 Vote Down
    • Sign in to reply
    • Cancel
  • Gough Lui
    Gough Lui over 5 years ago

    I have not tried it, but the Pi is relatively low powered so I wouldn't be surprised if there were issues.

     

    One suggestion I have is to use a sample rate of 48kHz as many sound cards and outputs expect 48kHz output. Feeding in lower sample rates sometimes will resample correctly, but other times not, resulting in crackles and underflow (i.e. U being printed in the console).

     

    - Gough

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • cstanton
    cstanton over 5 years ago

    I've got at least two SDRs I can use with GnuRadio, one's similar to this:

     

    https://www.amazon.co.uk/AndoerRegistered-Portable-Digital-RTL2832U-Receiver-Blue/dp/B013Q94CT6

     

    The other's a HackRF:

     

    https://greatscottgadgets.com/hackrf/

     

    I intend to look into this, this weekend.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • colporteur
    colporteur over 5 years ago in reply to cstanton

    G'Day,

    If you plan to try the SDR exercise you will need some additional software loads.

    ///CODE START///

    sudo apt-get update -y;sudo apt-get upgrade -y

    sudo reboot

    sudo apt-get install rtl-sdr gnuradio gr-osmosdr

    ///CODE END///

     

    I have posted the flow graphs for FM radio. The graphs are in three parts. A basic one channel FM receiver. Then adding some visuals (i.e measuring components) and then enhanced which is all the bells and whistles including channel tuning. Understand the intent is to make the flow graphs part of a tutorial.

     

    Sean

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • colporteur
    colporteur over 5 years ago in reply to Gough Lui

    I will make a sample rate change from 24kHz to 48kHz and  and report back.

    Sean

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • colporteur
    colporteur over 5 years ago in reply to colporteur

    Sorry from 32K to 48K.

    Sean

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • colporteur
    colporteur over 5 years ago in reply to cstanton

    What is your assessment of the HackRF?

    Sean

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • colporteur
    colporteur over 5 years ago in reply to Gough Lui

    Interesting observations today. GNU Radio audio flow graph worked! I used an existing Pi setup with bluetooth speakers and the GNU Radio audio flow graph shown worked. No distortion. No intermittent audio. What changed?

     

    The issue may be related to audio configuration.

    • GNU Radio installation by itself will error out trying to run a flow graph. The error message suggests something to do with ALSA configs.
    • Installing gqrx enables GNU Radio flow graphs to work but audio distorted.
    • GNU Radio installation with bluetooth speaker configured, flow graphs work and audio not distorted.

     

    Raspbian Buster has made big strides with Buster in fixing bluetooth issues. One major leap is integration to ALSA using bluealsa services. I used a Pi install that had bluetooth speakers configured as part of another project. I merely used the install to test GNU Radio and discovered it worked.

     

    gam3t3ch did a post Alsa no audio (glitch) issue Pi 4 fix to share his process for resolving audio issues. The post discusses ALSA and how configuration appear to change as software is installed. The order of software installs is what twigged me to a possible audio issue with GNU Radio.

     

    I'm not sure my supposition that a Pi lacks the performance to support GNU Radio is valid. It appears the audio distortion issue is related to Pi's audio configuration and not performance. Further investigation is required.

     

    cstanton Christopher if you are monitoring this post, be aware of these findings before starting your Pi4 testing. I expect the instructions provided will give you a GNU Radio install that fails to run the flow graph because of ALSA issue. I haven't resolved that issue only I stumbled on the work around to get it working using bluetooth.

     

    Sean

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube