1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Restore sgn(f(x)), f(x)=abs(sinc(x)) ?

  1. Jun 20, 2013 #1

    I don't know if this is the right place to place this, but here it goes:

    I tried an IDFT approach in LTspice, which doesn't know sqrt(-1). If z=a+i*b then, in LTspice, z=a, |z|=a, so b is lost. With this in mind, the IDFT is done with sin^2+cos^2 which gives me |sinc(x)|, but I need the sinc to be "regular" sinc, oscillating. So, the question is: is it possible through whatever trick/cheat/etc to restore or get an oscillating sinc(x) after the transform? Anything.

    I am using this chain of .funcs:

    im(t)= ...

    Anticipated thanks,

    PS: No homework,their time is long past. This is to try and implement a simple IDFT in LTspice.
  2. jcsd
  3. Jun 21, 2013 #2
    Unfortunately, I was in a hurry to fight a headache last night, so I mixed up: real(n,t)=cos(...), imag=sin. Also, the resulting impulse response can't be a result of a simulation, for example, I can't just use u(sinc-1m) and then divide the pulses with a DFLOP -- that would require simulating to find out the coefficients, then applying them to h[n], then running the simulation again.

    A small test for if(abs(x)<wc,1,0) reveals it works, but it's still |sinc| (by the way, the title is actually sgn(abs(f(x))), f(x)=sinc(x), it was a really bad headache, apparently). To actually test the coefficients, I could use sgn(sinc(wc))*result, but that would only work for rectangular spectrum or one band only.

    So, there you have it, if anyone knows just a little bit, please let me know.

  4. Jul 6, 2013 #3
    No need anymore, the discrete cosine/sine transforms do the trick.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook