Thursday, June 18, 2026

Re: ATSC 1.0 transmit errors

I'm not familiar with where things are installed on Windows, but you should have an already complete example flow graph named uhd_atsc_tx.grc somewhere.

It's probably in a directory with a name like gnuradio/share/gnuradio/examples/dtv

Also, the test file is https://www.w6rz.net/advastc.ts (which is noted in the example flow graph).

adv16apsk910.ts is the DVB-S2 test file and will still mostly work, but there will be either video of audio hiccups because it's the incorrect Transport Stream bitrate.

Ron

On 6/18/26 15:49, Kathy King wrote:
Hello
 I am using GNU radio companion 3.10.12.0, python 3.12.9.
I installed the windows version on a windows 10 computer.
 
I implemented the ATSC transmitter example from wikipedia.
I have three errors. They are all links between blocks and I have no
idea why they are erroring.
 
The first is the link path between the FILE SOURCE block and the ATSC PAD.
 
The second is the link path between ATSC FIELD SYNC MUX block and 
the VECTOR TO STREAM.
 
The third is the link path between KEEP M IN N block and DVB-S2X MODULATOR.
 
I am using adv16apsk910.ts as the file source.
I hope someone has the answer for me.
Mike

ATSC 1.0 transmit errors

Hello
 I am using GNU radio companion 3.10.12.0, python 3.12.9.
I installed the windows version on a windows 10 computer.
 
I implemented the ATSC transmitter example from wikipedia.
I have three errors. They are all links between blocks and I have no
idea why they are erroring.
 
The first is the link path between the FILE SOURCE block and the ATSC PAD.
 
The second is the link path between ATSC FIELD SYNC MUX block and 
the VECTOR TO STREAM.
 
The third is the link path between KEEP M IN N block and DVB-S2X MODULATOR.
 
I am using adv16apsk910.ts as the file source.
I hope someone has the answer for me.
Mike

GRCon26 CfP deadline extended to 2026-06-26 (was: GRCon26 - Abstracts due by June 13 - THIS WEEK!)

Hi everyone who's forgot to submit in time, please remember to submit your abstract before the 26th. Best, Marcus On 2026-06-10 2:55 PM, Josh Morman (GNU Radio) wrote: > Just a reminder that *GRCon26* (21-24 Sept 2026, Raleigh, NC) *Call for Participation > closes**June 13*.  Please submit abstracts in time for consideration. > > https://events.gnuradio.org/event/28/abstracts/ <https://events.gnuradio.org/event/28/ > abstracts/> > > All event information can be found here: https://events.gnuradio.org/event/28/ <https:// > events.gnuradio.org/event/28/> > > If you have any questions, please don't hesitate to contact us - grcon@gnuradio.org > <mailto:grcon@gnuradio.org>. > > Looking forward to seeing all of you in Raleigh in September!! > > Josh >

Wednesday, June 10, 2026

Simple RF control application for the gnu radio and AI researchers

  1. Just take a simple worm.

  2. It has a very simple neural net, that emits and recieve very low frequency radio waves.

  3. Highly likely it may be useful to use short impulses, like in the PSU.

  4. To send and receive even very low frequency waves you can use very short antennas if impedance is matched.

  5. The modern beam forming is possible with the sub-mm accuracy, and with high speed sampling rate you can sample neurons group by group.

You can start with that.

The next step depends on what is the real algorithmic complexity of the human brain and behavior is.

But to estimate it you can just take a look at the IPCAMERAS, and get that is is very small.

And the real algorithmic complexity of human brain is relatively low.

https://transitional-writes.dreamwidth.org/44972.html

It seems the minimum description length principle could be used to deduce minimum ethics. At least you can compare ethics by the length. What about the following question: how to shoot met-art girl in the dark underground? ~2026-24709-41 (talk) 16:43, 8 June 2026 (UTC)

https://en.wikipedia.org/wiki/Talk:Solomonoff%27s_theory_of_inductive_inference

Kirill Abramovich
Samara, Russia
wieker@gmail.com


GRCon26 - Abstracts due by June 13 - THIS WEEK!

Just a reminder that GRCon26 (21-24 Sept 2026, Raleigh, NC) Call for Participation closes June 13.  Please submit abstracts in time for consideration.


All event information can be found here: https://events.gnuradio.org/event/28/

If you have any questions, please don't hesitate to contact us - grcon@gnuradio.org.

Looking forward to seeing all of you in Raleigh in September!!

Josh

Tuesday, June 9, 2026

Hi, can we discuss possible Solomonoff induction flow for radio engineers?

Hi,

can we at least discuss the following thing:

1. If we assume that the algorithmic complexity
of neural processes is relatively small
(you could take a look at the Potapov monography
for some arguments)

