# NC-OFDM and Cross sub-carrier Interference

**URL:** <https://www.ruby-forum.com/t/nc-ofdm-and-cross-sub-carrier-interference/232609>\
**Category:** GNU Radio\
**Created:** [October 17, 2014, 8:30pm UTC](https://www.ruby-forum.com/t/nc-ofdm-and-cross-sub-carrier-interference/232609 "2014-10-17T20:30:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [October 17, 2014, 8:30pm UTC](https://www.ruby-forum.com/t/nc-ofdm-and-cross-sub-carrier-interference/232609/1 "2014-10-17T20:30:28Z")

</div>

Hi,

I’m currently developing a testbed for spectrum aggregation and  
fragmentation using GNURadio and USRPs (B200s and B210s). My approach is  
to  
emulate aggregation and fragmentation using Non-Contiguous OFDM:  
Theoretically, each node should be able to transmit in any subset of the  
sub-carriers available.

Everything seems to be fine when tested in a loop back(the GRC OFDM Tx  
example in gr\_digital was used). And connected to USRPs, a single pair  
transmission and reception is fine while transmitting in any subset of  
subcarriers. The problem arises when I have more than one node  
transmitting  
in the same OFDM configuration. No matter how wide the OFDM span is (I  
began from 64 and increased it to 1024), and no matter how far apart the  
two transmitting channels are, the cross-interference is enough to  
corrupt  
both transmissions. I have played with the transmission power of both  
transmitters to see if lowering it makes any difference, to no avail.

I have also thought of applying a bandpass filter before feeding OFDM  
signals to USRPs to limit their out of band emissions, but as the system  
is  
supposed to handle fragmentation and requires complete spectrum agility,  
a  
single filter would not solve the problem.

I would greatly appreciate any advice on the matter.

Many Thanks,

Vahid

---

<div class="post-metadata">

**Author:** ![Vahid\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/c68b51/32.png) [@Vahid\_B](https://www.ruby-forum.com/u/Vahid_B)\
**Post date:** [October 18, 2014, 11:24am UTC](https://www.ruby-forum.com/t/nc-ofdm-and-cross-sub-carrier-interference/232609/2 "2014-10-18T11:24:55Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Hi Vahid,

a few things:

On one hand, to be really orthogonal, all your nodes would need to  
exhibit no frequency offset. As long as you don’t have a common clock,  
be it through a clock distributor, GPSDOs or by doing estimations of  
the own offset on the nodes and accounting for that, you’d get energy  
of bins end up in others.

Then, it’s intuitive that one tends to drive the DAC with maximum  
values (ie. using the whole -1,1 magnitude range in GNU Radio). Try  
adding a factor of 0.7 before! OFDM especially is a bit sensitive to  
the transmitter clipping, and that might increase the looks of your  
spectrum. I don’t know your transmitter, so I’m going to point out  
that OFDM can have quite an ugly PAPR, and although you feed in  
symbols that themselves as time signal would never lead to complex  
magnitude values greater than 1, the IFFT of a vector of these quite  
likely can.

The same as for sample values goes for TX gain: tone it down a bit, if  
possible. Does your time-domain signal on RX look clipped? Turn down  
the RX gain.

Then: Yes, you can gain quite a bit by using a filterbank instead of  
the good ole IFFT. Tom kind of has _the_ blog post (you’d call it  
article) to exactly your question:  
[http://gnuradio.squarespace.com/blog/2014/4/23/peer-review-of-a-dyspan-paper.html](http://gnuradio.squarespace.com/blog/2014/4/23/peer-review-of-a-dyspan-paper.html)

And Tom wrote the polyphase filters in GNU Radio. Feed one big  
tons-of-taps channel filter in, and apply a bit of elegant math,  
smaller sub-filters and a bit of rotational magic done with an IFFT,  
and you get nicely filtered channels. You should give it a try, it’s  
fun 🙂 You might want to grab fred harris’ slides on polyphase  
filters, if you’re interested in the background of how it works, which  
should be around somewhere in the internets, but I can’t find that  
bookmark ☹

Greetings,  
Marcus

On 17.10.2014 20:29, Vahid B. wrote:

> single pair transmission and reception is fine while transmitting  
> OFDM signals to USRPs to limit their out of band emissions, but as
> 
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ Discuss-gnuradio  
> mailing list [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1

iQEcBAEBAgAGBQJUQjGaAAoJEAFxB7BbsDrL12cH/0fC244WhsK1TX8lvOFPogtQ  
8y3xCo26gxVQ01UgmwgybsFE3BukVqG/i8Skk6u0HTgXdzD0oQmC/lJUStYVJwJ6  
BwekwvJov7g+OoIpq7QltmHyXcK85SmqCkkRkk/3vShpVXz7CT2SPUdN9GsBSLiN  
FtOUjD0qNFPgjjli9lEAzFp0KlPe3NzWGoY9OaXswvwMxyNUYZNrxLThVy+5DpPn  
eeJT/07pIRJkJ4HmwVLXEcMV8AmF6L+lrjeprVZqC+D2tsFm6mpxNyRN6ZzvNU6N  
Jbl4XEa53q1zw5nDjoIlENBLk7NXY9YZGvRC5UFiErChYxbrgTBy4sK56XPJSEU=  
=sQIq  
-----END PGP SIGNATURE-----
