そして終焉へ。。

マルチユーザが動いた

なぜできたのか?

  • 複素拡散にした
まず、複素拡散・逆拡散にして、その前後に位相差分変調を挿入。
  • 位相差分変調にした理由
通信路で結構フェージングがあるせか、相関器が出力する値が虚部に結構いっていた。

シングルユーザだとほぼBER=20%

だけどマルチユーザだと25%%くらい

BERを下げる

  • historyが設定されてなかった!
  On Tue, Dec 22, 2009 at 12:22:29PM +0800, zhi yan wrote:
   Hi All,
  
   I am confused of the Set_history() which is a function of gr_block, what
 is
   the function of this function? thanks~~
  

 It exists so that you can implement an "inline delay line", or similar
 functionality.  The primary user of set_history are the FIR filters,
 but there is other code that uses it.  The default value of history is
 1, which is admittedly confusing, but is how it was historically
 defined.

 To give a concrete example, if you subclass gr_sync_block (which is
 1:1 from input to output) and don't call set_history in the
 constructor,  when your work function is called with a value of
 noutput_items = N, there are guarenteed to be N valid samples in the
 input vector, indexed from 0 to N-1.

 If in the constructor you call set_history(2), when work is called
 with a value of noputout_items = N, there are guarenteed to be N + 1
 valid samples in the input vector, indexed from 0 to N.

 If in the constructor you call set_history(H), when work is called
 with a value of noputout_items = N, there are guarenteed to be
 N + H - 1 valid samples in the input vector, indexed from 0 to N + H - 2.

 The other subclasses of gr_block work similarly.  Take a look at their
 forecast routines for the details.

 On the first call to work, the first H - 1 samples will be zero.

 Eric



最終更新:2012年01月30日 14:54