discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Resource issues when trying to record 2 FM broadcast stations


From: Martin Lefkowitz
Subject: Re: Resource issues when trying to record 2 FM broadcast stations
Date: Wed, 17 May 2023 09:00:46 -0700
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1

I guess I'm going to find out about adding jpgs to the email list, but thanks for responding.

Actually the Multiple station receiver link uses WBFM, and yes that even ran on my Acer C720 which has an older mobile celeron. But, that is not stereo and does not do deemphasis as far as I can see.  I chose the newer one simply because I thought it would be easier to do, as I get a rash every time I have to upgrade old software that was intended for an old environment in Linux/opensource.

I tried playing around with where the decimation occur, but it messes up the xlating filters target frequency, and doesn't provide much relief on the CPU load.  Everything has to be a multiple of 48k, the audio frequency for it to work right.

On the jpgs, some of the meters just for display  are disabled, but that didn't seem to matter.

Thanks in advance for looking this over.  I think maybe I will review the Marcus Leech version of the project to see if I can get that running in the new environment.


Marty


On 5/16/2023 9:00 AM, discuss-gnuradio-request@gnu.org wrote:
----------------------------------------------------------------------

Message: 1
Date: Tue, 16 May 2023 00:11:18 +0200
From: Marcus Müller <mmueller@gnuradio.org>
To: discuss-gnuradio@gnu.org, Martin Lefkowitz <lefko8@gmail.com>
Subject: Re: Resource issues when trying to record 2 FM broadcast
        stations
Message-ID: <0942c7bf-222a-cc30-d428-5356c517c48b@gnuradio.org>
Content-Type: text/plain; charset=UTF-8; format=flowed

Hi Martin,

On 13.05.23 17:40, Martin Lefkowitz wrote:
I  haven't spent a whole lot of time working with gnuradio.
Well, then: Welcome to the GNU Radio community!

I'm not a DSP engineer.  I am
however a software engineer that has dealt with signals so not completely a 
laymen, but I
am out of my comfort zone.
Let's rephrase this: Welcome to the GNU Radio community, the newly-found 
extension of your
comfort zone ;)

I  had successfully created this project about 4 years ago using Marcus Leech's 
Stereo FM
Radio implementation and grafting it into the front design of this  the 
multiple station
receiver design. Described here

https://forums.radioreference.com/threads/multiple-fm-station-receiver.341340/#lg=_xfUid-2-1556650274&slide=0
Looks fine :) You could have also absorbed the 1/4-resampler into the freq 
xlating FIR
filter (by setting the decimation to 4), but the only benefit of that would 
have been
slightly reduced computational load.
For a bit of documentation on the Frequency XLating FIR Filter:
https://wiki.gnuradio.org/index.php?title=Frequency_Xlating_FIR_Filter (the top 
right
spectrum diagram I think explains quite nicely what I mean with "let the 
Xlating FIR
filter also do the decimation" :) )


I recorded 2 pirate radio stations at a 4 day music festival. Started the 
recording on
Thursday.  Stopped it on Sunday.  The sample rate was 2.4M.  I created an Heir 
block that
had the appropriate parts of Marcus Leech's Stereo FM radio in it.  and replaced
everything from the xlating FIR to the multiply const in the second block 
figure above
with the heir block, and added some WXQT blocks to handle the gui for 2 
stations like wav
sinks, file names, etc.  It was successful, but one thing that did happen was I 
needed to
go from a Acer 720 (celeron) with Gallium installation to an (older) I5 laptop.

I let that project sit for a couple of years.  The first thing I did when I got 
back to it
was upgrade everything.  Big mistake... Nothing worked after that.
Well, WX GUI was indeed removed a couple of years ago, as we had nobody that 
knew how to
fix its bugs anymore. But for your purposes, Qt GUI should offer a drop-in 
replacement.
The rest of the blocks should be the same as in the GNU Radio 3.7 era, no?

I got grc 3.10 running
with radioconda.  I swapped Marcus's implementation out for Zan's 
fm_stereo_demod_clean

https://forums.radioreference.com/threads/multiple-fm-station-receiver.341340/#lg=_xfUid-2-1556650274&slide=0

http://zansprojects.blogspot.com/2019/05/stereo-fm-receiving-with-rtl-sdr-and.html

In this new implementation I needed to create a series of variables to handle 
the design
issue of having the signal be a multiple of 48k for the audio sink to be the 
correct
speed.  In particular the decimations in the rational resampler.This worked, 
but when I
changed the sample rate to widen the bandwidth to receive 2 stations further 
apart on the
FM band than 1Mhz I ran into performance issues.  Basically with my setup the 
CPU load is
about 90% with a sample rate of 1.24 Mhz.
Could you really share your flow graph with us? This is a bit strange to 
understand by
reading about modifications on a 3.7-era (so, obsolete) blog post of someone 
else - I'd
much rather analyze your flow graph than someone else's :)

I was able to do this because of the great work done by the people mentioned 
above, but
figuring out how to deal with the performance issues is kind of beyond the 
disciplines I
am familiar with.
These sound likely to be caused by switching to that other flow graph and using
inelegantly related sampling rates or filter bandwidths, but I can really only 
speculate
without seeing your flow graph :)

I am wondering if anybody has any suggestions on how to get
fm_stereo_demod_clean to have better performance.  I did not see an updated 
version of the
Marcus Leech design so I figured there was something blocking that update, but 
maybe that
is incorrect.
Don't think so. All that might have happened is that Marcus (Leech, aka. the 
Marcus the
Wiser) didn't have the time (or energy, or attention …) to port that.

Matter of fact, we have a – hopefully sensibly working – example in our wiki of 
a
single-station stereo FM receiver. Should work out of the box, no need to 
recreate Marcus
L's hier block to get stereo:

https://wiki.gnuradio.org/index.php?title=WBFM_Receive_PLL

Combine that with your original Freq' Xlating FIR approach, and it *should* 
work :)

I am also wondering if I could get a more powerful laptop/NUC and make it
work with brute force by throwing money at the project.  I would love to hear 
any
suggestions from people with more grc and dsp experience, or which path I 
should take now.
This should technically work on a slightly overprovisioned toaster 
microcontroller, so I
don't think that'll be necessary :)

Let's have a look at your flow graph together :)

Best regards,
Marcus

Attachment: FMDemodHeir.jpg
Description: JPEG image

Attachment: TwoFMDemod.jpg
Description: JPEG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]