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.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Similar Discussions: Restore sgn(f(x)), f(x)=abs(sinc(x)) ?
  1. X prize for oil cleanup (Replies: 19)