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