Forum: GNU Radio BasicTX PLL and some TX doubts

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
4960c18fe86cafa1f819b4db3e2d758a?d=identicon&s=25 Ronaldo Nunez (Guest)
on 2009-01-13 20:26
(Received via mailing list)
Hello community,

I'm trying to understand how signals are transmitted by the USRP with a
basicTX.
I studied a lot about Quadrature Modulation, Single Sideband
transmission...
and I've read all the available documentation about USRP and GNUradio.

Eric and other guys have helped me, but some doubts persists! :(

There is a PLL in the BasicTX daughter board?
How tune() function access that PLL?
And for the other dboards, how tune() works for them?

If somebody could help me, i will be thankful for life!

--
__________________________________
Ronaldo A. Viera Nunez
Electrical Engineering student and Telecommunications researcher
assistant
Federal University of Santa Maria

Santa Maria - RS - Brasil
745d8202ef5a58c1058d0e5395a78f9c?d=identicon&s=25 Eric Blossom (Guest)
on 2009-01-13 21:04
(Received via mailing list)
On Tue, Jan 13, 2009 at 05:19:32PM -0200, Ronaldo Nunez wrote:
> How tune() function access that PLL?
> And for the other dboards, how tune() works for them?
>
> If somebody could help me, i will be thankful for life!

Please read the USRP FAQ then ask again if you're still not clear.

  http://gnuradio.org/trac/wiki/UsrpFAQ
  http://gnuradio.org/trac/attachment/wiki/UsrpFAQ/U...

Have you looked at the code that implements tune?

Eric
4960c18fe86cafa1f819b4db3e2d758a?d=identicon&s=25 Ronaldo Nunez (Guest)
on 2009-01-14 03:32
(Received via mailing list)
Thank you for your answer Mr. Blossom,

> Please read the USRP FAQ then ask again if you're still not clear.
>
   http://gnuradio.org/trac/wiki/UsrpFAQ<http://gnura...
> http://gnuradio.org/trac/attachment/wiki/UsrpFAQ/U...

Sorry, but, I read all FAQ, and i just found the answer of my third
question
("And for the other dboards, how tune() works for them?")

> Have you looked at the code that implements tune?
>
> Eric

usrp_stardard.{cc,h}? Yes...

I (think) understood the tune process when I read it.

First, the "tune()" tells to d'board to tune as close as it can. After,
with
the result of that operation (maybe, f_db - f_target = f_duc) "tune()"
configure the DUC. Is that right? (Be free to correct me...)

But, the BasicTX doesn't have a PLL, or a VCO or another component to
tune
at a frequency...Should FPGA do tune job for the basicTX?

Please, be free to correct my affirmations...

Sorry my poor English (and my ignorance) , thanks all!

Ronaldo


2009/1/13 Eric Blossom <eb@comsec.com>

> >
>
> Have you looked at the code that implements tune?
>
> Eric
>



--
__________________________________
Ronaldo A. Viera Nunez
Acadêmico/Engenharia Elétrica
Universidade Federal de Santa Maria

Santa Maria - RS - Brasil
745d8202ef5a58c1058d0e5395a78f9c?d=identicon&s=25 Eric Blossom (Guest)
on 2009-01-14 05:26
(Received via mailing list)
On Wed, Jan 14, 2009 at 12:31:30AM -0200, Ronaldo Nunez wrote:
> > Have you looked at the code that implements tune?
>
> But, the BasicTX doesn't have a PLL, or a VCO or another component to tune
> at a frequency...Should FPGA do tune job for the basicTX?

Correct, it doesn't have a PLL or VCO, but it does have a set_freq
method that behaves exactly as specified.  That is, it attempts to
tune as close as it can and returns the actual baseband frequency that
corresponds to DC in the IF.

    struct freq_result_t
    db_basic_tx::set_freq(double target_freq)
    {
      // Set the frequency.
      //
      // @param freq:  target RF frequency in Hz
      // @type freq:   double
      //
      // @returns (ok, actual_baseband_freq) where:
      //   ok is True or False and indicates success or failure,
      //   actual_baseband_freq is the RF frequency that corresponds to
DC in the IF.

      struct freq_result_t args = {false, 0};
      args.ok = true;
      args.baseband_freq = 0.0;
      return args;
    }

The end result of this is that there is no special case and all the
tuning ends up getting done in the DUC since no matter where you ask
it to tune, it returns 0 Hz.

Eric
4960c18fe86cafa1f819b4db3e2d758a?d=identicon&s=25 Ronaldo Nunez (Guest)
on 2009-01-14 16:12
(Received via mailing list)
Thank you Eric, I think that the things are going to be clearly in my
head
now.

"returns the actual baseband frequency that corresponds to DC in the
IF."
what this means? The baseband frequency is the frequency of the signal(a
tone, a constant, noise, file, music...) that i want to tx, isn't it?
Why
does it correspond to DC in IF?

I would like to know if I send want tx a signal of 1MHz at 100 MHz, i
need
to upconvert it 99 MHz. So what are the values of the COARSE MODULATOR
and
the value of FINE MODULATOR for that frequency (99MHz)?

Regards,

Ronaldo



2009/1/14 Eric Blossom <eb@comsec.com>

> > Sorry, but, I read all FAQ, and i just found the answer of my third
> >
> method that behaves exactly as specified.  That is, it attempts to
>      //
>
> The end result of this is that there is no special case and all the
> tuning ends up getting done in the DUC since no matter where you ask
> it to tune, it returns 0 Hz.
>
> Eric
>



--
__________________________________
Ronaldo A. Viera Nunez
Acadêmico/Engenharia Elétrica
Universidade Federal de Santa Maria

Santa Maria - RS - Brasil
This topic is locked and can not be replied to.