<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[GNURADIO + SDR blog]]></title><description><![CDATA[GNURADIO + SDR blog]]></description><link>https://gnuradio.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 15 Oct 2026 07:46:12 GMT</lastBuildDate><atom:link href="https://gnuradio.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Building an OFDM based system in gnuradio :  list of problems gone through]]></title><description><![CDATA[these are problems i faced while developing flowgraph for an ofdm based system. these may be helpful for someone who is learning.
problem1 : No ofdm signal at OFDM reciver. simply noise like signal.
configuration in the OFDM transmitter block should ...]]></description><link>https://gnuradio.hashnode.dev/building-an-ofdm-based-system-in-gnuradio-list-of-problems-gone-through</link><guid isPermaLink="true">https://gnuradio.hashnode.dev/building-an-ofdm-based-system-in-gnuradio-list-of-problems-gone-through</guid><category><![CDATA[OFDM]]></category><dc:creator><![CDATA[Sudheer V]]></dc:creator><pubDate>Mon, 08 Sep 2025 13:01:23 GMT</pubDate><content:encoded><![CDATA[<p>these are problems i faced while developing flowgraph for an ofdm based system. these may be helpful for someone who is learning.</p>
<p>problem1 : No ofdm signal at OFDM reciver. simply noise like signal.</p>
<p>configuration in the OFDM transmitter block should be correct . carrier indices, pilot indices , SYNC words. should be correctly set.</p>
<p>problem2 : ofdm signal at the reciver has deformed signal. you can see saturated or clipped off signal portions</p>
<p>solution : add a multiply by constant block before transmitting SDR sink.</p>
<p>adjust the transmitter attenuation and reciver gain so that recieved signal has enough SNR.</p>
<p>problem3 : signal at OFDM reciever keeps coming but ON and OFF</p>
<p>cause : this may be because short packet length (eg: 1 byte of data) and hence huge tag processing overwhelms blocks in flow graph . so sdr sink block may not be getting enough time to tranmit the signal continously.</p>
<p>solution: let the packet length be a higher value .</p>
<p>problem4 : packet parser detects invalid packets</p>
<p>debug logs you can see on command line are as follows :</p>
<p>packet_headerparser_b :info: Detected an invalid packet at item 0 header_payload_demux :info: Parser returned #f packet_headerparser_b :info: Detected an invalid packet at item 48 header_payload_demux :info: Parser returned #f packet_headerparser_b :info: Detected an invalid packet at item 96 header_payload_demux :info: Parser returned #f packet_headerparser_b :info: Detected an invalid packet at item 144 header_payload_demux :info: Parser returned #f packet_headerparser_b :info: Detected an invalid packet at item 1296 header_payload_demux :info: Parser returned #f packet_headerparser_b :info: Detected an invalid packet at item 1872 header_payload_demux :info: Parser returned #f packet_headerparser_b :info: Detected an invalid packet at item 3024 header_payload_demux :info: Parser returned #f packet_headerparser_b :info: Detected an invalid packet at item 4320 header_payload_demux :info: Parser returned #f packet_headerparser_b :info: Detected an invalid packet at item 4800</p>
<p>causes : there can be timing synchronization error (or) frequency deviation error .</p>
<p>debugging : found that using a window in fft block is causing this problem .out_hdr signal from header payload demux is fed back into it’s input header_data input after passing through header parser. the header parser is failing to verify header CRC. and outputs the message #f . and prints error log info like : “Detected an invalid packet at item 96(offset)”</p>
<p>problem5: Payload in an OFDM frame = (96bytes+CRC32) = (96×8)+(4×8)=(768+32)=800 bits<br />with BPSK as modulation scheme for header&amp;Payload as well , It fits in 800/48 = 16.66 =&gt; 17 symbols.<br />17×48 = 816 ===&gt; 800 data symbols + 16 extra symbols</p>
<p>payload serializer produces packet length tag key value pair : &lt;"payload_len" ,816&gt;</p>
]]></content:encoded></item></channel></rss>