Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Activecat
Dear Marcus,

Please avoid adding more confusions rather than clarities.

 The term upconversion and downconversion are common terms used in the
 radio engineering industry, but may not be common among other technical folks.

In radio engineering industry, there are more than 1 type of
upconversion or downconversion. The common types include:
a).  analog up-conversion:
  The baseband real signal x(t) will be mixed with a carrier
frequency, that its output is a real signal of
   y(t) = x(t).cos(wt)  where w = central frequency

b).  complex up-conversion:
  The baseband complex-based signal x(t) = I(t) + j.Q(t) will be
quadrature upconverted so that its output is a real signal of
   y(t) = I(t).cos(wt) - Q(t).sin(wt)

For clarity sometimes we need to clarify which one you were referring to.
These two (analog vs complex upconverter) are significantly very
different from each other.


 The complex upconverter simply sums the two components after mixing, to
 produce a valid real-valued analog signal.

Are you saying SBX performs this complex upconversion?  But earlier
you said SBX just performed analog upconversion and nothing more.


 But, again, none of the daughtercards that Ettus produces are designed to
 extract *information* from the signal--they merely manipulate it
   so that it is represented in a complex baseband form that can easily be
 digitized by the ADCs.

You are saying the output of SBX is in complex baseband. This means
SBX perform complex down-conversion.
But earlier you said SBX performed just analog down-conversion and nothing more.


 One impresses *information* on an RF carrier by modulating it--doing stuff
 to that carrier so that the information can be recognized by
   a suitable receiver.  There are hundreds of different ways of doing this,
 depending on the required attributes of the resulting signal, etc.

Are you saying SBX daughtercard will automatically select the correct
way depending on the received signal?
In my flow graph there is no configuration to tell the SBX which way to use.

 You square-wave example is roughly similar to so-called OOK--on/off keying.
 Such techniques are generally only used for very-low-speed
   data transmission, owing to the unpleasant spectral properties of signals
 with sharp edges.

There are no documentation of what SBX performs on incoming or
outgoing signals.  https://www.ettus.com/product/details/SBX
If Ettus support personnel doesn't clear things up, the Ettus products
continue to remain mystery to many newcomers.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Activecat
On Sat, Mar 15, 2014 at 11:14 AM, Marcus D. Leech mle...@ripnet.com wrote:
 The SBX does analog downconversion, nothing more.  It knows nothing about
 the incoming signal, and doesn't demodulate it in any way.

 That is what SDR is all about--the signals are represented as
 complex-baseband (i/Q) format for processing by computer algorithms.

 The SBX (or any other daughtercard) is simply doing downconversion (or,
 upconversion for TX).

Even the simplest quadrature downconversion also needs to avoid clock
drift.  http://en.wikipedia.org/wiki/Quadrature_modulation#Clocking

If your analog downconversion above refers to quadrature
downconversion, then it is very important to have a phase lock loop
(PLL) on the SBX to avoid clock drift.

How could this PLL only present at the host (gnuradio flow graph), but
not Ettus SBX daughtercard ?
Does the flow-graph PLL able to correct all effects due to clock drift of SBX?

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Sylvain Munaut
Hi,

 There are no documentation of what SBX performs on incoming or
 outgoing signals.  https://www.ettus.com/product/details/SBX

IMHO Ettus is among the brands where there is the _least_ surprises
just because the exact schematic is published, you can see _exactly_
what the SBX does to your signal ...


 If Ettus support personnel doesn't clear things up, the Ettus products
 continue to remain mystery to many newcomers.

Just a thought, but have you considered that newcomers aren't the
target audience ?

SDR has radio in it, and to use them properly you kind of need an
understanding of how radio works. Ettus isn't here to teach you the
fundamentals of RF, Radios, DSP, SDR, ... you're supposed to learn
those by yourself beforehand.


Cheers,

Sylvain

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Activecat
On Sat, Mar 15, 2014 at 4:05 PM, Sylvain Munaut 246...@gmail.com wrote:
 There are no documentation of what SBX performs on incoming or
 outgoing signals.  https://www.ettus.com/product/details/SBX

 IMHO Ettus is among the brands where there is the _least_ surprises
 just because the exact schematic is published, you can see _exactly_
 what the SBX does to your signal ...

