Menu

TDL Channel, Weird output

Irfan Baig
2011-05-03
2012-09-15
  • Irfan Baig

    Irfan Baig - 2011-05-03

    Hi all,

    I'm a layman into the networking world, I wrote a program using TDL channel, I
    got the output but the output is hard to interpret, there are some extra bits
    appended to the output and i dont know why this bits are getting appended and
    what's their meaning, please help me out in this.

    Here is the code snippet,

    1 #include <itpp comm="" channel.h=""></itpp>

    2 #include <itpp itcomm.h=""></itpp>

    3 #include <iostream></iostream>

    4 #include <itpp comm="" modulator.h=""></itpp>

    5

    6

    7 using namespace std;

    8 using namespace itpp;

    9

    10 int main() {

    11 QPSK qpsk;

    12 //sampling frequency is 30.72Mhz

    13 double Ts = 0.03255E-6;

    14 // select the ITU_Pedestrian_B Rural Area model

    15 Channel_Specification channel_spec(ITU_Pedestrian_B);

    16 // initialize with the predefined channel profile

    17 TDL_Channel channel(channel_spec, Ts);

    18 // set the normalized Doppler; fading type will be set to Correlated

    19 // and Rice_MEDS method will be used (default settings)

    20 channel.set_norm_doppler(0.01);

    21 channel.set_doppler_spectrum(0, Jakes);

    22

    23 RNG_randomize();

    24 bvec transmitted_bits = randb(16);

    25 cvec transmitted_signal = qpsk.modulate_bits(transmitted_bits);

    26 cout<<"Transmitted bits: "<<transmitted_bits<<endl;

    27

    28

    29 // Channel coefficients are returned in the 'coeff' array of complex values

    30 Array<cvec> coeff;</cvec>

    31 cvec received_signal = channel(transmitted_signal, coeff);

    32 bvec received_bits = qpsk.demodulate_bits(received_signal);

    33 cout<<"Received bits: "<<received_bits<<endl;

    34 cout<<"Channel coefficients: "<<coeff<<endl;

    35 }

    36

    37

    and here is the output,

    Transmitted bits:

    Received bits:

    Channel coefficients: { }

    Please help me out in understanding the output.

     
  • Stephan Ludwig

    Stephan Ludwig - 2011-05-03

    Hi ibaig2,

    you channel profile "ITU_PEDESTRIAN_B" uses the following delay vector (in
    seconds) vec("0 200 800 1200 2300 3700") * 1e-9). With your sampling time of
    Ts = 0.03255E-6 the maximum delay is 113,7 samples. The TDL_Channel calculates
    the whole output for the delays (hence, so many channel coefficients), i.e.
    the sum of all 6 delayed versions of input signal vector . If you modulate 16
    bit with QPSK you obtain 4 symbols that are transmitted over the channel + 113
    delayed samples.

    /donludovico

    BTW: This is not an open discussion issue but a help request and should be
    moved to the help forum.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.