# Power Delay Profile

Started by August 1, 2006
```hi everybody,
i'm trying to generate an etsi filter in order to simulate a channel. I
did it but there is still one problem, i don't manage to take in account
taps delays..
I read on the net we have to use the power delay profile of the filter but
i'm not able to manage to coding of this method.

I found a matlab script, can you tell me what do you think about: I don't
understand the aim of this script.

thanks

>%calcul du profil de puiss qui fait intervenir les delais des coeffs
>fe = 10;
>tau_max = 390e-9;
>tau_rms = 50e-9;
>t = 0:1/fe:tau_max;
>PP = exp(-(t/tau_rms)); %cf. article : "channel and interference
mode..."
>%normalisation :
>PP = PP/norm(PP);

i tried also this one:
>fe = 10;
>
>mat_taps = zeros(size(tau,2),2);
>%la premi&#2013265928;re colonne de mat_taps correspond aux d&#2013265929;lais
>%la deuxi&#2013265928;me colonne correspond &#2013265920; la puissance relative en dB
>mat_taps(:,1) = tau.';
>mat_taps(:,2) = P.';%d&#2013265929;j&#2013265920; en lin&#2013265929;aire
>nb_taps = size(mat_taps,1);
>
>%Transform&#2013265929;e de Fourier (approximation) :
>vect_deltas = zeros(nb_taps,1);
>vect_deltas(1:nb_taps-1) =
mat_taps(2:nb_taps,1)-mat_taps(1:nb_taps-1,1);
>vect_deltas(nb_taps) = vect_deltas(nb_taps-1); %le dernier tau = l&#2013266066;avant
>dernier
>vect_amplitudes = zeros(nb_taps,1); %la moyenne entre deux taps
>vect_amplitudes = 0.5*(mat_taps(1:nb_taps-1,2)+mat_taps(2:nb_taps,2));
>vect_amplitudes(nb_taps) = mat_taps(nb_taps,2);
>dw = 5;
>vect_pulsations = 0:dw:pi*fe;
>for num = 1:length(vect_pulsations)
>    vect_expos = exp(-j*vect_pulsations(num)*vect_deltas);
>    fw(num) = sum(vect_amplitudes.*vect_expos.*vect_deltas);
>end
>
>%Transform&#2013265929;e inverse (approximation) :
>vect_t = 0:1/fe:mat_taps(nb_taps,1);
>for num = 1:length(vect_t)
>    vect_expos = exp(j*vect_pulsations*vect_t(num));
>    PP(num) = (0.5/pi)*dw*sum(fw.*vect_expos);
>end
>
>PP = abs(PP);
>PP = PP/norm(PP); % normalisation

```