Let's see yourself at
http://code.ettus.com/redmine/ettus/projects/public/documents
This is the link referred by
http://www.ettus.com/kb/detail/frequently-asked-questions

This link leads to   The page you were trying to access doesn't
exist or has been removed !

 If Ettus support personnel doesn't clear things up, the Ettus products
 continue to remain mystery to many newcomers.

 Just a thought, but have you considered that newcomers aren't the
 target audience ?

Newcomers refer to those who purchase Ettus products for the first time.
Sadly they are not given appropriate attention even through they are
consumers of Ettus.

 SDR has radio in it, and to use them properly you kind of need an
 understanding of how radio works. Ettus isn't here to teach you the
 fundamentals of RF, Radios, DSP, SDR, ... you're supposed to learn
 those by yourself beforehand.

I do not expect Ettus to teach me the fundamentals, but to clarify
fundamental details with Ettus support personnel who seem to confuse
with RF fundamentals.

You may refer to previous conversations.  Do you agree with him that a
simple quadrature downconverter doesn't need to care about clock drift
because it just simply downconverter and nothing more?

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Sylvain Munaut
Hi,

 Let's see yourself at
 http://code.ettus.com/redmine/ettus/projects/public/documents
 This is the link referred by
 http://www.ettus.com/kb/detail/frequently-asked-questions

 This link leads to   The page you were trying to access doesn't
 exist or has been removed !

Wow, they have a broken link because there was a reorganization
recently, big deal.

Use the power of google ... 4th link when searching for Ettus SBX schematic

And it's also in their file repo
http://files.ettus.com/schematics/sbx/sbx.pdf if you want it from
official source.


 You may refer to previous conversations.  Do you agree with him that a
 simple quadrature downconverter doesn't need to care about clock drift
 because it just simply downconverter and nothing more?

Yes ...


Cheers,

Sylvain

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Activecat
On Sat, Mar 15, 2014 at 5:14 PM, Sylvain Munaut 246...@gmail.com wrote:
 You may refer to previous conversations.  Do you agree with him that a
 simple quadrature downconverter doesn't need to care about clock drift
 because it just simply downconverter and nothing more?

 Yes ...

 Cheers,
 Sylvain


In this case I shall rephrase my question to:
How to compensate the error due to clock drift which is not handled
by a simple quadrature upconverter ?

Could anyone of gnuradio forum gives me some idea ?
I hope this is no longer categorized as expecting Ettus to teach me
the fundamentals of RF.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Attila Kinali
On Sat, 15 Mar 2014 17:46:58 +0800
Activecat active...@gmail.com wrote:

 In this case I shall rephrase my question to:
 How to compensate the error due to clock drift which is not handled
 by a simple quadrature upconverter ?

I do not want to sound rude or anything, but you are asking very
basic questions on radio communications. You should read a textbook
or go to an introductory class on that topic.

You can find recommended documents on the suggested reading page[1].
Especially the Digital Comms section.

Also a good idea would be to do an Ham Radio licensing course.
These usually cover the most basic modulations and how it relates
to real devices too.


Attila Kinali

[1] http://gnuradio.org/redmine/projects/gnuradio/wiki/SuggestedReading/

-- 
It is upon moral qualities that a society is ultimately founded. All 
the prosperity and technological sophistication in the world is of no 
use without that foundation.
 -- Miss Matheson, The Diamond Age, Neil Stephenson

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Tom Rondeau
On Sat, Mar 15, 2014 at 10:46 AM, Activecat active...@gmail.com wrote:
 On Sat, Mar 15, 2014 at 5:14 PM, Sylvain Munaut 246...@gmail.com wrote:
 You may refer to previous conversations.  Do you agree with him that a
 simple quadrature downconverter doesn't need to care about clock drift
 because it just simply downconverter and nothing more?

 Yes ...

 Cheers,
 Sylvain


 In this case I shall rephrase my question to:
 How to compensate the error due to clock drift which is not handled
 by a simple quadrature upconverter ?

 Could anyone of gnuradio forum gives me some idea ?
 I hope this is no longer categorized as expecting Ettus to teach me
 the fundamentals of RF.

Activecat,

It was mentioned earlier in this thread, you can use a PLL to lock to
a carrier. Basically,  you need an algorithm that performs carrier
recovery.

