Argmax: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by 5 users not shown)
Line 2: Line 2:
Compares vectors from multiple streams and determines the index in the vector and stream number where the maximum value occurred.
Compares vectors from multiple streams and determines the index in the vector and stream number where the maximum value occurred.


Data is passed in as a vector of length ''vlen'' from multiple input sources. It will look through these streams of data items and output two streams:
Data is passed in as a vector of length ''vlen'' from multiple input sources. The block analyzes the input streams of data items and outputs two streams:


# Stream 0 will contain the index value in the vector where the maximum value occurred.
# max_vec: Stream 0 will contain the index value in the vector where the maximum value occurred. This output is of short data type.
# Stream 1 will contain the number of the input stream that held the maximum value.
# max_inp: Stream 1 will contain the number of the input stream that held the maximum value. This output is of short data type.
 
== Parameters ==
; IO Type
: Supported data types
:* Float
:* Int
:* Short
 
; Num Inputs
: Number of input streams to include in the operation
 
; Vec Length
: Length of the vector
 
== Example Flowgraph ==
 
<p>This flowgraph shows the two usecases of the Argmax block.
The top case shows how the max_inp output works.
The bottom case shows how the max_vec output works.</p>
 
[[File:Argmax.png|800px]]
<p>This flowgraph can be downloaded from [[Media:Argmax.grc]].</p>
 
== Source Files ==
 
; C++ files
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/argmax_impl.cc argmax_impl.cc]
 
; Header files
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/lib/argmax_impl.h argmax_impl.h]
 
; Public header files
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/include/gnuradio/blocks/argmax.h argmax.h]
 
; Block definition
: [https://github.com/gnuradio/gnuradio/blob/main/gr-blocks/grc/blocks_argmax_xx.block.yml blocks_argmax_xx.block.yml]

Latest revision as of 10:37, 15 April 2025

Compares vectors from multiple streams and determines the index in the vector and stream number where the maximum value occurred.

Data is passed in as a vector of length vlen from multiple input sources. The block analyzes the input streams of data items and outputs two streams:

  1. max_vec: Stream 0 will contain the index value in the vector where the maximum value occurred. This output is of short data type.
  2. max_inp: Stream 1 will contain the number of the input stream that held the maximum value. This output is of short data type.

Parameters

IO Type
Supported data types
  • Float
  • Int
  • Short
Num Inputs
Number of input streams to include in the operation
Vec Length
Length of the vector

Example Flowgraph

This flowgraph shows the two usecases of the Argmax block. The top case shows how the max_inp output works. The bottom case shows how the max_vec output works.

Argmax.png

This flowgraph can be downloaded from Media:Argmax.grc.

Source Files

C++ files
argmax_impl.cc
Header files
argmax_impl.h
Public header files
argmax.h
Block definition
blocks_argmax_xx.block.yml