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

218 views (last 30 days)
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)

Answers (1)

Arthi Sathyamurthi
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.
  5 Comments
Paul
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.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!