This thread is starting to get a little too confrontational, so we all
need to take a bit of a break. Please take a look at the PLL blocks in
GNU Radio; you can find them under the Synchronizers category in the
block tree of GRC. Spend some time understanding these blocks and how
to use them. If you still have questions, please open another email
thread.

Thanks,
Tom

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Activecat
On Sat, Mar 15, 2014 at 5:56 PM, Tom Rondeau t...@trondeau.com wrote:
 It was mentioned earlier in this thread, you can use a PLL to lock to
 a carrier. Basically,  you need an algorithm that performs carrier
 recovery.

 This thread is starting to get a little too confrontational, so we all
 need to take a bit of a break. Please take a look at the PLL blocks in
 GNU Radio; you can find them under the Synchronizers category in the
 block tree of GRC. Spend some time understanding these blocks and how
 to use them. If you still have questions, please open another email
 thread.

 Thanks,
 Tom

I saw those PLL blocks but basically these blocks extract clocking at
the host (PC), while clock locking is needed at the SBX.
I feel you guys doesn't understand my concern.
Nevertheless I understand this starts to get confrontational, so I
have to stop here.
Sorry for any misunderstanding and offense arisen.

Thank you very much.
Regards,
Activecat

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Marcus D. Leech

On 03/15/2014 02:57 AM, Activecat wrote:

Dear Marcus,

Please avoid adding more confusions rather than clarities.


The term upconversion and downconversion are common terms used in the
radio engineering industry, but may not be common among other technical folks.

In radio engineering industry, there are more than 1 type of
upconversion or downconversion. The common types include:
a).  analog up-conversion:
   The baseband real signal x(t) will be mixed with a carrier
frequency, that its output is a real signal of
y(t) = x(t).cos(wt)  where w = central frequency

b).  complex up-conversion:
   The baseband complex-based signal x(t) = I(t) + j.Q(t) will be
quadrature upconverted so that its output is a real signal of
y(t) = I(t).cos(wt) - Q(t).sin(wt)

For clarity sometimes we need to clarify which one you were referring to.
These two (analog vs complex upconverter) are significantly very
different from each other.

I was using the term analog to distinguish from digital.   The FPGA 
*also* has up/downconverters for doing offsetting and mop up
  operations on the signal stream, and those operations are, 
necessarily, performed on a digital sample stream, rather than on an analog

  electron stream.

A quadrature up (or down) converter is structurally very similar to a 
real-valued converter, and most folks in the industry refer to
  both as upconversion and downconversion.  While the mathematical 
expressions that describe them are, as you note, different,
  they're performing a very similar function, and use nearly-identical 
hardware, except that in the complex (quadrature) case, you have

  two mixers, and a phase-split local oscillator.

You can see the schematics of SBX (and other cards) here:

http://www.ettus.com/files/schematics




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Marcus D. Leech




This thread is starting to get a little too confrontational, so we all
need to take a bit of a break. Please take a look at the PLL blocks in
GNU Radio; you can find them under the Synchronizers category in the
block tree of GRC. Spend some time understanding these blocks and how
to use them. If you still have questions, please open another email
thread.

Thanks,
Tom

___

Sorry, Tom.  I posted another in the thread before looking at you drop 
this thread message.   My bad.




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-15 Thread Activecat
I have found the answers.
http://nutaq.com/en/blog/multi-channel-synchronization-fpga-based-daq-systems
http://nutaq.com/en/blog/brief-overview-frequency-synchronization-ofdm

On the Nutaq platforms (ZeptoSDR, PicoSDR) you can control VCXO voltage
DAC from GNU Radio (and from FPGA user logic) to implement carrier
frequency offset correction.

Thanks everyone for your help.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Sylvain Munaut
Hi,


 I try to send square wave from one USRP to another.
 The received signal at the receiver USRP is very different from what
 was being sent.

 This is just a very simple setup. What could be wrong ..?

Apparently your understanding of how things work :)

First thing, square waves have infinite bandwidth, the DAC can't
generate them properly, the ADC can't capture them properly and
they'll be modified by the IF filters. The effect of that is to round
off the edges. And since you sample at 32k, that's probably going to
be fairly visible.

