Editing Guided Tutorial GNU Radio in C++

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1,122: Line 1,122:
 
Hierarchical blocks provides us modularity in our flowgraphs by abstracting simple blocks, that is hierarchical block helps us define our specific blocks at the same time provide us the flexibility to change it, example, we would like to test effect of different modulation schemes for a given channel model. However our synchronization algorithms are specific or newly published. We define our hier block as gr-my_sync that does synchronization followed equalizer and demodulation. We start with BPSK, the flowgraph looks like
 
Hierarchical blocks provides us modularity in our flowgraphs by abstracting simple blocks, that is hierarchical block helps us define our specific blocks at the same time provide us the flexibility to change it, example, we would like to test effect of different modulation schemes for a given channel model. However our synchronization algorithms are specific or newly published. We define our hier block as gr-my_sync that does synchronization followed equalizer and demodulation. We start with BPSK, the flowgraph looks like
  
gr-tx ---> gr-channel --> gr-my_sync --> gr-equalizer --> gr-bpsk_demod
+
gr-tx ---<s>&gt; gr-channel --</s>&gt; gr-my_sync --<s>&gt; gr-equalizer --</s>&gt; gr-bpsk_demod
  
 
Now, our flowgraph looks decent. Secondly, we abstracted the complex functionality of our synchronization. Shifting to QPSK, where the synchronization algorithm remains the same, we just replace the gr-bpsk_demod with gr-qpsk_demod
 
Now, our flowgraph looks decent. Secondly, we abstracted the complex functionality of our synchronization. Shifting to QPSK, where the synchronization algorithm remains the same, we just replace the gr-bpsk_demod with gr-qpsk_demod
  
gr-tx ---> gr-channel --> gr-my_sync --> gr-equalizer --> gr-qpsk_demod
+
gr-tx ---<s>&gt; gr-channel --</s>&gt; gr-my_sync --<s>&gt; gr-equalizer --</s>&gt; gr-qpsk_demod
  
 
How to build hierarchical blocks in GNU Radio?
 
How to build hierarchical blocks in GNU Radio?
Line 1,209: Line 1,209:
 
Underneath is instant of the hierarchical block. Don't panic by looking at its size, we just need to grab the concept behind creating hierarchical blocks.
 
Underneath is instant of the hierarchical block. Don't panic by looking at its size, we just need to grab the concept behind creating hierarchical blocks.
  
OFDM impl
+
{{collapse(OFDM impl)
  
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
Line 1,283: Line 1,283:
 
                   io_signature::make3(3, 3, sizeof (float), sizeof (unsigned char), sizeof (float)))
 
                   io_signature::make3(3, 3, sizeof (float), sizeof (unsigned char), sizeof (float)))
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
}}
  
 
where <code>ofdm_sync_sc_cfb_impl::ofdm_sync_sc_cfb_impl</code> is the constructor with parameters <code>int fft_len, int cp_len, bool use_even_carriers</code> and <code>hier_block2</code> is the base class. The block name <code>"ofdm_sync_sc_cfb"</code> is defined following the GNU Radio block naming style.
 
where <code>ofdm_sync_sc_cfb_impl::ofdm_sync_sc_cfb_impl</code> is the constructor with parameters <code>int fft_len, int cp_len, bool use_even_carriers</code> and <code>hier_block2</code> is the base class. The block name <code>"ofdm_sync_sc_cfb"</code> is defined following the GNU Radio block naming style.

Please note that all contributions to GNU Radio are considered to be released under the Creative Commons Attribution-ShareAlike (see GNU Radio:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)