Hello 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: real(n,t)=sin(2*pi*n*(t-M/2)/(M+1))*f(n) imag(n,t)=cos(...) re(t)=real(0,t)+real(1,t)+... im(t)= ... h(t)=hypot(re(t),im(t))/(M+1) Anticipated thanks, Vlad PS: No homework,their time is long past. This is to try and implement a simple IDFT in LTspice.
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. Vlad