Then the second and major thing is that I  Q aren't magically
transmitted and received perfectly aligned. Unless you use the _exact_
same totally phase aligned LO and ensure the propagation delay to have
the ADC sample exactly on your DAC transmitted symbols, the I  Q you
receive won't be the I  Q you transmit, you'll have random time and
phase alignement.


That's kind of why people use modulation rather than TX raw binary waveforms.


Cheers,

Sylvain

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Johnathan Corgan
On 03/13/2014 09:32 PM, Activecat wrote:

 I try to send square wave from one USRP to another.
 The received signal at the receiver USRP is very different from what
 was being sent.
 This is just a very simple setup. What could be wrong ..?

What you are seeing is a classic case of frequency/phase offset between
the transmitter and receiver, introducing a rotation in the I/Q domain
at baseband equal to the difference frequency.

In spite of calibrating things, you have only made the transmitter and
receiver local oscillator frequencies close.  All real-world receivers
must implement a correction loop to estimate this frequency and
compensate for it, which eliminates the rotation.  This correction loop
often takes the form of a phase-locked loop, of which there are several
in GNU Radio.  For the type of waveform you are transmitting, the PLL
Carrier Tracking loop should work, as your baseband waveform results in
significant carrier energy when upconverted to passband.

Also, the amplitude of the data you are transmitting at baseband is
likely too high; you can see evidence of numerical overflow in the
received signal.  I suggest you limit the amplitude of the square wave
baseband waveform to +-0.7; this prevents the magnitude of the signal
exceeding 1.0 in the CORDIC stage of the DUC in the USRP.

If any of the above concepts are unfamiliar to you, there are excellent
references in the Suggested Reading page on the GNU Radio wiki.

-- 
Johnathan Corgan, Corgan Labs
SDR Training and Development Services
http://corganlabs.com



attachment: johnathan.vcf

signature.asc
Description: OpenPGP digital signature
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Activecat
Dear Sylvain,

On Fri, Mar 14, 2014 at 2:17 PM, Sylvain Munaut 246...@gmail.com wrote:
 First thing, square waves have infinite bandwidth, the DAC can't
 generate them properly, the ADC can't capture them properly and
 they'll be modified by the IF filters. The effect of that is to round
 off the edges.

I am using Ettus SBX daughtercard at the transmitter USRP to transmit
complex square wave (means the signal is in IQ form).
https://www.ettus.com/product/details/SBX
I understand that SBX performs quadrature up-conversion automatically,
and this feature cannot be disabled.
Hence, the signal sent to the transmitter antenna is no longer square
waves, but IQ up-converted signal.
That's why I guess the round off the edges effect is no longer
applicable here.

At the receiver side, another SBX daughtercard should have
automatically down-converted the signal back into IQ form.
Here I expect the signal output from SBX become (nearly) square wave.

 And since you sample at 32k, that's probably going to
 be fairly visible.

I repeat the test with sampling rate changed to 1MHz at both sides,
this gain similar undesirable result.

 Then the second and major thing is that I  Q aren't magically
 transmitted and received perfectly aligned.

Now I am focusing on the frequency and phase alignment issue.

Thank you very much.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Activecat
Dear Johnathan,

On Fri, Mar 14, 2014 at 2:21 PM, Johnathan Corgan
johnat...@corganlabs.com wrote:
 On 03/13/2014 09:32 PM, Activecat wrote:

 I try to send square wave from one USRP to another.
 The received signal at the receiver USRP is very different from what
 was being sent.
 This is just a very simple setup. What could be wrong ..?

 What you are seeing is a classic case of frequency/phase offset between
 the transmitter and receiver, introducing a rotation in the I/Q domain
 at baseband equal to the difference frequency.

 In spite of calibrating things, you have only made the transmitter and
 receiver local oscillator frequencies close.  All real-world receivers
 must implement a correction loop to estimate this frequency and
 compensate for it, which eliminates the rotation.  This correction loop
 often takes the form of a phase-locked loop, of which there are several
 in GNU Radio.  For the type of waveform you are transmitting, the PLL
 Carrier Tracking loop should work, as your baseband waveform results in
 significant carrier energy when upconverted to passband.

