Hi All,

I’ve been working on calculating BER for simulated transmitter/recieved

pair and have noticed that the channel_model eats the first 3 samples.

Thus to correctly align the data input and output from channel_model

(e.g.

for calculating BER), it is necessary to account for the 3-sample

offset.

Perhaps it would be worth adding a note to this effect to the

channel_model

documentation.

-Greg

On Tue, Jul 9, 2013 at 8:38 PM, Gregory W. [email protected] wrote:

-Greg

It’s not that the channel model 'eat’s 3 samples. This is group delay

of your filters that you’re seeing. The transmitter, receiver, and

channel model may all have filters in them and each has a group delay.

You always have to adjust for this. Not sure we can put it into the

documentation except to say that you need to calculate the total group

delay of your system if you want to align the data.

Tom

On Jul 10, 2013, at 4:47 AM, Tom R. [email protected] wrote:

-Greg

It’s not that the channel model 'eat’s 3 samples. This is group delay

of your filters that you’re seeing. The transmitter, receiver, and

channel model may all have filters in them and each has a group delay.

You always have to adjust for this. Not sure we can put it into the

documentation except to say that you need to calculate the total group

delay of your system if you want to align the data.

Thanks Tom,

Is there a straightforward way to calculate group delay for a flow

graph?

Alternatively, would it be straightforward to create a block that

annotates the data stream with a time index and another block that uses

this information to align streams?

-Greg

On Wed, Jul 10, 2013 at 8:42 AM, Gregory W. [email protected] wrote:

calculating BER), it is necessary to account for the 3-sample offset.

documentation except to say that you need to calculate the total group

delay of your system if you want to align the data.

Thanks Tom,

Is there a straightforward way to calculate group delay for a flow graph?

Alternatively, would it be straightforward to create a block that annotates the

data stream with a time index and another block that uses this information to

align streams?

-Greg

Greg,

Symmetric FIR filters have a known group delay of (N-1)/2. So what you

need to do is a) make sure all of your filters are symmetric FIRs (and

they probably are; firdes and optfir produce these types of filters)

and b) know all of the filters in the path, which includes the

transmit and receive pulse shaping filters and any filter in the

channel model (used to simulate multipath). You should be able to add

up the group delays of all filters to get your answer.

Tom

I have the same problem. I am using different channel models for

simulation and some samples either disappear or are incorrect. In your

answer, group delay = (N-1)/2, I assume that N is the number of taps of

the filter. So, how can I compensate this delay to obtain the correct

samples at the receiver?

Thanks so much

Hector

Tom R. wrote in post #1115636:

On Wed, Jul 10, 2013 at 8:42 AM, Gregory W. [email protected] wrote:

calculating BER), it is necessary to account for the 3-sample offset.

documentation except to say that you need to calculate the total group

delay of your system if you want to align the data.

Thanks Tom,

Is there a straightforward way to calculate group delay for a flow graph?

Alternatively, would it be straightforward to create a block that annotates the

data stream with a time index and another block that uses this

information to

align streams?

-Greg

Greg,

Symmetric FIR filters have a known group delay of (N-1)/2. So what you

need to do is a) make sure all of your filters are symmetric FIRs (and

they probably are; firdes and optfir produce these types of filters)

and b) know all of the filters in the path, which includes the

transmit and receive pulse shaping filters and any filter in the

channel model (used to simulate multipath). You should be able to add

up the group delays of all filters to get your answer.

Tom