Hi, I'm struggling with how to convert a complex data stream into a real stream with the same bandwidth and twice the sample rate. How could this be accomplished? Thanks!
Complex to 2x real - how?
Started by ●October 9, 2008
Reply by ●October 9, 20082008-10-09
dotter wrote:> Hi, > I'm struggling with how to convert a complex data stream into a real > stream with the same bandwidth and twice the sample rate. > > How could this be accomplished?Describe the transmission form of your complex data, and if the answer doesn't become clear to you someone here will explain it. I won't guess at the gorm(s) and provide a table of possibilities, all of which might be inapplicable. Jerry -- Engineering is the art of making what you want from things you can get. ����������������������������������������������������������������������� ** Posted from http://www.teranews.com **
Reply by ●October 9, 20082008-10-09
On Oct 9, 5:39�pm, dotter <dot...@nospam.btconnect.com> wrote:> Hi, > I'm struggling with how to convert a complex data stream into a real > stream with the same bandwidth and twice the sample rate. > > How could this be accomplished? > Thanks!1. Interpolate by 2 2. Mix to new sample rate / 4 3. output = real part of (2) John
Reply by ●October 9, 20082008-10-09
John wrote:> On Oct 9, 5:39 pm, dotter <dot...@nospam.btconnect.com> wrote: >> Hi, >> I'm struggling with how to convert a complex data stream into a real >> stream with the same bandwidth and twice the sample rate. >> >> How could this be accomplished? >> Thanks! > > 1. Interpolate by 2 > 2. Mix to new sample rate / 4 > 3. output = real part of (2)You lost me. If the signal is presented as C[n] = {Re(C([n]) + j*Im(C([n])}, just output Re(C([n]) and Im(C([n]) separately at the old rate. I'm at a loss, though, to guess how C[n] might have originated. Jerry -- Engineering is the art of making what you want from things you can get. ����������������������������������������������������������������������� ** Posted from http://www.teranews.com **
Reply by ●October 9, 20082008-10-09
On Oct 9, 8:32�pm, Jerry Avins <j...@ieee.org> wrote:> John wrote: > > On Oct 9, 5:39 pm, dotter <dot...@nospam.btconnect.com> wrote: > >> Hi, > >> I'm struggling with how to convert a complex data stream into a real > >> stream with the same bandwidth and twice the sample rate. > > >> How could this be accomplished? > >> Thanks! > > > 1. Interpolate by 2 > > 2. Mix to new sample rate / 4 > > 3. output = real part of (2) > > You lost me. > > If the signal is presented as C[n] = {Re(C([n]) + j*Im(C([n])}, just > output Re(C([n]) and Im(C([n]) separately at the old rate. I'm at a > loss, though, to guess how C[n] might have originated. > > Jerry > -- > Engineering is the art of making what you want from things you can get. > ����������������������������������������������������������������������� > ** Posted fromhttp://www.teranews.com**John's method tells how to transform a complex signal to a real signal at twice the sample rate that represents the same spectral content (although duplicated in the negative frequencies due to the conjugate symmetry in frequency for a real signal). Whether this is something that anyone should ever want to do is another question. I'm not sure what value it would have, but that wasn't the original query. Jason
Reply by ●October 10, 20082008-10-10
On Oct 9, 7:30 pm, cincy...@gmail.com wrote:> ... > > John's method tells how to transform a complex signal to a real signal > at twice the sample rate that represents the same spectral content > (although duplicated in the negative frequencies due to the conjugate > symmetry in frequency for a real signal). Whether this is something > that anyone should ever want to do is another question. I'm not sure > what value it would have, but that wasn't the original query. > > JasonSuch signals are commonly generated in any dynamic signal analyzer that does non-baseband processing. The conversion back to real can be used to listen to the translated bands. Applications include upper and lower sideband demodulation. Dale B. Dalrymple http://dbdimages.com
Reply by ●October 10, 20082008-10-10
"dotter" <dotter@nospam.btconnect.com> wrote in message news:gcltn3$hjb$1$8302bc10@news.demon.co.uk...> Hi, > I'm struggling with how to convert a complex data stream into > a real stream with the same bandwidth and twice the sample > rate. > > How could this be accomplished? > Thanks! >http://groups.google.com/group/comp.dsp/browse_frm/thread/4246297bae7f3fa3/359dce97646f8740 Look at #8 in the thread from Rick Lyons.
Reply by ●October 10, 20082008-10-10
Jerry Avins <jya@ieee.org> writes:> John wrote: >> On Oct 9, 5:39 pm, dotter <dot...@nospam.btconnect.com> wrote: >>> Hi, >>> I'm struggling with how to convert a complex data stream into a real >>> stream with the same bandwidth and twice the sample rate. >>> >>> How could this be accomplished? >>> Thanks! >> >> 1. Interpolate by 2 >> 2. Mix to new sample rate / 4 >> 3. output = real part of (2) > > You lost me. > > If the signal is presented as C[n] = {Re(C([n]) + j*Im(C([n])}, just > output Re(C([n]) and Im(C([n]) separately at the old rate. I'm at a > loss, though, to guess how C[n] might have originated.Hi Jerry, All he's doing is this: 1. interpolating by 2 gets the sample up to 2*Fs 2. Mix to new sample rate (2*Fs) / 4: this shifts the spectrum by Fs / 2, so that what was at -Fs/2 to 0 is now at 0 to Fs / 2, and what was at 0 to Fs / 2 is now at Fs / 2 to Fs. Since the new sample rate is 2*Fs, Fs is the highest frequency available. This preserves the information that was in the negative frequencies of the old complex signal in the positive frequencies of the new real signal. 3. The spectrum in 2 was still complex, i.e., potentially non-symmetrical. This step makes it symmetrical. The bad thing about this approach is that it inverts the spectrum, as seen by the step 2 explanation. -- % Randy Yates % "And all that I can do %% Fuquay-Varina, NC % is say I'm sorry, %%% 919-577-9882 % that's the way it goes..." %%%% <yates@ieee.org> % Getting To The Point', *Balance of Power*, ELO http://www.digitalsignallabs.com
Reply by ●October 10, 20082008-10-10
On Oct 9, 8:07 pm, John <sampson...@gmail.com> wrote:> > Hi, > > I'm struggling with how to convert a complex data stream into a real > > stream with the same bandwidth and twice the sample rate.> 1. Interpolate by 2 > 2. Mix to new sample rate / 4 > 3. output = real part of (2)Yes. Hopefully when implementing it, the poster will notice and exploit that certain parts of the component calculations can be optimized away For example, the "local oscillator" at new FS/4 required in step 2 has interesting properties...
Reply by ●October 10, 20082008-10-10
On Oct 10, 6:15 am, Randy Yates <ya...@ieee.org> wrote:> Jerry Avins <j...@ieee.org> writes:...> 2. Mix to new sample rate (2*Fs) / 4: this shifts the > spectrum by Fs / 2, so that what was at -Fs/2 to 0 is > now at 0 to Fs / 2, and what was at 0 to Fs / 2 is > now at Fs / 2 to Fs. Since the new sample rate is > 2*Fs, Fs is the highest frequency available. > > This preserves the information that was in the > negative frequencies of the old complex signal > in the positive frequencies of the new real > signal. > ...> > The bad thing about this approach is that it inverts > the spectrum, as seen by the step 2 explanation. > > % Randy YatesRandy This doesn't invert the spectrum, it merely shifts it linearly up in frequency. When used to demodulate an upper sideband this process follows a translation of the center of the sideband to DC and a desampling lowpass filter stage to reduce the bandwidth to match the bandwidth of the sideband. This complex to real process puts the entire sideband back above DC and allows use as an audio channel of the sideband content. Dale B. Dalrymple