I was told that the Ettus SBX daughtercard has built-in PLL capability.
In this case is the flowgraph-based PLL still necessary ..?
Refer below message from Ettus support engineer.


 -- Forwarded message --
 From: Marcus D. Leech mle...@ripnet.com
 Date: Sun, Feb 2, 2014 at 8:50 PM
 Subject: Re: [Discuss-gnuradio] undocumented SBX behavior
 To: Activecat active...@gmail.com

 On 02/02/2014 07:03 AM, Activecat wrote:
 Dear Marcus,
 At the receiver USRP, does the SBX daughtercard have any mechanism of 
 phase-lock-loop (PLL) ?
 I guess the daughtercard should have it because PLL is essential for 
 quadrature downconversion.
 Please advise, thanks.
 Regards,
 activecat

Yes, the synthesizers are PLL based.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Martin Braun

On 14.03.2014 09:50, Activecat wrote:

In spite of calibrating things, you have only made the transmitter and
receiver local oscillator frequencies close.  All real-world receivers
must implement a correction loop to estimate this frequency and
compensate for it, which eliminates the rotation.  This correction loop
often takes the form of a phase-locked loop, of which there are several
in GNU Radio.  For the type of waveform you are transmitting, the PLL
Carrier Tracking loop should work, as your baseband waveform results in
significant carrier energy when upconverted to passband.


I was told that the Ettus SBX daughtercard has built-in PLL capability.
In this case is the flowgraph-based PLL still necessary ..?
Refer below message from Ettus support engineer.


Hi Activecat,

our synthesizers use PLLs, but this won't solve frequency offset issues 
with your transceiver. This is not a limitation of USRPs, but 
fundamentally necessary in every receiver.


Here's a very brief explanation: The PLL for the synthesizer makes sure 
the locally generated frequency is stable (per-device). It's physically 
impossible to make perfectly aligned oscillators. By throwing money at 
the problem, you can reduce the potential offset. But since you can 
never get rid of it entirely, you also need a mechanism (e.g. a PLL) to 
lock on the incoming signal.


Phase is another story. Even in a world with perfect oscillators, your 
phase can be rotated. That's something else you have to account for.


Have a look at the examples in gr-digital/examples/demod. You'll see 
many mechanisms to correct offsets between tx and rx (time, phase and 
frequency). These are all standard components for digital transceivers.


Martin

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Johnathan Corgan
On 03/14/2014 01:50 AM, Activecat wrote:

 In spite of calibrating things, you have only made the transmitter and
 receiver local oscillator frequencies close.  All real-world receivers
 must implement a correction loop to estimate this frequency and
 compensate for it, which eliminates the rotation.  This correction loop
 often takes the form of a phase-locked loop, of which there are several
 in GNU Radio.  For the type of waveform you are transmitting, the PLL
 Carrier Tracking loop should work, as your baseband waveform results in
 significant carrier energy when upconverted to passband.
 
 I was told that the Ettus SBX daughtercard has built-in PLL capability.
 In this case is the flowgraph-based PLL still necessary ..?
 Refer below message from Ettus support engineer.

The hardware PLL in the receive section of the daughterboard serves an
entirely different purpose; it is there to create the local oscillator
signal at the frequency requested when tuning.  However, that frequency
is ultimately derived from a hardware oscillator that is subject to
manufacturing tolerances, drift, thermal effects, phase noise, etc.  So
even when both transmitter and receiver are physically tuned to what you
set as the same frequency, in reality there is an offset between them,
and even the amount of that offset changes on a moment-by-moment basis.

It is an unavoidable reality of designing radio receivers that one must
compensate for this offset in transmitter and receiver local oscillator
frequencies.  In software radio systems, this is most often done by
estimating the frequency/phase error and performing de-rotation on the
resulting waveform.

-- 
Johnathan Corgan, Corgan Labs
SDR Training and Development Services
http://corganlabs.com
attachment: johnathan.vcf

signature.asc
Description: OpenPGP digital signature
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Marcus D. Leech

On 03/14/2014 01:05 PM, Johnathan Corgan wrote:


The hardware PLL in the receive section of the daughterboard serves an
entirely different purpose; it is there to create the local oscillator
signal at the frequency requested when tuning.  However, that frequency
is ultimately derived from a hardware oscillator that is subject to
manufacturing tolerances, drift, thermal effects, phase noise, etc.  So
even when both transmitter and receiver are physically tuned to what you
set as the same frequency, in reality there is an offset between them,
and even the amount of that offset changes on a moment-by-moment basis.

