One more thing to add:If I run benchmark_rate with out any modifications, then 
the output in scope if perfect. 

I have added the following code snippet to configure the tx_freq and there is 
nothing observed in scope.
if (vm.count("tx_freq")){
      for(size_t ch = 0; ch < tx_channel_nums.size(); ch++) {
        std::cout << boost::format("Setting TX Freq: %f MHz...") % 
(tx_freq/1e6) << std::endl;
        uhd::tune_request_t tune_request(tx_freq);
        if(vm.count("int-n")) tune_request.args = 
uhd::device_addr_t("mode_n=integer");
        usrp->set_tx_freq(tune_request, tx_channel_nums[ch]);
        std::cout << boost::format("Actual TX Freq: %f MHz...") % 
(usrp->get_tx_freq(tx_channel_nums[ch])/1e6) << std::endl << std::endl;
    }
}
Command used for testing: ./benchmark_rate --args="addr=192.168.40.2" 
--channels="0" --tx_rate 50e6 --tx_freq 20e6 --duration 50


NOTE: I am using Agilent E4402B to analyze the spectrum (9KHz to 3 GHz)

Thanks,Santosh





    On Wednesday, December 18, 2019, 11:20:10 AM GMT, voonna santosh 
<santu_voo...@yahoo.com> wrote:  
 
 FYI:Does something like tx_waveforms[1] output a signal at the expected 
frequency? - Yes, both tx_wavefrom and benchmark_rate works fine. I took 
benchamark rate and extended it to get tx_freq configured. This is not working.

With respect to the 10MHz, this is the frequency of signals used to discipline 
the internal timebase to an external source. I wouldn't expect artifacts from 
this signal to be present at the TX port under normal circumstances. Are you 
using an external reference? What about the GPSDO? 
  - Since my base line is benchmark_rate, the default frequency is 10MHz which 
always works fine. But when I change the frequency, thats when I see the issue. 
I couldn't trace where it is getting set, but it does. Can you please let me 
know where in the code, it sets the frequency to 10MHz ? 

BR,Santosh





   On Tuesday, December 17, 2019, 11:45:29 PM GMT, Sam Reiter 
<sam.rei...@ettus.com> wrote:  
 
 Does something like tx_waveforms[1] output a signal at the expected frequency?
What are you using to measure the frequency output?
With respect to the 10MHz, this is the frequency of signals used to discipline 
the internal timebase to an external source. I wouldn't expect artifacts from 
this signal to be present at the TX port under normal circumstances. Are you 
using an external reference? What about the GPSDO? 
[1] 
https://github.com/EttusResearch/uhd/blob/master/host/examples/tx_waveforms.cpp

Sam Reiter Ettus Research

On Mon, Dec 16, 2019 at 9:01 AM voonna santosh via USRP-users 
<usrp-users@lists.ettus.com> wrote:

Hi There,   I have bench marked X300 against my development PC. Then I took 
benchmark_rate code and modified a bit. Everything works fine except setting 
the center freq.   When ever I set the center frequency, there is no error 
returned by the call. But when I transmit the data, it doesn't appear in scope. 
Whenever I remove the code to set the center frequency, things work fine and I 
cann see a spike at 10Mhz which is default frequency I guess. Any clues?
std::cout << boost::format("Setting TX Freq: %f MHz...") % (freq/1e6) << 
std::endl;
uhd::tune_request_t tune_request(freq);
//usrp->set_tx_freq(tune_request, 0); - This line also doesn't work
usrp->set_tx_freq(freq, 0);
std::cout << boost::format("Actual TX Freq: %f MHz...") % 
(usrp->get_tx_freq(0)/1e6) << std::endl << std::endl;

Thanks and Regards
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

    
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to