Can I write this integral in "closed-form" expression?

  • Context: Graduate 
  • Thread starter Thread starter EngWiPy
  • Start date Start date
  • Tags Tags
    Expression Integral
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
4 replies · 2K views
EngWiPy
Messages
1,361
Reaction score
61
Hi all,

I have this integral, and I wish to write it in a closed-form in order to be able to program it. The integral is:

[tex]\int_{-\infty}^{\infty}e^{j2\pi f_c[a^{(u)}-a^{(m)}]}g(t[1+a^{(m)}]-kT_s-\tau_p^{(m,n)}) g(t[1+a^{(u)}]-lT_s-\tau_q^{(u,n)})\,dt[/tex]

where

[tex]g(t)=\left\{\begin{array}{cc}1&t\in[0,T_s)\\0&\mbox{Otherwise}\end{array}\right.[/tex]

Basically, I can write two different cases, namely, when:

[tex]\frac{kT_s+\tau_p^{(m,n)}}{1+a^{(m)}}\leq \frac{lT_s+\tau_q^{(u,n)}}{1+a^{(u)}}<\frac{(k+1)T_s+\tau_p^{(m,n)}}{1+a^{(m)}}[/tex]

and when

[tex]\frac{lT_s+\tau_q^{(u,n)}}{1+a^{(u)}}\leq \frac{kT_s+\tau_p^{(m,n)}}{1+a^{(m)}}<\frac{(l+1)T_s+\tau_q^{(u,n)}}{1+a^{(u)}}[/tex]

and solve the integral for these two separate cases. However, this requires me to check for every possible case separately which is taking too long time. I was hoping if I can write it as one expression which eases the programming part.

Thanks
 
Physics news on Phys.org
S_David said:
Hi all,

I have this integral, and I wish to write it in a closed-form in order to be able to program it. The integral is:

[tex]\int_{-\infty}^{\infty}e^{j2\pi f_c[a^{(u)}-a^{(m)}]}g(t[1+a^{(m)}]-kT_s-\tau_p^{(m,n)}) g(t[1+a^{(u)}]-lT_s-\tau_q^{(u,n)})\,dt[/tex]

where

[tex]g(t)=\left\{\begin{array}{cc}1&t\in[0,T_s)\\0&\mbox{Otherwise}\end{array}\right.[/tex]
Simplifying that a bit, you have [itex]\int_{-\infty}^{\infty} c g_1(t) g_2(t)\, dt[/itex] where
[tex]\begin{aligned}<br /> c &= e^{j2\pi f_c[a^{(u)}-a^{(m)}]} \\<br /> g_1(t) &= g(t[1+a^{(m)}]-kT_s-\tau_p^{(m,n)}) \\<br /> g_2(t) &= g(t[1+a^{(u)}]-lT_s-\tau_q^{(u,n)})<br /> \end{aligned}[/tex]
That constant [itex]c=e^{j2\pi f_c[a^{(u)}-a^{(m)}]}[/tex] can be pulled out of the integral, and you're left with the integral of the product of two indicator functions. Each of those indicator functions is fairly simple (but messy): They describe a finite interval on the real number line. So the integral is just the constant <i>c</i> times the length of the intersection of these two intervals. I'll use [itex]a[/itex] to denote the interval corresponding to [itex]g_1(t)[/itex] and [itex]b[/itex] to denote the nterval corresponding to [itex]g_2(t)[/itex]:<br /> <br /> [tex]\begin{aligned}<br /> a &= \left(\frac{kT_s+\tau_p^{(m,n)}}{1+a^{(m)}},<br /> \frac{(k+1)T_s+\tau_p^{(m,n)}}{1+a^{(m)}}\right) \\<br /> b &= \left(\frac{lT_s+\tau_q^{(u,n)}}{1+a^{(u)}},<br /> \frac{(l+1)T_s+\tau_q^{(u,n)}}{1+a^{(u)}}\right)<br /> \end{aligned}[/tex]<br /> <br /> That's a bit messy yet. I'll define four items to represent those endpoints:<br /> [tex]\begin{aligned}<br /> a_1 &= \frac{kT_s+\tau_p^{(m,n)}}{1+a^{(m)}} \\<br /> a_2 &= \frac{(k+1)T_s+\tau_p^{(m,n)}}{1+a^{(m)}} \\<br /> b_1 &= \frac{lT_s+\tau_q^{(u,n)}}{1+a^{(u)}} \\<br /> b_2 &= \frac{(l+1)T_s+\tau_q^{(u,n)}}{1+a^{(u)}}\end{aligned}[/tex]<br /> With this, the intervals simplify to<br /> [tex]\begin{aligned}<br /> a &= (a_1, a_2) \\<br /> b &= (b_1, b_2)<br /> \end{aligned}[/tex]<br /> <br /> <blockquote data-attributes="" data-quote="" data-source="" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Basically, I can write two different cases, namely, when:<br /> <br /> [tex]\frac{kT_s+\tau_p^{(m,n)}}{1+a^{(m)}}\leq \frac{lT_s+\tau_q^{(u,n)}}{1+a^{(u)}}<\frac{(k+1)T_s+\tau_p^{(m,n)}}{1+a^{(m)}}[/tex]<br /> <br /> and when<br /> <br /> [tex]\frac{lT_s+\tau_q^{(u,n)}}{1+a^{(u)}}\leq \frac{kT_s+\tau_p^{(m,n)}}{1+a^{(m)}}<\frac{(l+1)T_s+\tau_q^{(u,n)}}{1+a^{(u)}}[/tex] </div> </div> </blockquote><br /> You missed four cases. Here are all six, depicted in ASCII art. In all cases, I'm portraying interval <i>a</i> above and interval <i>b</i> below the real number line, and the intersection between intervals <i>a</i> and <i>b</i> below the line displaying interval <i>b</i>.<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> <i class="fa--xf fal fa-code "><svg xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true" ><use href="/data/local/icons/light.svg?v=1785082203#code"></use></svg></i> Code: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code> ( a ) Case 1: ------------------------------------> ( b ) Intersection is null ( a ) Case 2: ------------------------------------> ( b ) ( a∩b ) ( a ) Case 3: ------------------------------------> ( b ) ( a∩b ) ( a ) Case 4: ------------------------------------> ( b ) ( a∩b ) ( a ) Case 5: ------------------------------------> ( b ) ( a∩b ) ( a ) Case 6: ------------------------------------> ( b ) Intersection is null</code></pre> </div> </div><br /> All you need is the length of that intersection. This is actually quite easy: it's [itex]d=\max(0, \min(a_2,b_2) - \max(a_1,b_1))[/itex]. That outer max protects against a negative length, which is what would otherwise in the case of a null intersection.[/itex]
 
Last edited:
I am really thankful of your effort, but I have a typo in my post where the integral is actually:

[tex]\int_{-\infty}^{\infty}e^{j2\pi f_c[a^{(u)}-a^{(m)}]t}g(t[1+a^{(m)}]-kT_s-\tau_p^{(m,n)}) g(t[1+a^{(u)}]-lT_s-\tau_q^{(u,n)})\,dt[/tex]

where the exponential is a function of t, otherwise I wouldn't have put it inside the integral. This is actually what complicates the integration. Now, in its presence can I find something similar to what you had without it?

D H said:
Simplifying that a bit, you have [itex]\int_{-\infty}^{\infty} c g_1(t) g_2(t)\, dt[/itex] where
[tex]\begin{aligned}<br /> c &= e^{j2\pi f_c[a^{(u)}-a^{(m)}]} \\<br /> g_1(t) &= g(t[1+a^{(m)}]-kT_s-\tau_p^{(m,n)}) \\<br /> g_2(t) &= g(t[1+a^{(u)}]-lT_s-\tau_q^{(u,n)})<br /> \end{aligned}[/tex]
That constant [itex]c=e^{j2\pi f_c[a^{(u)}-a^{(m)}]}[/tex] can be pulled out of the integral, and you're left with the integral of the product of two indicator functions. Each of those indicator functions is fairly simple (but messy): They describe a finite interval on the real number line. So the integral is just the constant <i>c</i> times the length of the intersection of these two intervals. I'll use [itex]a[/itex] to denote the interval corresponding to [itex]g_1(t)[/itex] and [itex]b[/itex] to denote the nterval corresponding to [itex]g_2(t)[/itex]:<br /> <br /> [tex]\begin{aligned}<br /> a &= \left(\frac{kT_s+\tau_p^{(m,n)}}{1+a^{(m)}},<br /> \frac{(k+1)T_s+\tau_p^{(m,n)}}{1+a^{(m)}}\right) \\<br /> b &= \left(\frac{lT_s+\tau_q^{(u,n)}}{1+a^{(u)}},<br /> \frac{(l+1)T_s+\tau_q^{(u,n)}}{1+a^{(u)}}\right)<br /> \end{aligned}[/tex]<br /> <br /> That's a bit messy yet. I'll define four items to represent those endpoints:<br /> [tex]\begin{aligned}<br /> a_1 &= \frac{kT_s+\tau_p^{(m,n)}}{1+a^{(m)}} \\<br /> a_2 &= \frac{(k+1)T_s+\tau_p^{(m,n)}}{1+a^{(m)}} \\<br /> b_1 &= \frac{lT_s+\tau_q^{(u,n)}}{1+a^{(u)}} \\<br /> b_2 &= \frac{(l+1)T_s+\tau_q^{(u,n)}}{1+a^{(u)}}\end{aligned}[/tex]<br /> With this, the intervals simplify to<br /> [tex]\begin{aligned}<br /> a &= (a_1, a_2) \\<br /> b &= (b_1, b_2)<br /> \end{aligned}[/tex]<br /> <br /> <br /> <br /> You missed four cases. Here are all six, depicted in ASCII art. In all cases, I'm portraying interval <i>a</i> above and interval <i>b</i> below the real number line, and the intersection between intervals <i>a</i> and <i>b</i> below the line displaying interval <i>b</i>.<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> <i class="fa--xf fal fa-code "><svg xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true" ><use href="/data/local/icons/light.svg?v=1785082203#code"></use></svg></i> Code: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code> ( a ) Case 1: ------------------------------------> ( b ) Intersection is null ( a ) Case 2: ------------------------------------> ( b ) ( a∩b ) ( a ) Case 3: ------------------------------------> ( b ) ( a∩b ) ( a ) Case 4: ------------------------------------> ( b ) ( a∩b ) ( a ) Case 5: ------------------------------------> ( b ) ( a∩b ) ( a ) Case 6: ------------------------------------> ( b ) Intersection is null</code></pre> </div> </div><br /> All you need is the length of that intersection. This is actually quite easy: it's [itex]d=\max(0, \min(a_2,b_2) - \max(a_1,b_1))[/itex]. That outer max protects against a negative length, which is what would otherwise in the case of a null intersection.[/itex]
[itex][/itex]
 
S_David said:
I am really thankful of your effort, but I have a typo in my post where the integral is actually:

[tex]\int_{-\infty}^{\infty}e^{j2\pi f_c[a^{(u)}-a^{(m)}]t}g(t[1+a^{(m)}]-kT_s-\tau_p^{(m,n)}) g(t[1+a^{(u)}]-lT_s-\tau_q^{(u,n)})\,dt[/tex]

where the exponential is a function of t, otherwise I wouldn't have put it inside the integral. This is actually what complicates the integration. Now, in its presence can I find something similar to what you had without it?
It doesn't complicate it by much. Those g(αt+β) are either zero or one, so instead of a length times a constant you get

[tex]\int_{\max(a_1, b_1)}^{\min(a_2,b_2)} \exp(j\omega t)\,dt[/tex]

Here I've collapsed that big messy constant of yours into a single constant, [itex]\omega[/itex]. That's an easy integral. There is one tricky issue now: You have to watch out for the two null cases. The above is correct only if there is a non-null intersection.