It is an unavoidable reality of designing radio receivers that one must
compensate for this offset in transmitter and receiver local oscillator
frequencies.  In software radio systems, this is most often done by
estimating the frequency/phase error and performing de-rotation on the
resulting waveform.
I would emphasize that this requirement isn't a quirk of SDR 
hardware--every digital radio system ever has needed some kind of
  offset error estimator to track differences between TX and RX 
phase/frequency.


In analog systems (like NBFM voice, or FM radio, or AM audio), it's 
generally not as necessary, because it's hard for humans to hear
  minor frequency offsets.  But for data systems, an error estimator is 
vital.Even in WBFM, I've implemented an AFC block to compensate
  for the crappy (RTLSDR) master clock on the receiver.  But each 
modulation type and coding system will have its own way of estimating
  phase/frequency error which you'll have to implement, or just live 
with bad BER.




--
Marcus Leech
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Activecat
Dear Martin,

On Fri, Mar 14, 2014 at 5:13 PM, Martin Braun martin.br...@ettus.com wrote:
 Here's a very brief explanation: The PLL for the synthesizer makes sure the
 locally generated frequency is stable (per-device). It's physically
 impossible to make perfectly aligned oscillators. By throwing money at the
 problem, you can reduce the potential offset. But since you can never get
 rid of it entirely, you also need a mechanism (e.g. a PLL) to lock on the
 incoming signal.

At the receiver side, the received signal is first processed by SBX
daughtercard before being sent it to the host (which is the PC).
The IQ demodulation is performed at the receiving SBX, not at the host.
In this case the clocking of SBX must be synchronized to the received
IQ-modulated signal.
Hence the PLL must be done precisely in the SBX, not in the host, correct?

If the PLL is done at the gnuradio flow graph, then this flow graph
must be able to adjust the local oscillator of the SBX daughtercard,
via softare. Does gnuradio flow graph have this capability?

Regards,
Activecat

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Marcus D. Leech

On 03/14/2014 10:51 PM, Activecat wrote:

Dear Martin,

On Fri, Mar 14, 2014 at 5:13 PM, Martin Braun martin.br...@ettus.com wrote:

Here's a very brief explanation: The PLL for the synthesizer makes sure the
locally generated frequency is stable (per-device). It's physically
impossible to make perfectly aligned oscillators. By throwing money at the
problem, you can reduce the potential offset. But since you can never get
rid of it entirely, you also need a mechanism (e.g. a PLL) to lock on the
incoming signal.

At the receiver side, the received signal is first processed by SBX
daughtercard before being sent it to the host (which is the PC).
The IQ demodulation is performed at the receiving SBX, not at the host.
In this case the clocking of SBX must be synchronized to the received
IQ-modulated signal.
Hence the PLL must be done precisely in the SBX, not in the host, correct?

If the PLL is done at the gnuradio flow graph, then this flow graph
must be able to adjust the local oscillator of the SBX daughtercard,
via softare. Does gnuradio flow graph have this capability?

Regards,
Activecat

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
The SBX does analog downconversion, nothing more.  It knows nothing 
about the incoming signal, and doesn't demodulate it in any way.


That is what SDR is all about--the signals are represented as 
complex-baseband (i/Q) format for processing by computer algorithms.


The SBX (or any other daughtercard) is simply doing downconversion (or, 
upconversion for TX).


Frequency offset in a digital demodulator implemented in software 
generally drives a local correction--not the hardware.  You achieve this by
  bringing in a bit more bandwidth than you actually need, and then 
applying frequency corrections in software.




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Activecat
Dear Marcus,

On Sat, Mar 15, 2014 at 11:14 AM, Marcus D. Leech mle...@ripnet.com wrote:
 The SBX does analog downconversion, nothing more.  It knows nothing about
 the incoming signal, and doesn't demodulate it in any way.

Please be clarified what do you mean by analog downconversion.
At the transmitter side, complex-based (I/Q) signal is fed into USRP.
Says, the signal is x(t) = I(t) + j.Q(t)

