discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] How to minimize Spillage of energy in neighboring


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] How to minimize Spillage of energy in neighboring frequencies while transmission
Date: Thu, 22 Oct 2015 09:48:48 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

Hi Abhinav,

First off: since you want to have a sampling rate of 2kHz, it really doesn't make sense to use the minimal N210 sampling rate 195312.5 Hz. Use something that is a multiple of 2kHz, for example 200kHz or 1MHz.
Use a "low pass filter block" with the resulting decimation, the sampling rate set to the rate coming into the filter, and the cutoff frequency let's say to (15.0/16.0 * 2e3) which allows for a transition width of (1.0/8.0*2e3).

The placement of the decimation depends a bit on your actual signal of interest; generally, the earlier, the better, since that simply eliminates a majority of noise power. Make sure, however, that the passband width of the filter is "wide" enough so that the FLL can still work.

Best regards,
Marcus

On 21.10.2015 22:45, abhinav narain wrote:
Hi Marcus,
I see your point, and I can add intepolation factor as 196K/2K =98 in my transmitter.

Can you please tell me about what should I do in my receiver now that I have to do decimation.
I have the exact grc file attached.
I am doing :
USRP Source-> FLL Band Edge-> Polyphase Clock Sync with RRC RX filter [{ firdes.root_raised_cosine(ntaps,samp_rate,sps, rolloff, int(11*sps*ntaps)) }
corresponding to tx filter of {firdes.root_raised_cosine(ntaps, samp_rate, sps, rolloff, int(11*sps*ntaps))} ] 
-> Costas Loop ->   MultiplyConst->Constellation Receiver ...

I do have to place a decimation filter I suppose with factor 196/2 (= same as in interpolator filter), but the polyphase Sync block doesn't have a Decimation factor in it.

In case I place Decimation block before FLL BandEdge block, I need to have tap coefficient and I am not sure what should they be ?
I don't know how i can calculate square root of RRC taps and place those taps in both - Decimation block and  Polyphase block.

Please suggest.

Thanks,
Abhinav



On Wed, Oct 21, 2015 at 11:51 AM, Marcus Müller <address@hidden> wrote:
Hi Abhinav,

I think most of your questions have been answered in my reply to your reply to Sylvain's mail; basically, yes, you need to use a sampling rate >=196kHz, but no one is stopping you from putting any signal into that sampling rate that has a smaller bandwidth. See my comments on oversampling.

Best regards,
Marcus

On 10/21/2015 08:37 PM, abhinav narain wrote:

Hi Marcus,

On Wed, Oct 21, 2015 at 3:18 AM, Marcus Müller <address@hidden> wrote:
Hi Abhinav,

which USRP are you using?
USRP N210
 
I'm pretty sure none of our devices supports a 2kS/s sampling rate -- it's just far too low to get directly interpolated to a "usable" DAC/ADC rate. Especially those USRPs that can be equipped with RF frontends (daughterboards) that can operate at near-baseband (400kHz) shouldn't be able to work at such low rates. So: which daughterboard are you using?

I see your point, I am using Basic TX/RX daughterboard.
I didn't notice the shell output but it makes sense now :

Terminal output:
    The hardware does not support the requested TX sample rate:
    Target sample rate: 0.001000 MSps
    Actual sample rate: 0.195312 MSps
-- Tune Request: 0.400000 MHz
--   The RF LO does not support the requested frequency:
--     Requested LO Frequency: 0.400000 MHz
--     RF LO Result: 0.000000 MHz
--   Attempted to use the DSP to reach the requested frequency:
--     Desired DSP Frequency: 0.400000 MHz
--     DSP Result: 0.400000 MHz
--   Successfully tuned to 0.400000 MHz 


Basically, the minimum sampling rate is 196 Ksamples/sec

Hence, UHD should have told you that you can't use that sampling rate, and a higher sampling rate was automatically selected, inherently frequency-"stretching" the signal by the ratio of (actual rate/2kHz).

You should heed Sylvain's advice. Just oversample your signal by using an interpolating FIR filter to something that the USRP can happily work with.

So, here is what I am not clear about- I should use 196 KHz as sampling rate ? 
So, the minimum BW of my signal will 196/2 =98KHz, and that is the best I can do with this equipment, right ?



 
Best regards,
Marcus

On 21.10.2015 08:49, abhinav narain wrote:
Hi,
I am transmitting using the flowgraph: vector src-> FIR interpolator (with RRC filter as below) -> MultiplyConst -> USRP Block

FIR filter - firdes.root_raised_cosine(32, samp_rate, sps, 0.55, int(11*sps*32)), with
center freq= 400kHz 
samp_rate= 1k

I am listening using other USRP with
center freq= 400kHz
samp_rate= 2k 


You can see the spectrogram at the receiver. I want to do narrowband(1 kHz) transmission hence I am keeping the sampling freq at transmitter at 1k.

While I increase the signal amplitude(using MultiplyConst block with slider), I see there is more and more spillage of energy in the neighboring frequencies!

Is there a way to remove that spillage from the transmitter and have a cleaner transmitter ?
If not, how can I atleast mitigate it to the minimum ? is there something I can do with RRC filter parameter or any other way ?

In the figure: 1 - when amplitude is large; 2 - when amplitude is turned down

Thanks,
Abhinav  


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio






reply via email to

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