WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#26 2014-Oct-21 03:34:54

Hasan
Member
Registered: 2014-May-11
Posts: 14

Re: OFDM on WARPlab (MATLAB only)

i want to ask. in my design OFDM, why it can't run on Tx RF Gain = 0 ?

Offline

 

#27 2014-Oct-21 08:39:24

welsh
Administrator
From: Mango Communications
Registered: 2013-May-15
Posts: 612

Re: OFDM on WARPlab (MATLAB only)

Unfortunately, we need more information in order to answer your question.

What problems are you seeing when you set the TX RF gains to zero?  Are you using your own custom OFDM design or are you using the OFDM example?

You can find the documentation on the tx_gains command here.

Offline

 

#28 2014-Oct-22 09:36:03

Hasan
Member
Registered: 2014-May-11
Posts: 14

Re: OFDM on WARPlab (MATLAB only)

i am using the OFDM example. and i want to count BER from Tx RF gains = 0 until 60, but it can't work, error because the value of 'rx_lts' exceed the matrix. it works when Tx RF gains above 37. why it can happens?
for additional information:
Tx BB gains, Rx RF gains and Rx BB gains = 2
channel = 2.4
thank's before

Offline

 

#29 2014-Oct-22 19:59:34

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: OFDM on WARPlab (MATLAB only)

i am using the OFDM example. and i want to count BER from Tx RF gains = 0 until 60, but it can't work, error because the value of 'rx_lts' exceed the matrix. it works when Tx RF gains above 37. why it can happens?

That error indicates the LTS correlator was not able to find a preamble in the received samples. This is either because the received samples didn't contain a preamble (i.e. Rx was triggered at the wrong time) or the received preamble was too noisy to process. The latter is likely if you were sweeping Tx powers without also adjusting Rx gains, or using AGC.

Offline

 

#30 2014-Nov-16 04:34:13

Hasan
Member
Registered: 2014-May-11
Posts: 14

Re: OFDM on WARPlab (MATLAB only)

what the differences between channel estimation and error phase correction in OFDM example? thanks before

Offline

 

#31 2014-Nov-16 14:59:20

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: OFDM on WARPlab (MATLAB only)

Channel estimation calculates one complex coefficient per subcarrier. This coefficient is used as the denominator in the equalization step:

Code:

syms_eq_mat = syms_f_mat ./ repmat(rx_H_est.', 1, N_OFDM_SYMS);

In the WARPLab OFDM example the channel estimates are calculated once from the long training symbols in the preamble. The same channel estimates are used to equalize every OFDM symbol in the packet.

Each OFDM symbol includes 4 pilot subcarriers carrying a sequence of BPSK symbols. The receiver estimates the phase error in each OFDM symbol by averaging the phase error of the four pilot tones in that symbol and de-rotating all subcarriers in that symbol by the error estimate. This process is required to correct for residual carrier frequency offset. CFO manifests as a phase offset shared by all subcarriers in each OFDM symbol, increasing with each OFDM symbol (frequency offset -> time varying phase).

Offline

 

#32 2014-Nov-29 08:45:37

Hasan
Member
Registered: 2014-May-11
Posts: 14

Re: OFDM on WARPlab (MATLAB only)

do you have paper about channel estimation and phase error estimation?

Offline

 

#33 2014-Nov-29 10:06:02

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: OFDM on WARPlab (MATLAB only)

I don't have any specific recommendations on papers. I would suggest searching Google Scholar. There are many papers that discuss these topics for OFDM symbols.

Offline

 

#34 2014-Dec-04 07:50:07

Hasan
Member
Registered: 2014-May-11
Posts: 14

Re: OFDM on WARPlab (MATLAB only)

if i want use interpolatin 4x, what should i do? Should i change the size of interpolation filter?
oh ya, i want to know the equation for calculate bandwidth in OFDM example?
thanks a lot

Offline

 

#35 2014-Dec-06 12:33:48

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: OFDM on WARPlab (MATLAB only)

The occupied bandwidth of an OFDM waveform is determined by the ratio of occupied subcarriers and the sampling frequency. In 802.11a/g 52 of 64 subcarriers are occupied with 20MHz sampling, so the occupied bandwidth is approx 16.25MHz.

Offline

 

#36 2014-Dec-18 02:56:41

Hasan
Member
Registered: 2014-May-11
Posts: 14

Re: OFDM on WARPlab (MATLAB only)

how about interpolate filter, any rules to make it based on OFDM example?

Offline

 

#37 2014-Dec-18 09:31:45

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: OFDM on WARPlab (MATLAB only)

This is the 2x interpolation filter we use in the WARPLab OFDM example. That filter response matches the 2x interpolation filter on page 38 and 39 of the AD9963. In the Mango 802.11 Reference Design, we drive samples out to the DACs at 20MHz and let the DACs handle the interpolation. Since the WARPLab reference design drives samples out to the DACs at 40MHz, the WARPLab OFDM example manually implements the equivalent filter.

Offline

 

#38 2015-Jan-01 03:13:10

Hasan
Member
Registered: 2014-May-11
Posts: 14

Re: OFDM on WARPlab (MATLAB only)

based on http://warpproject.org/forums/viewtopic.php?id=426, effective bandwidth is 10 MHz. can you give me theory reference about 10 MHz?
and then, what is function of frequency clock?
thanks before

Offline

 

#39 2015-Jan-01 04:28:51

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: OFDM on WARPlab (MATLAB only)

You're confusing the OFDM Reference Design and the WARPLab OFDM Example.

The OFDM Reference Design is built around a real-time OFDM PHY implemented in the FPGA. This PHY operates with 10MHz bandwidth and uses 4x interpolation/decimation filters between the PHY and 40MSps ADCs/DACs. The rate change filters are implemented in the FPGA via the System Generator models Chris linked to above.

The WARPLab OFDM Example is an m-code implementation of a simple OFDM Tx/Rx PHY. This code creates/processes waveforms with 20MHz bandwidth and uses 2x interpolation/decimation. The rate change filters are implemented in the m-code.

Offline

 

Board footer