Software Defined Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

Achieve MIMO-OFDM systems with USRP

Hi,

We are going to build a 8*8 MIMO-OFDM system using USRP. However, when we use the 6*6 demo downloaded from NI forum, we always encounter such problems.

  1. niUSRP Set Time VI

1.jpg

When it comes to ‘apply timestamp’ , there are two options-‘next timebase edge’ and ‘now’. The default is ‘next timebase edge’. When we choose next timebase edge’, it often suffers from the error that ‘niUSRP Fetch Rx Data (2D CDB).vi<ERR>A stream command was issued in the past.’ Furthermore, when we choose ‘now’, the procedure will be stopped by the error ‘packet had timestamp that was too late(early)’. And I wonder which one should I choose if I want to get the clocks of the transmitters to be synchronized.

2.   When we use the external clock to sychronize the USRPs, the system always suffer from the error that ’ The reference clock PLL did not lock within the alloted time’. And we have verified that our GPS clock board worked normally which can produce 6 synchronized clock signal that meet the demand of USRP 2920. What reason may cause the problem?

Best regards

Jackie

Comments
ErikL
NI Employee (retired)
on

Debugging is best done systematically by turning channels off. I like to start with 2x2 and grow to 8x8. It sometimes happens that one cable is bad or one connection faulty.

Here is the architecture we have used:

http://www.ni.com/white-paper/14311/en/

Also be sure clock references are set correctly to MIMO or external.

Next edge is correct because it sync'd time base on the next edge of the PPS clock. Also listing the channels correctly in the strong control on top of that VI is also important. They are indexed from zero and separated by commas. All devices with PPS wired externally should appear on the channel list. Those connected only by MIMO cable should not be listed in that list in the string control.

Regards,

Erik

Sent from mobile device.

Tianqi
NI Employee (retired)
on

1、有关niUSRP Set Time VI模块。

PPS是秒脉冲信号,每秒钟一个脉冲。它可以作为每个USRP的 timebase clock source.

我们要做同步,是通过制定了固定的时间戳来实现的(在触发Vi中设置)。那么时间戳就是基于timebase clock 来获取的。 niUSRP Set Time VI的目的是把某个具体的timestamp,进行赋值。在NI公司给的2*2demo中给出的timestamp是0。同时要求选择Apply timestamp,有两个选项,一个是next timebase edge,一个是now。我们要做同步,当然是希望在下一个PPS脉冲到来的时候,把多个USRP的时间戳设置为0,所以在NI公司给的2*2demo中默认值给的是next timebase edge。

Xiaodong Qi
NISH AE
China
Tianqi
NI Employee (retired)
on

2、     有关外部时钟的问题

当使用外部时钟实现8*8 MIMO的时候,每个外部输出要经过功分器送给四个USRP设备,他们的同步肯定是没问题的。但是有没有考虑功率的问题。比如,REF IN要求0dBm以上。这个问题我们可以进一步讨论。

Xiaodong Qi
NISH AE
China
Contributors