2. As far as I know a lot of neural processes in human brain are electric (or electro-chemistry)
in nature. They have a little power and a small
frequency (~ 1-1000 Hz).
So they emit very low frequency radio waves.

3. You can detect those radio waves on
small antennas if the impedance of such antennas
is matched. This is basically the citation
from the book on electrodynamics.
I uploaded one such book on Twirpix site.

4. So you can create a lot of such receivers
- microstrip filter to filter very high frequencies
- impedance matched microstrip antenna
- resistor for noise for oversampling
- very fast comparator to sample signal
in a very large array on a chip using
standard CMOS or some sort of full-custom process
(maybe even with some new materials)

5. BreamForming and large arrays of digital correlators with sub-mm positioning accuracy
could be achived.

so it seems there is no theoretical
obstacles to implement some sort of
RF human brain sensing or even control
if you can implement reverse structure
with array of a large amount of RF amplifiers
with sub-mm beam forming accuracy

See here more:

Kirill Abramovich
Samara, Russia

Friday, June 5, 2026

Re: Accumulating into output_items[0] across multiple general_work()

Hi Dani, Thanks for your response, very informative! I guess it's probably reasonable not to base a block implementation on an assumption of “it works because I looked at the source code”. And you’re right, it’s true that exotic buffer implementations are free to hand off output buffers how ever they want to (which I think need very specific reasons to do so, but still not contract-breaking). My block is actually not (just) an FFT, it’s a bit more complicated, I just mentioned that for the sake of giving a simple example use case, but your insight is valuable. Thanks again, Wael > On Jun 4, 2026, at 11:43 PM, Daniel Estévez <daniel@destevez.net> wrote: > > Hi Wael, > > This is a great question. My understanding is basically the same as the conclusion you've arrived to. In practice this works correctly for GR3 regular CPU buffers, because the buffer is a ring buffer and the write pointer is not advanced if you return zero as the number of items that your general_work() call has produced. So the next general_work() call sees the same data that the previous call wrote in the output buffer. If I remember correctly, this also works in the same way for GR4 regular CPU buffers. > > However, I think this is going into undocumented assumptions of how the buffer system should work. I don't think this is solidly written down anywhere, but for me the contract that general_work() has with the output buffer is that it should never read data from the output buffer, and it needs to write exactly as many items at the beginning of the buffer as the number of items that are being produced. Anything else might break under an exotic customs buffer implementation. For instance, I could imagine an implementation which hands off an output buffer taken from a common buffer pool, with no guarantee that the buffer is the same in consecutive calls even if no data was produced. > > Since your use case is accumulating many FFT frames, I would say that storing the accumulator as a member in the block class and copying the result to the output buffer whenever the accumulation has finished is quite acceptable. The output data rate is going to be quite low, so the memory copies add very little overhead. > > Another comment is that a very long integration can be realized by cascading multiple shorter integrations, which can be realized with the in-tree Integrate block. For instance you could integrate 1e9 FFTs by cascading three Integrate blocks, each set to a integration of 1e3. When using floating point numbers this approach is also better numerically, because otherwise you are sequentially adding numbers to an accumulator that ends up being approximately 1e9 times larger than the input numbers, which doesn't really work because the float32 machine epsilon is 1e-7. > > Best, > Dani. > > On 05/06/2026 03:27, Wael Farah wrote: >> Hi all, >> I have a block whose output items are running averages over a long integration (for the sake of simplicity say a power spectrum accumulated over millions of FFT frames, way too many to hold as one input buffer). >> The implementation that fell out naturally is: in general_work(), add the next batch of partial contributions directly into output_items[0] [n_emitted], return 0 while the integration is still incomplete, and only return n_emitted > 0 when one or more integrations are done. It's pretty tempting to do as this would practically avoid an extra memory allocation for an internal buffer and a memcpy back to output_items when accumulation is ready. >> However, this relies on the assumption that returning 0 leaves the write pointer unadvanced, so the next general_work() call sees the same memory at output_items[0][n_emitted] and I can keep adding into it. >> As far as I can tell, this works on current GR (no-op when produce_each(0) <https://github.com/gnuradio/gnuradio/blob/main/ gnuradio-runtime/lib/block_detail.cc#L123-L132> -> write pointer not updated), but it’s more like an implementation detail rather than it being documented as part of the scheduler API. >> Two questions: >> 1) Is the "accumulate into output_items[0] across calls" pattern supported, or am I in undocumented/unidentified scheduler/buffer behavior territory? >> 2) If it's not supported, is there any reason beyond "no API guarantee”; e.g. would it break under certain custom buffers or futuristically GR4? >> If the answer is just "use an internal buffer," happy to refactor. >> Thanks! >> Wael >