discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Sampling rate mismatch and rational resampler vs


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] Sampling rate mismatch and rational resampler vs Repeat
Date: Fri, 24 Jul 2015 09:45:22 -0400

On Fri, Jul 24, 2015 at 8:23 AM, Jeon <address@hidden> wrote:
I am building a certain system whose clock rates can be 200k, 400k, 3.75M, 7.5M, 15M, 30M, 60M and 120 MHz.(It's not an RF communication system, but a wired communication system using a square wave on-off keying.)

First of all, I've tested a USRP with only available rates for USRP (i.e. 200k, 400k, 3.75M, 7.5M and 15 MHz). But, when I ran a flow graph, clock rates of 3.75M, 7.5M and 15 MHz are tuned to 3.703704M, 7.692308M and 14.285714 MHz.

I see that it's because of dsp rate should be divisible by sampling rate. So, the GNU Radio, or USRP tunes sampling rate as close as one given by a user.

What I concern is, will such differences between given sampling rate and tuned sampling rate make a big difference on a waveform, throughput and performance? I don't think it would make a big difference since ratio of differences are less than 5 percent.

Yes, this will make a big difference.

You need the rate of a symbol to be correct for the information you want to send. You need the sample rate to match the hardware to be correct in /how/ you transfer that information. You'll want to resample your signal to match the rate of the USRP.

 
But it would be better to know about it before I run a real experiment.

For the second, I want to fix the sampling rate of USRP as the common multiple of clock rates, 15 MHz. And I am thinkinkg about using a rational resampler block or a repeat block to make a low clock rate signal fit 15 MHz clock.

For example,

1. 200 kHz signal -> rational resampler (interp: 15M, decim: 200k) -> USRP (15 MHz)
2. 200 kHz signal -> rational resampler (interp: 75, decim: 1) -> USRP (15 MHz)
3. 200 kHz signal -> repeat (interp:75) -> USRP (15 MHz)

When I run those three, first two using rational resampler blocks gave me ugly waveforms. I think it's because band limiting filter is applied to the original signal or something like that. (Forgot to take a picutre of FFT, sorry.)

Yes, but this isn't generally a bad thing. In the rational resampler, you get to pick your filter to give you the desired shape (within reason). By just repeating samples, you're not being very nice to your frequency domain, which I know you probably don't care much about because you're going over a wire. But if transmitting wirelessly, this would be a very bad thing to do. Plus, going through the USRP will band-limit your signal, anyways, since it, too, has filters.


In this situation, I think I don't have to use rational resampler and it's okay to use a repeat block because a clock rate of USRP (15 MHz) is a multiple of every given clock rates (200k, 400 kHz, ...) and because it's not a sinusoid, but a simple on-off keying.

So, how do you think of it? Are there something that I am missing in a real implementation?

Regards,
Jeon.


It's just bad practice to resample this way, but in your specific case, it should work.

Tom
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]