|
From: | abhinav narain |
Subject: | Re: [Discuss-gnuradio] How to minimize Spillage of energy in neighboring frequencies while transmission |
Date: | Mon, 26 Oct 2015 13:28:36 -0700 |
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 N210I'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 MSpsActual 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)), withcenter freq= 400kHzsamp_rate= 1k
I am listening using other USRP withcenter freq= 400kHzsamp_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
clock_6_transmitter.grc
Description: application/gnuradio-grc
clock_6_receiver.grc
Description: application/gnuradio-grc
[Prev in Thread] | Current Thread | [Next in Thread] |