# How can I generate time shifted Dirac delta function(impulse response)?

218 views (last 30 days)
SUNGKWANG LEE on 4 Mar 2021
Commented: Walter Roberson on 2 Mar 2024
I want to make a impulse response of channel with below configuration.
How can I generate delta function with these value?
Ts = 2ns, fs = 50GHz, fc = 1GHz
impulse reponse of channel : h(τ) = 0.7δ(τ) 0.6δ(τ 4 · 10^−10) + 0.5δ(τ 6 · 10^−10)

Arthi Sathyamurthi on 26 Mar 2021
You can generate a time shifted dirac delta function by using the dirac function. Assuming the time shift to be a value ‘a’, dirac(x-a) generates a impulse at the value ‘a’. You can look how to do it in the Mathworks documentation here. This is how your impulse response equation would be,
h(tau) = (0.7*dirac(tau))- (0.6*dirac(tau-(4e-10)) + 0.5*(dirac(tau-(6e-10))))
You can either define ‘tau’ to be syms if you want h(tau) to be an equation or you can declare ‘tau’ as an array of values for which you want to plot the impulse response equation for a range.
Paul on 2 Mar 2024
Even if one could get the times exactly correct, it won't help much because dirac returns inf for a numeric input for that case, which also won't show up on a plot
t = [-1 0 1];
dirac(t)
ans = 1×3
0 Inf 0
Some time ago I was working on a code to identify the coefficients of all diracs in a symbolic expression which could then be used to make an fplot.
Walter Roberson on 2 Mar 2024
Good point about dirac(0) being inf.