OFDM Serializer: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
(Restore missing elements from the header doc)
 
(One intermediate revision by one other user not shown)
Line 4: Line 4:
This is the inverse block to the [[OFDM Carrier Allocator]]. It outputs the complex data symbols as a tagged stream, discarding the pilot symbols.
This is the inverse block to the [[OFDM Carrier Allocator]]. It outputs the complex data symbols as a tagged stream, discarding the pilot symbols.


If given, two different tags are parsed: The first key () specifies the number of OFDM symbols in the frame at the input. The second key () specifies the number of complex symbols that are coded into this frame. If given, this second key is then used at the output, otherwise, is used. If both are given, the packet length specifies the maximum number of output items, and the frame length specifies the exact number of consumed input items.
If given, two different tags are parsed: The first key (Length Tag Key) specifies the number of OFDM symbols in the frame at the input. The second key (Packet Length Tag Key) specifies the number of complex symbols that are coded into this frame. If given, this second key is then used at the output, otherwise, Length Tag Key is used. If both are given, the packet length specifies the maximum number of output items, and the frame length specifies the exact number of consumed input items.


It is possible to correct a carrier offset in this function by passing another tag with said offset.
It is possible to correct a carrier offset in this function by passing another tag with said offset.
Line 29: Line 29:


; Carrier Offset Key
; Carrier Offset Key
: When this block should correct a carrier offset, specify the tag key of the offset here (not necessary if following an ofdm_frame_equalizer_vcvc)
: When this block should correct a carrier offset, specify the tag key of the offset here (not necessary if following an [[OFDM Frame Equalizer]])


; Input is shifted
; Input is shifted
Line 36: Line 36:
== 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 can be found at [https://github.com/gnuradio/gnuradio/blob/master/gr-digital/examples/ofdm/rx_ofdm.grc].
 
[[File:Rx_ofdm_fg.png|800px]]


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

Latest revision as of 15:10, 3 August 2023

Serializes complex modulations symbols from OFDM sub-carriers.

This is the inverse block to the OFDM Carrier Allocator. It outputs the complex data symbols as a tagged stream, discarding the pilot symbols.

If given, two different tags are parsed: The first key (Length Tag Key) specifies the number of OFDM symbols in the frame at the input. The second key (Packet Length Tag Key) specifies the number of complex symbols that are coded into this frame. If given, this second key is then used at the output, otherwise, Length Tag Key is used. If both are given, the packet length specifies the maximum number of output items, and the frame length specifies the exact number of consumed input items.

It is possible to correct a carrier offset in this function by passing another tag with said offset.

Input
Complex vectors of length
Output
Complex scalars, in the same order as specified in occupied_carriers.

Parameters

FFT length
FFT length
Occupied Carriers
See OFDM Carrier Allocator
Length Tag Key
The key of the tag identifying the length of the input frame in OFDM symbols.
Packet Length Tag Key
The key of the tag identifying the number of complex symbols in this packet.
Symbols skipped
If the first symbol is not allocated as in occupied_carriers[0], set this
Carrier Offset Key
When this block should correct a carrier offset, specify the tag key of the offset here (not necessary if following an OFDM Frame Equalizer)
Input is shifted
If the input has the DC carrier on index 0 (i.e. it is not FFT shifted), set this to false

Example Flowgraph

This flowgraph can be found at [1].

Rx ofdm fg.png

Source Files

C++ files
[2]
Header files
[3]
Public header files
[4]
Block definition
[5]