"Andor" <andor.bariska@gmail.com> wrote in message news:6bfdbaec-9f3a-427f-954e-4ae3881658f6@1g2000hsl.googlegroups.com... After drawing a picture of what happens in the time domain during the conversion from scalar to complex, I "reverse-engineered" the process to produce exactly the sequences you proposed. However, when I did some spectral analysis of the resulting scalar signal, I found that it was composed of the sum of two spectra, one reversed along the frequency domain with respect to the other.
Generating Scalar Data from Complex Data
Started by ●January 24, 2008
Reply by ●January 26, 20082008-01-26
Reply by ●January 26, 20082008-01-26
"Jerry Avins" <jya@ieee.org> wrote in message news:waGdnfml8pqbZwTanZ2dnUVZ_gidnZ2d@rcn.net...> > Do you know for a fact that they didn't simply call even > sample "real" and odd samples "imaginary"? Some complex > sampling can be done that way, and a fondness for ignorant > cleverness might have led them there. > > Jerry > -- > Engineering is the art of making what you want from things > you can get. >I checked this out but it didn't lead anywhere.
Reply by ●January 26, 20082008-01-26
"Rick Lyons" <R.Lyons@_BOGUS_ieee.org> wrote in message news:8dshu3th75k1hr6kfjrtrhfm11t5k51km5@4ax.com...> > Hi John, > I'm thinkin' out loud here (which usually gets me into > trouble): > Maybe you could interpolate your orignal complex time > samples by a factor of two, then multiply the > interpolated sequence by e^(+j*pi/4) to have a > positive-frequency-only complex signal. (That last > step is merely upward freq translation.) Then just > take the real part of that freq-translated signal. >Rick, Even though this method works well, I have some concerns. Upsampling involves the generation of high-order images which have to be filtered out before frequency translation. Filtering is a somewhat inexact process that is subject to several "engineering approximations", not the least of which is selection of the filter. Therefore, we must be somewhat altering the generated scalar data so that it isn't exactly the same as the complex data from which it originated. Should we conclude from this that conversion between scalar and quadrature data representations will always involve some loss of information? Regards, John Hadstate
Reply by ●January 27, 20082008-01-27
On Jan 24, 1:27 pm, "John E. Hadstate" <jh113...@hotmail.com> wrote:> Is it possible to generate a scalar sampled data stream from a > sampled complex data stream without losing information? >> For example, can I take complex data that was sampled at 100 > Hz. with a bandwidth of +/- 50 Hz around 0 Hz. and convert it > to a scalar data stream that is sampled (effectively) at 200 Hz > and preserve all the information between 0 and 100 Hz?Take your complex data array: real0, imag0, real1, imag1, real2, imag2, real3, imag3, ... Multiply alternate pairs by -1: real0, imag0, -real1, -imag1, real2, imag2, -real3, -imag3, ... Interpret that array as reals: real0, real1, real2, real3, real4, real5, real6, real7, ... Since this is reversible, barring errors due to multiplying by -1, no information is destroyed. It is equivalent to upsampling by 2 by duplicating each complex sample and complex demodulating by Fs/2 where Fs is the original complex sampling frequency, and taking the real part. (Or inserting zeros and filtering by [1,1] then demodulating, etc.) You have stated no requirement about location, number or shape of images. If the original complex sequence consists of a real spectral component, the converted sequence will contain symmetric images of the spectrum centered at Fsnew/4. But then, an original real spectrum would have consisted of symmetric images of the spectrum, only centered at DC. Dale B. Dalrymple http://dbdimages.com http;//stores.lulu.com/dbd
Reply by ●January 27, 20082008-01-27
John E. Hadstate wrote:> > "Rick Lyons" <R.Lyons@_BOGUS_ieee.org> wrote in message > news:8dshu3th75k1hr6kfjrtrhfm11t5k51km5@4ax.com... >> >> Hi John, >> I'm thinkin' out loud here (which usually gets me into trouble): >> Maybe you could interpolate your orignal complex time >> samples by a factor of two, then multiply the >> interpolated sequence by e^(+j*pi/4) to have a >> positive-frequency-only complex signal. (That last >> step is merely upward freq translation.) Then just >> take the real part of that freq-translated signal. >> > > Rick, > > Even though this method works well, I have some concerns. Upsampling > involves the generation of high-order images which have to be filtered > out before frequency translation. Filtering is a somewhat inexact > process that is subject to several "engineering approximations", not the > least of which is selection of the filter. Therefore, we must be > somewhat altering the generated scalar data so that it isn't exactly the > same as the complex data from which it originated. > > Should we conclude from this that conversion between scalar and > quadrature data representations will always involve some loss of > information?The sampled information is not exact; quantization error limits it. You don't say how many bits are used, Let's in any case assume that the converter is perfectly linear, so that the maximum error is +/- 1/2 LSB. With 16-bit data, that amounts to about 8 ppm. It won't be easy, but you can filter the images that well (-100 dB). Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●January 27, 20082008-01-27
"Jerry Avins" <jya@ieee.org> wrote in message news:HLidnVdruvDfvgHanZ2dnUVZ_h6hnZ2d@rcn.net...> John E. Hadstate wrote: >> >> Even though this method works well, I have some concerns. >> Upsampling involves the generation of high-order images >> which have to be filtered out before frequency translation. >> Filtering is a somewhat inexact process that is subject to >> several "engineering approximations", not the least of which >> is selection of the filter. Therefore, we must be somewhat >> altering the generated scalar data so that it isn't exactly >> the same as the complex data from which it originated. >> >> Should we conclude from this that conversion between scalar >> and quadrature data representations will always involve some >> loss of information? > > The sampled information is not exact; quantization error > limits it. You don't say how many bits are used, Let's in any > case assume that the converter is perfectly linear, so that > the maximum error is +/- 1/2 LSB. With 16-bit data, that > amounts to about 8 ppm. It won't be easy, but you can filter > the images that well (-100 dB). >I don't think quantization or sampling enters this picture. I'm talking about a stream of digital information being represented in scalar or complex form, irrespective of where it came from or by what process, and about converting from one representation to another.
Reply by ●January 27, 20082008-01-27
On Sat, 26 Jan 2008 17:20:32 -0500, "John E. Hadstate" <jh113355@hotmail.com> wrote:> >"Rick Lyons" <R.Lyons@_BOGUS_ieee.org> wrote in message >news:8dshu3th75k1hr6kfjrtrhfm11t5k51km5@4ax.com... >> >> Hi John, >> I'm thinkin' out loud here (which usually gets me into >> trouble): >> Maybe you could interpolate your orignal complex time >> samples by a factor of two, then multiply the >> interpolated sequence by e^(+j*pi/4) to have a >> positive-frequency-only complex signal. (That last >> step is merely upward freq translation.) Then just >> take the real part of that freq-translated signal. >> > >Rick, > >Even though this method works well, I have some concerns. >Upsampling involves the generation of high-order images which >have to be filtered out before frequency translation. >Filtering is a somewhat inexact process that is subject to >several "engineering approximations", not the least of which is >selection of the filter. Therefore, we must be somewhat >altering the generated scalar data so that it isn't exactly the >same as the complex data from which it originated. > >Should we conclude from this that conversion between scalar and >quadrature data representations will always involve some loss >of information? > >Regards, >John HadstateHi John, you're certainly right about the accuracy of the interpolation being proportional to the quality of the filtering. Because we cannot build time-domain filters that are perfect (infinite attenuation in the stopband), then I suppose we could say that time-domain interpolation will never be perfect. [-Rick-]
Reply by ●January 27, 20082008-01-27
John E. Hadstate wrote:> > "Jerry Avins" <jya@ieee.org> wrote in message > news:HLidnVdruvDfvgHanZ2dnUVZ_h6hnZ2d@rcn.net... >> John E. Hadstate wrote: >>> >>> Even though this method works well, I have some concerns. Upsampling >>> involves the generation of high-order images which have to be >>> filtered out before frequency translation. Filtering is a somewhat >>> inexact process that is subject to several "engineering >>> approximations", not the least of which is selection of the filter. >>> Therefore, we must be somewhat altering the generated scalar data so >>> that it isn't exactly the same as the complex data from which it >>> originated. >>> >>> Should we conclude from this that conversion between scalar and >>> quadrature data representations will always involve some loss of >>> information? >> >> The sampled information is not exact; quantization error limits it. >> You don't say how many bits are used, Let's in any case assume that >> the converter is perfectly linear, so that the maximum error is +/- >> 1/2 LSB. With 16-bit data, that amounts to about 8 ppm. It won't be >> easy, but you can filter the images that well (-100 dB). >> > > I don't think quantization or sampling enters this picture. I'm talking > about a stream of digital information being represented in scalar or > complex form, irrespective of where it came from or by what process, and > about converting from one representation to another.You had concern that image vestiges would corrupt the data. I tried to point out that also corrupts the data, and if the effect of quantization exceeds the effect that images have, nothing of substance is lost. It's understandable to mourn a loss of perfection. Recognizing that the original data were imperfect ought to ease the pain. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●January 27, 20082008-01-27
On Sat, 26 Jan 2008 21:30:32 -0800 (PST), dbd <dbd@ieee.org> wrote:>On Jan 24, 1:27 pm, "John E. Hadstate" <jh113...@hotmail.com> wrote: > >> Is it possible to generate a scalar sampled data stream from a >> sampled complex data stream without losing information? >> > >> For example, can I take complex data that was sampled at 100 >> Hz. with a bandwidth of +/- 50 Hz around 0 Hz. and convert it >> to a scalar data stream that is sampled (effectively) at 200 Hz >> and preserve all the information between 0 and 100 Hz? > >Take your complex data array: >real0, imag0, real1, imag1, real2, imag2, real3, imag3, ... >Multiply alternate pairs by -1: >real0, imag0, -real1, -imag1, real2, imag2, -real3, -imag3, ... >Interpret that array as reals: >real0, real1, real2, real3, real4, real5, real6, real7, ... > >Since this is reversible, barring errors due to multiplying by -1, no >information is destroyed. It is equivalent to upsampling by 2 by >duplicating each complex sample and complex demodulating by Fs/2 >where Fs is the original complex sampling frequency, and taking the >real part. (Or inserting zeros and filtering by [1,1] then >demodulating, etc.) >(snipped by Lyons)> >Dale B. Dalrymple >http://dbdimages.com >http;//stores.lulu.com/dbdHi Dale, your scheme is interesting. I don't recall seeing this notion, this process, before. (I'm gonna study this, as time allows.) Dale will you tell me what you mean by the words "complex demodulating"? Thanks. [-Rick-]
Reply by ●January 27, 20082008-01-27
Hi Dale, your scheme looks like the inverse of a complex down-conversion technique that fred harris discussed on page 131 of his "Multirate DSP" textbook. harris discusses turning a real-valued signal (centered at Fs/4 Hz) into a complex-valued signal centered at zero Hz. And your scheme appears to do the opposite. Anyway I hope, as time allows, to investigate your suggestion Dale See Ya', [-Rick-]






