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

207 vues (au cours des 30 derniers jours)
SUNGKWANG LEE
SUNGKWANG LEE le 4 Mar 2021
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)

Réponses (1)

Arthi Sathyamurthi
Arthi Sathyamurthi le 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 commentaires
Paul
Paul le 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
Walter Roberson le 2 Mar 2024
Good point about dirac(0) being inf.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by