[Top][All Lists]

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

Re: [Discuss-gnuradio] GRC/python to C transfer of cf information, frequ

From: Kyeong Su Shin
Subject: Re: [Discuss-gnuradio] GRC/python to C transfer of cf information, frequency hopping with fosphor display and changing frequency extent
Date: Wed, 17 Jul 2019 16:20:05 +0000

Hello Arthur:

For the inter-process communication, maybe you can try using ZMQ sources/sinks (see: http://zeromq.org ). GNU Radio has dedicated blocks for that. I haven't used that for transferring pmt messages, but they should be able to do that.

One question, though: is it necessary to use gr-fosphor? Maybe you can just take FFT and take Mag^2 and then transfer that data to your C program using ZMQ, TCP or UDP. (I never used OpenCV, so maybe I am not understanding something here..)


Kyeong Su Shin

보낸 사람: Arthur Lobo <address@hidden> 대신 Discuss-gnuradio <discuss-gnuradio-bounces+ksshin=address@hidden>
보낸 날짜: 2019년 7월 18일 목요일 오전 12:23:54
받는 사람: address@hidden
제목: [Discuss-gnuradio] GRC/python to C transfer of cf information, frequency hopping with fosphor display and changing frequency extent


I developed a block diagram in GRC consisting of a fosphor block and a UHD USRP source block

with a message input to change the tuning frequency from 445M->922M->2.44G->5.785G with 3 second

persistence per band and repeat indefinitely. I actually had to work on the Top_block.py (renamed to RFNet.py)

script and the embedded python message block file generated by GRC to get the frequency hopping to work. Then I grab

the fosphor video stream and write it to a UDP port using ffmpeg. My Computer Vision C program then reads the fosphor

video stream from the UDP port using OpenCV and performs inferencing of signal classes just like DeepSig’s OmniSIG

does. I would like my C program to receive in real-time the GRC/python message block changed center frequencies as soon

as it is sent to the UHD USRP Source block and use that information to annotate detected signals with their center frequencies

and bandwidths on the fosphor waterfall. Attached is a screen capture of such an annotated waterfall instant but this case was

for non-frequency hopping. For the frequency-hopping case I have tried named pipes (FIFO) for sending the GRC/python generated

center frequencies to the C program but do not get the desired results. The fosphor displayed band and the center frequencies received

by the C program are not synchronized. One solution is for my C Computer Vision program to detect one of the numbers on the fosphor

frequency axis for each band and then the C program has instant access to the band being processed.  That would involve training the

Computer Vision program to recognize the numbers “445”, “922”, “2440” and “5785” on the frequency axis. I was wondering if there

is another way this transfer of center frequency from the GRC/python environment to an independently running C program

could be done. I have attached the GRC generated python scripts.


Also I am looking at 100 MHz bandwidth for the 2.4G and 5.8G bands in fosphor but I want to look at only 30 MHz bandwidth for the

433 MHz and 915 MHz bands in the above frequency hopping framework so I can get more time-frequency signal structure for my

Computer Vision program. If one looks at signals in the 433 MHz and 915 MHz bands with a 100 MHz bandwidth they appear as lines

and there is not much to discern between signal classes. So dynamically changing the frequency extent (between 100 MHz and 30 MHz)

of fosphor display by bandpass filtering and downsampling, seamlessly in the above four-frequency hopping scenario is what I am looking


Any advice on how I could accomplish the two above objectives would be much appreciated. Thank you very much for your time.



reply via email to

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