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

  • Thread starter Thread starter blighme
  • Start date Start date
AI Thread Summary
The discussion centers on the challenge of restoring the oscillating sinc function after performing an Inverse Discrete Fourier Transform (IDFT) in LTspice, which does not handle complex numbers well. The user, Vlad, explains that while he can obtain the absolute value of sinc, he needs the regular oscillating form. He shares his approach using a series of functions to compute the real and imaginary parts but notes a mistake in his initial setup. Ultimately, he concludes that using discrete cosine and sine transforms successfully resolves his issue. The thread highlights the complexities of signal processing in LTspice and the importance of correct function implementation.
blighme
Messages
12
Reaction score
0
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.
 
Engineering news on Phys.org
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
 
No need anymore, the discrete cosine/sine transforms do the trick.
 
Hi all, i have some questions about the tesla turbine: is a tesla turbine more efficient than a steam engine or a stirling engine ? about the discs of the tesla turbine warping because of the high speed rotations; does running the engine on a lower speed solve that or will the discs warp anyway after time ? what is the difference in efficiency between the tesla turbine running at high speed and running it at a lower speed ( as fast as possible but low enough to not warp de discs) and: i...
Thread 'Where is my curb stop?'
My water meter is submerged under water for about 95% of the year. Today I took a photograph of the inside of my water meter box because today is one of the rare days that my water meter is not submerged in water. Here is the photograph that I took of my water meter with the cover on: Here is a photograph I took of my water meter with the cover off: I edited the photograph to draw a red circle around a knob on my water meter. Is that knob that I drew a red circle around my meter...
Back
Top