Hello Damon, That does not mean that you have to use a physical 10.23 MHz clock. A good digital resampler should allow the device to transmit essentially the same signal. Implementing a good resampler could be challenging (a rational-resampler may take too much taps to implement), but there are still some feasible designs (especially if it does not need to process the data in real-time, by any chance, or if you are okay with writing HDL codes).
In fact, USRPs already do this. Their Rx chains sample at a faster rate, and then decimate the sampled data to the target sampling rates. Their Tx chains do the opposite. When you ask USRPs to sample at, say, 10 MS/s, their ADCs are not sampling at 10 MS/s: they sample at 200 MS/s, then provide you resampled version of the data at 10 MS/s. It's just that the default resamplers included in their FPGAs have limited capabilities, so they cannot cover the sampling rates that you are looking for. Also, I do not know what applications you are working on, but if you are working on GNSS (it's just my guess, since 10.23 MHz is a common rate for GNSS satellites), the precision of the data stream does not actually matter that much. Yes, you do want to use a good clock, so as the signals would correlate well, but you can make rough estimates (like using square shaping filter) when you are generating the data, and still get decent correlation peaks, as long as the assumptions are not bad enough to significantly break the correlation properties of the signals. This is regularly exploited in GNSS receivers and transmitters. If you still believe that you want to use a physical 10.23 MHz clock, then maybe you want to check out the fact that USRP x300s support 30.72 MHz external ref clock ( https://files.ettus.com/manual/page_usrp_x3x0.html#x3x0_hw_x3x0_hw_ref10M ). Maybe you can try inputting something like 30.69 MHz (10.23 * 3) as your ext ref clock.. but I am not so sure about this. (It WILL screw up some timing, but how bad?) Please note that you may need to use a recent version of the UHD and the FPGA firmware. Regards, Kyeong Su Shin ________________________________ 보낸 사람: guowang qiu <[email protected]> 보낸 날짜: 2020년 4월 29일 수요일 오전 3:13 받는 사람: Kyeong Su Shin <[email protected]> 참조: [email protected] <[email protected]>; Damon Qiu <[email protected]> 제목: Re: [USRP-users] 10.23Msps Sample Rate Hi Kyeong Su Shin, Thank you for your reply. We need to send out signal at a very precise time. Interval between packet transmitting needs to be an integral multiple of 1 / 10.23M, so the master clock rate is should be N*10.23MHz. Best regards, Damon On Tue, 28 Apr 2020 at 12:45, Kyeong Su Shin <[email protected]<mailto:[email protected]>> wrote: Hello Guowang: First, if you are woking on GNSS (it's just my guess, but that's where 10.23 MHz usually comes from), you usually DON'T need to use 10.23 MS/s (see GNSS-SDR and gps-sdr-sim source codes). So, you may want to think about that before proceeding further. If you absolutely want to use 10.23 MS/s, then you can try resampling your data (either on your PC, on the FPGA, or both). It may require a pretty serious resampler, though (could be difficult to this in real-time). You can try altering the actual hardware clock of the board, but do not expect it to be a trivial task. Regards, Kyeong Su Shin ________________________________ 보낸 사람: guowang qiu via USRP-users <[email protected]<mailto:[email protected]>> 대신 USRP-users <[email protected]<mailto:[email protected]>> 보낸 날짜: 2020년 4월 28일 화요일 오전 3:52 받는 사람: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> 참조: Damon Qiu <[email protected]<mailto:[email protected]>> 제목: [USRP-users] 10.23Msps Sample Rate Hi all, We are trying to get 10.23Msps or 20.46Msps sample rate with X310. Latest UHD driver enables USRP x310 support 184.32MHz to 200MHz master clock rate. But it just support some discrete values,unfortunately, it just didn't support 10.23M*18 or 10.23M*19. We have tried to input an external reference clock of 10.23MHz, and we want to cheat x310 that the external clock is 10MHz. We set the master clock rate of the system as 200MHz. If the PLL can lock to the external clock source, the actual master clock rate is 10.23 × 20MHz. However, when the program is running, the UHD driver throws an exception, indicating: terminate called after throwing an instance of 'uhd::runtime_error' what(): RuntimeError: Reference Clock PLL failed to lock to external source. Is there any way to obtain 10.23Msps sample rate with X310? Best regards, Damon
_______________________________________________ USRP-users mailing list [email protected] http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
