DSPRelated.com
Forums

Inverse chirp z

Started by Pawel March 25, 2008
Hello All,

Just a quick question - would anyone know how to perform inverse chirp
z in Matlab. I know that this type of algorithm is used in commercial
equipment that performs calculation of impulse response form frequency
domain data. It looks like chirp z and especially inverse transform is
some sort of mystery. I found a couple posts over the net but majority
of them never got any replies, what's wrong with chirp z people?

Regards

Pawel
On Mar 25, 9:11 am, Pawel <prulikow...@gmail.com> wrote:
> Hello All, > > Just a quick question - would anyone know how to perform inverse chirp > z in Matlab. I know that this type of algorithm is used in commercial > equipment that performs calculation of impulse response form frequency > domain data. It looks like chirp z and especially inverse transform is > some sort of mystery. I found a couple posts over the net but majority > of them never got any replies, what's wrong with chirp z people? > > Regards > > Pawel
Although I haven't done it - I believe you would just setup the phase factors to be complements of what you set in the forward CZT. I've used the CZT to do linear array beam forming - it is quite efficient (and exact) if the beams are linearly spaced in sin(theta). There are a few articles around - IEEE, and Acoustical Society of America, it is also discussed to some degree in the O&S books. Cheers, Dave
On Mar 25, 6:11 am, Pawel <prulikow...@gmail.com> wrote:
> Hello All, > > Just a quick question - would anyone know how to perform inverse chirp > z in Matlab. I know that this type of algorithm is used in commercial > equipment that performs calculation of impulse response form frequency > domain data. It looks like chirp z and especially inverse transform is > some sort of mystery. I found a couple posts over the net but majority > of them never got any replies, what's wrong with chirp z people? > > Regards > > Pawel
You might Google on: matlab "chirp-z" You might try: help czt in Matlab What's wrong? Why haven't you? Dale B. Dalrymple http://dbdimages.com
On Mar 25, 2:58 pm, dbd <d...@ieee.org> wrote:
> On Mar 25, 6:11 am, Pawel <prulikow...@gmail.com> wrote: > > > Hello All, > > > Just a quick question - would anyone know how to perform inverse chirp > > z in Matlab. I know that this type of algorithm is used in commercial > > equipment that performs calculation of impulse response form frequency > > domain data. It looks like chirp z and especially inverse transform is > > some sort of mystery. I found a couple posts over the net but majority > > of them never got any replies, what's wrong with chirp z people? > > > Regards > > > Pawel > > You might Google on: > matlab "chirp-z" > > You might try: > help czt > in Matlab > > What's wrong? Why haven't you? > > Dale B. Dalrymplehttp://dbdimages.com
Believe me I have tried, but Matlab can only calculate CZT chirp z transform not inverse of it, Google does not provide any meaningful results regarding INVERSE CZT.
On Mar 25, 2:28 pm, Dave <dspg...@netscape.net> wrote:
> On Mar 25, 9:11 am, Pawel <prulikow...@gmail.com> wrote: > > > Hello All, > > > Just a quick question - would anyone know how to perform inverse chirp > > z in Matlab. I know that this type of algorithm is used in commercial > > equipment that performs calculation of impulse response form frequency > > domain data. It looks like chirp z and especially inverse transform is > > some sort of mystery. I found a couple posts over the net but majority > > of them never got any replies, what's wrong with chirp z people? > > > Regards > > > Pawel > > Although I haven't done it - I believe you would just setup the phase > factors to be complements of what you set in the forward CZT. > > I've used the CZT to do linear array beam forming - it is quite > efficient (and exact) if the beams are linearly spaced in sin(theta). > > There are a few articles around - IEEE, and Acoustical Society of > America, it is also discussed to some degree in the O&S books. > > Cheers, > Dave
Dave, Would You have any idea why inverse CZT is preferred over simple IFFT for reconstruction of impulse responses from frequency domain data? To my surprise even Wikipedia does not directly refer to CZT but uses somewhat enigmatic description Bluestein's FFT algorithm, how CZT is related to FFT - this would have some implications as taking FFT of FFT gives You IFFT till some extent. Regards Pawel
On Mar 25, 8:28 am, Pawel <prulikow...@gmail.com> wrote:
> On Mar 25, 2:58 pm, dbd <d...@ieee.org> wrote: > > > > > On Mar 25, 6:11 am, Pawel <prulikow...@gmail.com> wrote: > > > > Hello All, > > > > Just a quick question - would anyone know how to perform inverse chirp > > > z in Matlab. I know that this type of algorithm is used in commercial > > > equipment that performs calculation of impulse response form frequency > > > domain data. It looks like chirp z and especially inverse transform is > > > some sort of mystery. I found a couple posts over the net but majority > > > of them never got any replies, what's wrong with chirp z people? > > > > Regards > > > > Pawel > > > You might Google on: > > matlab "chirp-z" > > > You might try: > > help czt > > in Matlab > > > What's wrong? Why haven't you? > > > Dale B. Dalrymplehttp://dbdimages.com > > Believe me I have tried, but Matlab can only calculate CZT chirp z > transform not inverse of it, Google does not provide any meaningful > results regarding INVERSE CZT.
Did you try applying Dave's comment about the phasing for the inverse transform via the W parameter in czt()? Dale B. Dalrymple
On Mar 25, 3:55 pm, dbd <d...@ieee.org> wrote:
> On Mar 25, 8:28 am, Pawel <prulikow...@gmail.com> wrote: > > > > > On Mar 25, 2:58 pm, dbd <d...@ieee.org> wrote: > > > > On Mar 25, 6:11 am, Pawel <prulikow...@gmail.com> wrote: > > > > > Hello All, > > > > > Just a quick question - would anyone know how to perform inverse chirp > > > > z in Matlab. I know that this type of algorithm is used in commercial > > > > equipment that performs calculation of impulse response form frequency > > > > domain data. It looks like chirp z and especially inverse transform is > > > > some sort of mystery. I found a couple posts over the net but majority > > > > of them never got any replies, what's wrong with chirp z people? > > > > > Regards > > > > > Pawel > > > > You might Google on: > > > matlab "chirp-z" > > > > You might try: > > > help czt > > > in Matlab > > > > What's wrong? Why haven't you? > > > > Dale B. Dalrymplehttp://dbdimages.com > > > Believe me I have tried, but Matlab can only calculate CZT chirp z > > transform not inverse of it, Google does not provide any meaningful > > results regarding INVERSE CZT. > > Did you try applying Dave's comment about the phasing for the inverse > transform via the W parameter in czt()? > > Dale B. Dalrymple
No I haven't try Dave's approach but I will give it a try, would You know why inverse CZT is used for transfering from frequency to time domain in commercial vector network analysers? Pawel
On Mar 25, 8:59 am, Pawel <prulikow...@gmail.com> wrote:
> On Mar 25, 3:55 pm, dbd <d...@ieee.org> wrote: > > > > > On Mar 25, 8:28 am, Pawel <prulikow...@gmail.com> wrote: > > > > On Mar 25, 2:58 pm, dbd <d...@ieee.org> wrote: > > > > > On Mar 25, 6:11 am, Pawel <prulikow...@gmail.com> wrote: > > > > > > Hello All, > > > > > > Just a quick question - would anyone know how to perform inverse chirp > > > > > z in Matlab. I know that this type of algorithm is used in commercial > > > > > equipment that performs calculation of impulse response form frequency > > > > > domain data. It looks like chirp z and especially inverse transform is > > > > > some sort of mystery. I found a couple posts over the net but majority > > > > > of them never got any replies, what's wrong with chirp z people? > > > > > > Regards > > > > > > Pawel > > > > > You might Google on: > > > > matlab "chirp-z" > > > > > You might try: > > > > help czt > > > > in Matlab > > > > > What's wrong? Why haven't you? > > > > > Dale B. Dalrymplehttp://dbdimages.com > > > > Believe me I have tried, but Matlab can only calculate CZT chirp z > > > transform not inverse of it, Google does not provide any meaningful > > > results regarding INVERSE CZT. > > > Did you try applying Dave's comment about the phasing for the inverse > > transform via the W parameter in czt()? > > > Dale B. Dalrymple > > No I haven't try Dave's approach but I will give it a try, would You > know why inverse CZT is used for transfering from frequency to time > domain in commercial vector network analysers? > > Pawel
Traditionally, while the DFT/IDFT pair provide fixed mappings between time and frequency samples, the chirp-z transforms allow the mapping to be controlled (as by the W and A parameters in czt()). If you want to find out about a particular analyzer, you'll need to specify the analyzer in your question. Dale B. Dalrymple
On Mar 25, 11:37 am, Pawel <prulikow...@gmail.com> wrote:
> On Mar 25, 2:28 pm, Dave <dspg...@netscape.net> wrote: > > > > > On Mar 25, 9:11 am, Pawel <prulikow...@gmail.com> wrote: > > > > Hello All, > > > > Just a quick question - would anyone know how to perform inverse chirp > > > z in Matlab. I know that this type of algorithm is used in commercial > > > equipment that performs calculation of impulse response form frequency > > > domain data. It looks like chirp z and especially inverse transform is > > > some sort of mystery. I found a couple posts over the net but majority > > > of them never got any replies, what's wrong with chirp z people? > > > > Regards > > > > Pawel > > > Although I haven't done it - I believe you would just setup the phase > > factors to be complements of what you set in the forward CZT. > > > I've used the CZT to do linear array beam forming - it is quite > > efficient (and exact) if the beams are linearly spaced in sin(theta). > > > There are a few articles around - IEEE, and Acoustical Society of > > America, it is also discussed to some degree in the O&S books. > > > Cheers, > > Dave > > Dave, > > Would You have any idea why inverse CZT is preferred over simple IFFT > for reconstruction of impulse responses from frequency domain data? To > my surprise even Wikipedia does not directly refer to CZT but uses > somewhat enigmatic description Bluestein's FFT algorithm, how CZT is > related to FFT - this would have some implications as taking FFT of > FFT gives You IFFT till some extent. > > Regards > > Pawel
The CZT is quite flexible - it isn't fixed to just evaluating around the entire unit circle (as the FFT or IFFT). While I can't say for sure why a CZT is used instead of an IFFT - I'd bet that it is because the CZT allows you to evaluate the DFT over a selected portion of the bandwidth rather than the entire bandwidth. You can achieve the same results with a zoom FFT i.e. frequency shift, low-pass filter, decimate and then do your regular FFT analysis. But I think if you look at the CZT algorithm that is essentially what it is doing, but in a relatively efficient manner. Agilent used to have some tutorial type design notes - I'm not sure if they're still available on the web. Another possible place to check is the B&K site. Hope that helps. Cheers, Dave
On Mar 25, 4:42 pm, dbd <d...@ieee.org> wrote:
> On Mar 25, 8:59 am, Pawel <prulikow...@gmail.com> wrote: > > > > > On Mar 25, 3:55 pm, dbd <d...@ieee.org> wrote: > > > > On Mar 25, 8:28 am, Pawel <prulikow...@gmail.com> wrote: > > > > > On Mar 25, 2:58 pm, dbd <d...@ieee.org> wrote: > > > > > > On Mar 25, 6:11 am, Pawel <prulikow...@gmail.com> wrote: > > > > > > > Hello All, > > > > > > > Just a quick question - would anyone know how to perform inverse chirp > > > > > > z in Matlab. I know that this type of algorithm is used in commercial > > > > > > equipment that performs calculation ofimpulseresponseform frequency > > > > > > domain data. It looks like chirp z and especially inverse transform is > > > > > > some sort of mystery. I found a couple posts over the net but majority > > > > > > of them never got any replies, what's wrong with chirp z people? > > > > > > > Regards > > > > > > > Pawel > > > > > > You might Google on: > > > > > matlab "chirp-z" > > > > > > You might try: > > > > > help czt > > > > > in Matlab > > > > > > What's wrong? Why haven't you? > > > > > > Dale B. Dalrymplehttp://dbdimages.com > > > > > Believe me I have tried, but Matlab can only calculate CZT chirp z > > > > transform not inverse of it, Google does not provide any meaningful > > > > results regarding INVERSE CZT. > > > > Did you try applying Dave's comment about the phasing for the inverse > > > transform via the W parameter in czt()? > > > > Dale B. Dalrymple > > > No I haven't try Dave's approach but I will give it a try, would You > > know why inverse CZT is used for transfering from frequency to time > > domain in commercial vector network analysers? > > > Pawel > > Traditionally, while the DFT/IDFT pair provide fixed mappings between > time and frequency samples, the chirp-z transforms allow the mapping > to be controlled (as by the W and Aparametersin czt()). > > If you want to find out about a particular analyzer, you'll need to > specify the analyzer in your question. > > Dale B. Dalrymple
Thanks a lot for Your input it is really helpful, Dale: Actually I am trying to figure out how to create reliable data in time domain from measured S parameters, it is not trivial task as it seems to be at the first sight. Pawel