I think this is performed at transmitter SBX:
  y(t) = I(t).cos(wt) - Q(t).sin(wt)  where w = central frequency, t = time
here the y(t) is the output of SBX to the antenna.
Is this what you meant by analog upconversion ?

Whereas at the receiver side, the received signal from antenna is real
signal, says,
  z(t) = c.y(t) =  c.I(t).cos(wt) - c.Q(t).sin(wt)where c =
channel attenuation
The receiver SBX performs this:
  Retrieved I(t) = LPS( z(t).cos(wt) )where LPS = low pass filter
  Retrieved Q(t) = LPS( z(t). sin(wt) )
With this process the receiver SBX is able to produce complex-based
(I/Q) signal from the real signal from antenna.
Is this what you meant by analog downconversion?

If not, please describe what you mean by analog upconversion and
analog downconversion, because I have no idea of what you are trying
to explain.  It is impossible that SBX only mix the incoming
complex-based signal with a central frequency and then send directly
to antenna for transmission, because the simple mixing (analog
upconversion) produces another complex-based signal which cannot be
transmitted through antenna.  A physical antenna can only transmit
real signal, not complex-based signal.

Please clarify, thanks.
Regards,
Activecat



 That is what SDR is all about--the signals are represented as
 complex-baseband (i/Q) format for processing by computer algorithms.

 The SBX (or any other daughtercard) is simply doing downconversion (or,
 upconversion for TX).
 Frequency offset in a digital demodulator implemented in software generally
 drives a local correction--not the hardware.  You achieve this by
   bringing in a bit more bandwidth than you actually need, and then applying
 frequency corrections in software.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Failure of sending square wave over USRPs (back-to-back)

2014-03-14 Thread Marcus D. Leech

On 03/15/2014 12:10 AM, Activecat wrote:

Dear Marcus,

On Sat, Mar 15, 2014 at 11:14 AM, Marcus D. Leech mle...@ripnet.com wrote:

The SBX does analog downconversion, nothing more.  It knows nothing about
the incoming signal, and doesn't demodulate it in any way.

Please be clarified what do you mean by analog downconversion.
At the transmitter side, complex-based (I/Q) signal is fed into USRP.
Says, the signal is x(t) = I(t) + j.Q(t)

I think this is performed at transmitter SBX:
   y(t) = I(t).cos(wt) - Q(t).sin(wt)  where w = central frequency, t = time
here the y(t) is the output of SBX to the antenna.
Is this what you meant by analog upconversion ?

Whereas at the receiver side, the received signal from antenna is real
signal, says,
   z(t) = c.y(t) =  c.I(t).cos(wt) - c.Q(t).sin(wt)where c =
channel attenuation
The receiver SBX performs this:
   Retrieved I(t) = LPS( z(t).cos(wt) )where LPS = low pass filter
   Retrieved Q(t) = LPS( z(t). sin(wt) )
With this process the receiver SBX is able to produce complex-based
(I/Q) signal from the real signal from antenna.
Is this what you meant by analog downconversion?

If not, please describe what you mean by analog upconversion and
analog downconversion, because I have no idea of what you are trying
to explain.  It is impossible that SBX only mix the incoming
complex-based signal with a central frequency and then send directly
to antenna for transmission, because the simple mixing (analog
upconversion) produces another complex-based signal which cannot be
transmitted through antenna.  A physical antenna can only transmit
real signal, not complex-based signal.

Please clarify, thanks.
Regards,
Activecat


The term upconversion and downconversion are common terms used in 
the radio engineering industry, but may not be common among

   other technical folks.

The complex upconverter simply sums the two components after mixing, to 
produce a valid real-valued analog signal.


But, again, none of the daughtercards that Ettus produces are designed 
to extract *information* from the signal--they merely manipulate it
  so that it is represented in a complex baseband form that can easily 
be digitized by the ADCs.


One impresses *information* on an RF carrier by modulating it--doing 
stuff to that carrier so that the information can be recognized by
  a suitable receiver.  There are hundreds of different ways of doing 
this, depending on the required attributes of the resulting signal, etc.


You square-wave example is roughly similar to so-called OOK--on/off 
keying.  Such techniques are generally only used for very-low-speed
  data transmission, owing to the unpleasant spectral properties of 
signals with sharp edges.







___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio