Multiply Const: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Block Docs]]
[[Category:Block Docs]]
Multiplies input stream by a constant.
Multiplies the input stream by a scalar or vector constant (element-wise if vector).


output = input * constant scalar/vector (element-wise if vector)
output = input * constant


See [[Fast Multiply Const]] for a more performant version of this block.
See [[Fast_Multiply_Const]] for a more performant version of this block for '''scalar''' values only.  


== Parameters ==
{{T-since|3.8}} If the input is a '''not''' a vector, the "Fast" version is automatically invoked (done behind the scenes).
(''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span>
 
{{Param-header}}


; Constant (''R'')
; Constant (''R'')
: Constant to multiply the input stream by
: Scalar or vector constant. If the input is a vector, this parameter must be a vector of the same size. To multiply all the input items by the same value, use [[Fast_Multiply_Const]].


== Example Flowgraph ==
== Example Flowgraph ==


Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI.  Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately. The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.
This flowgraph uses three Multiply type blocks. The top Multiply Const Block and middle Multiply Block are driven by the GUI Chooser to act as a Transmit / Receive switch. The bottom Multiply Const Block is a Volume control, the 'constant' being the 'volume' parameter from the QT GUI Range block.
 
Note: The lower section is a working 2 meter NBFM receiver.
 
[[File:Selector_demo.png|800px]]


== Source Files ==
== Source Files ==


; C++ files
; C++ files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/multiply_const_impl.cc If single sample input]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/multiply_const_v_impl.cc If vector input]


; Header files
; Header files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/multiply_const_impl.h If single sample input]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/multiply_const_v_impl.h If vector input]


; Public header files
; Public header files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/include/gnuradio/blocks/multiply_const.h If single sample input]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/include/gnuradio/blocks/multiply_const_v.h If vector input]


; Block definition
; Block definition
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/grc/blocks_multiply_const_vxx.block.yml]

Latest revision as of 16:34, 24 October 2021

Multiplies the input stream by a scalar or vector constant (element-wise if vector).

output = input * constant

See Fast_Multiply_Const for a more performant version of this block for scalar values only.

Added in 3.8 If the input is a not a vector, the "Fast" version is automatically invoked (done behind the scenes).

Parameters

(R): Run-time adjustable

Constant (R)
Scalar or vector constant. If the input is a vector, this parameter must be a vector of the same size. To multiply all the input items by the same value, use Fast_Multiply_Const.

Example Flowgraph

This flowgraph uses three Multiply type blocks. The top Multiply Const Block and middle Multiply Block are driven by the GUI Chooser to act as a Transmit / Receive switch. The bottom Multiply Const Block is a Volume control, the 'constant' being the 'volume' parameter from the QT GUI Range block.

Note: The lower section is a working 2 meter NBFM receiver.

Selector demo.png

Source Files

C++ files
If single sample input
If vector input
Header files
If single sample input
If vector input
Public header files
If single sample input
If vector input
Block definition
[1]