To answer your question* below, here is an example that may clarify what I am
asking.
Example:
I have a 'vector source' of 63 floating point numbers, [1.2, 4.5, 2.3, 8.1
...], that is outputting one floating point point number. It sends out one
number at each sample time (Can I assume one sample at a time i.e. it only
sends 1 32bit number at a time). If I create a python block that takes the
input value. I want a "work" function that can calculate the average of the
current input value and 5 previous inputs. I have these questions:
Questions:1) How do I save the previous values in "memory" that are used to
generate the new average?
A) Does/can the python module store old previous values? If so how?
B) How much delay does the the python code cause? i.e If I have the
original data and "delay" data and plot them on a time sync are the aligned?
C) Can the output of the python block ever send data back to an another block
that was in the signal path before it, i.e. feedbackThanks...Tom
*Ref:
> Does it work on each sample or can you send it an array? Is the Python in/out
> synchronized with the data stream?
It's not clear what you mean here. "the data stream" is what you're processing
here.
Cheers,
Marcus
On Sunday, August 20, 2023 at 08:16:23 PM CDT, SHAKTHIVEL S 2021 Batch,PES
University <[email protected]> wrote:
Hi Marcus,I got small doubt after looking at your reply, the self.consume
takes (inputport , len(in0)) as arguments but the input length depends on the
number of output_items / input_items as in0 =
input_items[0][:len(output_items[0])] which inturn depends on the
noutput_items / ninput_items variable , right? My doubt is ,aren't the below
functions in top_block.py define the default length of input vectors / value of
ninput_items?
def start(self, max_noutput_items=10000000):
"""
Start the flowgraph with the given number of output items and return.
"""
top_block_start_unlocked(self._impl, max_noutput_items)
def stop(self):
"""
Stop the flowgraph
"""
top_block_stop_unlocked(self._impl)
def run(self, max_noutput_items=10000000):
"""
Start the flowgraph with the given number of output items and wait.
"""
self.start(max_noutput_items)
self.wait()
Thanks and regardsShakti
On Sun, Aug 20, 2023 at 4:02 PM Marcus Müller <[email protected]> wrote:
Hi Shakti, hi Tom,
first off: a friendly reminder to **not** forget to change the subject line
when replying to digest emails, see the sentence you literally replied to:
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Discuss-gnuradio digest..."
Anyways, what Shakti recommends makes not too much sense, sorry! All the files
are "exported from wiki", in other words, the original version is in the very
wiki with the tutorials in it. That's why it says that in the file name :)
https://wiki.gnuradio.org/index.php?title=Usage_Manual
To address Tom's questions:
> If I use the "input" to the block, how many samples are processed each time
> the Python code is called?
As many as you process. That's up to your code! In a general block, you need to
call `self.consume` (or `consume_each`) yourself to tell the runtime how much
of the available input you consumed.
You need to return the number of samples you have produced at the end of your
(`general_`) work method.
In the sync block (and fixed-rate decimator and interpolators), what you return
inherently defines how much you consumed, so don't call `consume` or
`consume_each` in that case.
> Does it pass a byte, float, complex, vector, etc... on at a time?
No, but that's really clearly illustrated in the Python tutorial!
Seehttps://wiki.gnuradio.org/index.php?title=Creating_Your_First_Block#Editing_Work_Function
: As you can see, `input_items` is a vector of vectors, each row containing
the input items from one of the input ports your block has, and then each
vector there is many items.
> Does it work on each sample or can you send it an array? Is the Python in/out
> synchronized with the data stream?
It's not clear what you mean here. "the data stream" is what you're processing
here.
Cheers,
Marcus
On 20.08.23 05:03, SHAKTHIVEL S 2021 Batch,PES University wrote:
Hi, You may check in the docs folder in the GitHub page under usage-manual,
Handling flowgraphs.txt and types of blocks.txt files until someone who is
expert answer your questions. Hope that helps. Thanks.. Shakti
On Sun, Aug 20, 2023, 04:54 tom sutherland <[email protected]> wrote:
I've gone through the Python tutorial but have some questions. If I use the
"input" to the block, how many samples are processed each time the Python code
is called? Does it pass a byte, float, complex, vector, etc... on at a time?
Does it work on each sample or can you send it an array? Is the Python in/out
synchronized with the data stream? Thanks...Tom
On Friday, August 18, 2023 at 11:03:02 AM CDT,
[email protected] <[email protected]> wrote:
Send Discuss-gnuradio mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Discuss-gnuradio digest..."
Today's Topics:
1. [GRCon'23] Keynotes, Workshops, Sponsors: It's all coming
together! (Marcus Müller)
2. Re: Using a signal as a parameter in a block? (Marcus Müller)
3. Re: Discuss-gnuradio Digest, Vol 250, Issue 15 (Sowji Srinithi)
4. LookupError: KeyError: No devices found (was: Re:
Discuss-gnuradio Digest, Vol 250, Issue 15) (Marcus Müller)
----------------------------------------------------------------------
Message: 1
Date: Thu, 17 Aug 2023 18:04:52 +0200
From: Marcus Müller <[email protected]>
To: Gnuradio Mailing List <[email protected]>
Cc: [email protected]
Subject: [GRCon'23] Keynotes, Workshops, Sponsors: It's all coming
together!
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8; format=flowed
Dear Community,
GNU Radio Conference 2023 is coming closer! (It takes place starting
Sep. 5 in Tempe, Arizona, USA. Tickets happen to be $100 cheaper until
2023-08-18 [0].)
== Keynotes ==
The Conference Organizers are quite happy to see an excellent list of
Keynote speakers[1] come together for the four conference days:
With Lindy Elkins-Tanton, we have been able to secure the NASA Principal
Investigator for the Psyche Mission, and an all-around impressive
scientist and research leader on the formation of rocky planets. If
being elected into the National Academy of Sciences is not enough
credit: there's an asteroid named after her.
On the technical and historical side, I'm personally looking forward to
seeing Eric Blossom again: he, as the first head of architecture, has
been formative to the things that make GNU Radio what it is. Currently,
he's working on high-speed satellite radios.
Don't forget that SDR involves, famously, not only software, but also
radio. Constantine Balanis' contributions to the field of radio
technology are not limited to his authorship of the standard textbook on
antennas – he's been at the forefront of EM simulation and RF channel
theory and thus set many cornerstones for wireless communications and
sensing applications everywhere.
Of course, if we invite GNU Radio's history, we should also be inviting
someone working on the future of GNU Radio: That'd be Ralph Steinhagen,
head developer for systems integration at FAIR, one of the largest and
technically most advanced particle accelerators, who, together with his
team, is putting in all the work to bring a shared vision of GNU Radio
4.0 to life.
== Workshops ==
But the value of a conference is not found exclusively in the
higher-profile talks, but also in the ways that it enables people to
actually have a closer look at things, together. Workshops [2] have been
a staple of GRCon's popularity for years, and this year is no exception
with a total count of 10 workshops, covering topics from basic DSP, over
GNU Radio use, transceiver design, embedded Linux-based SDR development,
and FPGA usage on SDR devices, to FOSS 5G network setup with srsRAN.
== Sponsors ==
As you might guess, organizing all this takes effort – and executing
takes a lot of funds. Hence, we're very glad we've found sponsors [3]
for this year's GRCon. Next to a few industry-standard names, it's
especially nice to see breakthrough startups and research organizations
take up the chance to present themselves to the GNU Radio audience. You
can, when buying tickets [0], directly choose a Patron Ticket, which
gives you a cheap opportunity to place your logo on the GRCon website;
if that's what you want to do, or if you care for other sponsorship
packages, don't hesitate to reach out to [email protected].
So, for now: I'm looking forward to seeing you there!
-- Marcus
[0] https://tickets.gnuradio.org/
[1] https://events.gnuradio.org/event/21/page/111-keynote-speakers
[2]
https://events.gnuradio.org/event/21/contributions/?config=9e736ba3-8af2-4446-b8ba-bf634ad0ff33
[3] https://events.gnuradio.org/event/21/page/94-our-sponsors
------------------------------
Message: 2
Date: Thu, 17 Aug 2023 20:08:51 +0200
From: Marcus Müller <[email protected]>
To: [email protected]
Subject: Re: Using a signal as a parameter in a block?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=UTF-8; format=flowed
Hi Tom,
You are assuming the "delay" input of the Delay block was sample-synchronous
– it's not!
Messages are asynchronous to samples by design. Repeating the same message
hence doesn't
do what you want:
What you're trying to do, keep the delay constant for 1023 samples, then
change it, keep
it constant… but that would require that the delay block "waits" for a new
message for
every sample it processes. It doesn't (and it can't).
I think in your situation, learning how to write a Python (or C++, if that's
easier for
you) block to do in one place what you want to happen here would be the only
solution –
and not too hard.
Best regards,
Marcus
On 17.08.23 14:59, tom sutherland wrote:
> I want to use the output value of a signal generator as the delay value of
a delay block.
> Is there a way to pass the output of a signal generator(saw tooth) to the
delay block? I
> have attached an initial grc file and a picture of what I want to do. Any
help would be
> appreciated.
> Thanks...Tom
> PS Do you know if I need to sign up for any workshops, etc.. at the
GNURadio Conference
> next month or do I just show up and take a seat? I've already registered.
>
> Inline image
>
>
------------------------------
Message: 3
Date: Fri, 18 Aug 2023 13:41:16 +0530
From: Sowji Srinithi <[email protected]>
To: [email protected]
Subject: Re: Discuss-gnuradio Digest, Vol 250, Issue 15
Message-ID:
<cacqfbd8kfj2dptehwrlg-yec+b3uavdg-tmryyqpmyq6rj+...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Qt GUI: Could not restore geometry: restoreGeometry(self, geometry:
Union[QByteArray, bytes, bytearray]): argument 1 has unexpected type
'NoneType' [INFO] [UHD] linux; GNU C++ version 12.3.0; Boost_107400;
UHD_4.4.0.0+ds1-4 Traceback (most recent call last): File
"/home/sowjanya/Downloads/fm_example.py", line 238, in <module> main() File
"/home/sowjanya/Downloads/fm_example.py", line 216, in main tb =
top_block_cls() ^^^^^^^^^^^^^^^ File
"/home/sowjanya/Downloads/fm_example.py", line 84, in __init__
self.uhd_usrp_source_0 = uhd.usrp_source( ^^^^^^^^^^^^^^^^ RuntimeError:
LookupError: KeyError: No devices found for -----> Empty Device Address how
to fix this error
How to fix the above error
On Thu, 17 Aug 2023 at 21:37, <[email protected]> wrote:
> Send Discuss-gnuradio mailing list submissions to
> [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> or, via email, send a message with subject or body 'help' to
> [email protected]
>
> You can reach the person managing the list at
> [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Discuss-gnuradio digest..."
>
>
> Today's Topics:
>
> 1. Using a signal as a parameter in a block? (tom sutherland)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 17 Aug 2023 12:59:58 +0000 (UTC)
> From: tom sutherland <[email protected]>
> To: "[email protected]" <[email protected]>
> Subject: Using a signal as a parameter in a block?
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset="utf-8"
>
> I want to use the output value of a signal generator as the delay value of
> a delay block. Is there a way to pass the output of a signal generator(saw
> tooth) to the delay block? I have attached an initial grc file and a
> picture of what I want to do. Any help would be appreciated.Thanks...TomPS
> Do you know if I need to sign up for any workshops, etc.. at the GNURadio
> Conference next month or do I just show up and take a seat? I've already
> registered.
>
>
>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
>
https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230817/353462d6/attachment.htm
> >
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: 1692277050668blob.jpg
> Type: image/png
> Size: 41672 bytes
> Desc: not available
> URL: <
>
https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230817/353462d6/attachment.png
> >
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: rampAsDelayInput.grc
> Type: application/octet-stream
> Size: 4072 bytes
> Desc: not available
> URL: <
>
https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230817/353462d6/attachment.obj
> >
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: RampAsDelayInput.png
> Type: image/png
> Size: 30385 bytes
> Desc: not available
> URL: <
>
https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230817/353462d6/attachment-0001.png
> >
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
> ------------------------------
>
> End of Discuss-gnuradio Digest, Vol 250, Issue 15
> *************************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230818/70cc2c07/attachment.htm>
------------------------------
Message: 4
Date: Fri, 18 Aug 2023 10:35:09 +0200
From: Marcus Müller <[email protected]>
To: [email protected]
Subject: LookupError: KeyError: No devices found (was: Re:
Discuss-gnuradio Digest, Vol 250, Issue 15)
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Hi Sowji,
according to the text you've replied to:
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Discuss-gnuradio digest..."
I changed the subject line to actually describe the contents of your email.
Please get in
the habit of doing that :)
Anyways, as you notice, this is an error related to UHD not finding any USRP
devices.
Since we don't know which device you have, we can't help you with that. But
to expedite a
solution: Guides to this are found in dozens of corners on the internet, for
example
https://stackoverflow.com/questions/33304828/when-trying-to-use-my-usrp-in-gnu-radio-i-get-a-no-devices-found-for
Best,
Marcus
On 18.08.23 10:11, Sowji Srinithi wrote:
> Qt GUI: Could not restore geometry: restoreGeometry(self, geometry:
Union[QByteArray,
> bytes, bytearray]): argument 1 has unexpected type 'NoneType' [INFO] [UHD]
linux; GNU
> C++ version 12.3.0; Boost_107400; UHD_4.4.0.0+ds1-4 Traceback (most recent
call last):
> File "/home/sowjanya/Downloads/fm_example.py", line 238, in <module> main()
File
> "/home/sowjanya/Downloads/fm_example.py", line 216, in main tb =
top_block_cls()
> ^^^^^^^^^^^^^^^ File "/home/sowjanya/Downloads/fm_example.py", line 84, in
__init__
> self.uhd_usrp_source_0 = uhd.usrp_source( ^^^^^^^^^^^^^^^^ RuntimeError:
LookupError:
> KeyError: No devices found for -----> Empty Device Address how to fix this
error
>
> How to fix the above error
>
> On Thu, 17 Aug 2023 at 21:37, <[email protected]> wrote:
>
> Send Discuss-gnuradio mailing list submissions to
> [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> or, via email, send a message with subject or body 'help' to
> [email protected]
>
> You can reach the person managing the list at
> [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Discuss-gnuradio digest..."
>
>
> Today's Topics:
>
> 1. Using a signal as a parameter in a block? (tom sutherland)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 17 Aug 2023 12:59:58 +0000 (UTC)
> From: tom sutherland <[email protected]>
> To: "[email protected]" <[email protected]>
> Subject: Using a signal as a parameter in a block?
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset="utf-8"
>
> I want to use the output value of a signal generator as the delay value
of a delay
> block. Is there a way to pass the output of a signal generator(saw
tooth) to the
> delay block? I have attached an initial grc file and a picture of what I
want to do.
> Any help would be appreciated.Thanks...TomPS Do you know if I need to
sign up for
> any workshops, etc.. at the GNURadio Conference next month or do I just
show up and
> take a seat? I've already registered.
>
>
>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
>
<https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230817/353462d6/attachment.htm>
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: 1692277050668blob.jpg
> Type: image/png
> Size: 41672 bytes
> Desc: not available
> URL:
>
<https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230817/353462d6/attachment.png>
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: rampAsDelayInput.grc
> Type: application/octet-stream
> Size: 4072 bytes
> Desc: not available
> URL:
>
<https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230817/353462d6/attachment.obj>
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: RampAsDelayInput.png
> Type: image/png
> Size: 30385 bytes
> Desc: not available
> URL:
>
<https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230817/353462d6/attachment-0001.png>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
> ------------------------------
>
> End of Discuss-gnuradio Digest, Vol 250, Issue 15
> *************************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<https://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20230818/b6b52e2b/attachment.htm>
------------------------------
Subject: Digest Footer
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
------------------------------
End of Discuss-gnuradio Digest, Vol 250, Issue 16
*************************************************