# OFDM Transmitter and Receiver - poor synchronization with USRP1

**URL:** <https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901>\
**Category:** GNU Radio\
**Created:** [May 9, 2015, 11:12pm UTC](https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901 "2015-05-09T23:12:58Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [May 9, 2015, 11:12pm UTC](https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901/1 "2015-05-09T23:12:58Z")

</div>

Hi,  
I am trying to implement OFDM transmitter and receiver (both in one  
flowgraph) using 2 USRP1s (both equipped with WBX). I have adjusted the  
signal so there’s no peak above 1 and -1, but I am still failing at  
syncrhonization. I used exmaples mentioned in Martin B.'s talk at  
FOSDEM  
14 which are now available in digital/ofdm/ folder.

Running the flowgraph without USRPs seems to be fine at lower sample  
rates  
(~125k), but I am struggling at adjusting sample rates for USRP1 which  
cannot go lower than 250k. I have noticed syncrhonization being much  
better  
at high sample rates (2-4M).

Are there any guides on how to achieve better synchronization with two  
USRP1s?

Thanks in advance.  
Michal

---

<div class="post-metadata">

**Author:** ![Michal\_VaclS\_k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/46a35a/32.png) [@Michal\_VaclS\_k](https://www.ruby-forum.com/u/Michal_VaclS_k)\
**Post date:** [May 9, 2015, 11:26pm UTC](https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901/2 "2015-05-09T23:26:24Z")

</div>

Is the detection working reliably?

M

---

<div class="post-metadata">

**Author:** ![Michal\_VaclS\_k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/46a35a/32.png) [@Michal\_VaclS\_k](https://www.ruby-forum.com/u/Michal_VaclS_k)\
**Post date:** [May 10, 2015, 12:48am UTC](https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901/3 "2015-05-10T00:48:11Z")

</div>

Doesn’t seem so - by connecting scope to DETECT port on S&C block I can  
see  
only randomly timed peeks as opposed to running with channel model where  
the peeks happen at fixed time periods.

Detection seems to get better with higher sample rates.

2015-05-09 23:25 GMT+02:00 Martin B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Michal\_VaclS\_k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/46a35a/32.png) [@Michal\_VaclS\_k](https://www.ruby-forum.com/u/Michal_VaclS_k)\
**Post date:** [May 21, 2015, 6:14pm UTC](https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901/4 "2015-05-21T18:14:31Z")

</div>

On 20.05.2015 20:19, Michal Vaclk wrote:

> Was OFDM improved in some kind of way in v3.7.7.1 (I don’t see anything  
> related to OFDM in changelog)? I simply launched the same flowgraph on  
> newer version and it works much better.

Hm, not that I recall… but good for you 🙂

I forget, were you using the example codes with default settings? If so,  
does doubling the sampling rate _without_ changing the total bandwidth  
(i.e. doubling the FFT size) help with sync at lower bandwidths?

M

---

<div class="post-metadata">

**Author:** ![Michal\_VaclS\_k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/46a35a/32.png) [@Michal\_VaclS\_k](https://www.ruby-forum.com/u/Michal_VaclS_k)\
**Post date:** [May 21, 2015, 5:21am UTC](https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901/5 "2015-05-21T05:21:01Z")

</div>

Hi, I am sorry for the delayed response.

I checked the centering of the OFDM signal and it looks pretty good.  
Even  
looking at the signal’s spectrum using SDR# on other computer was very  
nice

- book-grade example of nicely shaped OFDM spectrum. Today I upgraded  
from  
GNU Radio v 3.7.6.1 to 3.7.7.1 and reception (syncrhonization and  
detection) has improved dramatically. Even at relatively low sample rate  
(1M, anything lower simply doesn’t synchronizie). Unfortunately the  
received packets still weren’t enough for any kind of real world  
transmission.

Was OFDM improved in some kind of way in v3.7.7.1 (I don’t see anything  
related to OFDM in changelog)? I simply launched the same flowgraph on  
newer version and it works much better.

2015-05-11 21:02 GMT+02:00 Martin B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Michal\_VaclS\_k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/46a35a/32.png) [@Michal\_VaclS\_k](https://www.ruby-forum.com/u/Michal_VaclS_k)\
**Post date:** [May 11, 2015, 9:03pm UTC](https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901/6 "2015-05-11T21:03:28Z")

</div>

On 09.05.2015 15:47, Michal Vaclk wrote:

> Doesn’t seem so - by connecting scope to DETECT port on S&C block I can  
> see only randomly timed peeks as opposed to running with channel model  
> where the peeks happen at fixed time periods.
> 
> Detection seems to get better with higher sample rates.

This might be an issue of high relative frequency offsets (which get  
less severe for higher sub-carrier bandwidths). You could check how well  
your OFDM signal is centered.

M

---

<div class="post-metadata">

**Author:** ![Michal\_VaclS\_k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/46a35a/32.png) [@Michal\_VaclS\_k](https://www.ruby-forum.com/u/Michal_VaclS_k)\
**Post date:** [May 22, 2015, 7:56pm UTC](https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901/7 "2015-05-22T19:56:13Z")

</div>

Yes, I am using default flowgraphs (examples) just adding Multiply Const  
block to avoid clipping due to high PAPR and obviously UHD blocks. Using  
FFT of 64 and default carrier configuration, sync does get better if I  
stretch this to wider bandwidths by setting higher sample rates at USRP.

2015-05-21 18:13 GMT+02:00 Martin B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Michal\_VaclS\_k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/46a35a/32.png) [@Michal\_VaclS\_k](https://www.ruby-forum.com/u/Michal_VaclS_k)\
**Post date:** [May 22, 2015, 8:21pm UTC](https://www.ruby-forum.com/t/ofdm-transmitter-and-receiver-poor-synchronization-with-usrp1/241901/8 "2015-05-22T20:21:55Z")

</div>

On 22.05.2015 10:54, Michal Vaclk wrote:

> Yes, I am using default flowgraphs (examples) just adding Multiply Const  
> block to avoid clipping due to high PAPR and obviously UHD blocks. Using  
> FFT of 64 and default carrier configuration, sync does get better if I  
> stretch this to wider bandwidths by setting higher sample rates at USRP.

Hey Michal,

I meant using the same signal bandwidth at higher sampling rates (i.e.  
bigger FFTs, same number of occupied bins).

M
