Napísal som malý c++ program, ktorý získava údaje z USRP. Program môže dostať I/Q údajov a zobraziť ju na spektrálny analyzátor. Prijímač LED nie je vždy zelený, aj keď. To druhy blikania a stmievanie. Mám podozrenie, že tam je sadzba nesúlad medzi počítačom a USRP. Mohol by to byť tak? Ako sa uistite, že počítač spotrebúva vzorky rovnakým tempom ako USRP je ich získanie? Nižšie je vlákno funkcie, ktoré používam pre I/Q signál obstarania.
void
USRPDriver::RxEventLoop()
{
uhd::rx_metadata_t md;
uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE);
stream_cmd.stream_now = true;
stream_cmd.num_samps = 1024;
//std::cout << "Maximum num samps = " << rx_stream->get_max_num_samps() << std::endl;
std::vector<std::complex<float> > fcpxIQ;
fcpxIQ.resize(1024);
usrp->issue_stream_cmd(stream_cmd);
while(true)
{
usrp->issue_stream_cmd(stream_cmd);
size_t num_rx_samps = rx_stream->recv(&fcpxIQ[0], 1024, md);
emit ReceiveIQ(fcpxIQ);
//std::cout << "Rx rate = " << usrp->get_rx_rate(0) << std::endl;
//fcpxIQ.clear();
}
}