Re: [Discuss-gnuradio] Audio Sample rate problem
for future searches and in case it's linux, i did this when i bumped into the same problem a while ago: $ cat ~/.asoundrc pcm.rate_convert { type plug slave { pcm hw:0,0 rate 32000 } } bst, opt Bob McGwier rwmcgw...@gmail.com writes: In gnuradio-examples/python/audio there is a completely worked out example block to do EXACTLY what was requested, go to and from 32000 and 48000. It is good practice to look in the examples directory because with very high probability, the developers who check stuff in have faced the kinds of problems you want to tackle. Ask after you have looked there. In this case it is test_resampler.py It does a PERFECT 3/2 polyphase resampling ( and back 2/3) since that is a rational fraction, not an approximation. If you use the low_pass_2 filters, you gain better control over the number of taps required. It uses the brilliant study by fred harris of finding the minimum number of taps that will just exceed the number required to get in band ripple, transition bandwidth, and stop band rejection you are targeting. Bob davek wrote: On Tue, Jul 7, 2009 at 11:20 PM, Abdalla Sokarabdallaso...@yahoo.com wrote: thanx very much this way really worx and wonderfully too --- On Wed, 7/8/09, davek davidki...@gmail.com wrote: From: davek davidki...@gmail.com Subject: Re: [Discuss-gnuradio] Audio Sample rate problem To: Abdalla Sokar abdallaso...@yahoo.com Date: Wednesday, July 8, 2009, 5:14 AM i dont know much about this so it might be wrong but if you cant figure it out you could put a fractional interpolation filter before your audio block set to 2/3 On Tue, Jul 7, 2009 at 8:58 PM, Abdalla Sokarabdallaso...@yahoo.com wrote: my audio sampling rate is 48000 not 32000 so all the the gnu examples that output an audio dont work and due to this 48000 i cant configure the decimation and interpolation to be even integers as required so is there away to change sampling rate of my audio card to 32000 i am using Dell Inspiron 1525 with ubuntu 9.04 with the latest version of GNU and my USRP is rev 4.2 Please i need help ASAP Thanx ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] question regarding usrp_fft.py
Good day to all, i have some question regarding the y-axis in usrp_fft.py.. it is labeled in unit dB. so how does it convert from ADC value to dB? the output from after c2mag block we got the magnitude value of the power isn't it? so how does from the ADC value it convert to the power? what is the formula? second, what is this formula mean? log = gr.nlog10_ff(10, self.fft_size, -20*math.log10(self.fft_size)-10*math.log10(power/self.fft_size)). i think this is to convert from power in magnitude domain to dB.. is it? what is the actual formula on this? thank you very much in advance Adib -- View this message in context: http://www.nabble.com/question-regarding-usrp_fft.py-tp24440532p24440532.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] question regarding usrp_fft.py
one more question, if the y-axis is in dB so this picture show the reading of around -42dB.. this reading is taken without any transmission in 2.5G channel which mean it is the reading of noise level. so isn't -42dB is very high for noise? thanks http://www.nabble.com/file/p24440598/noise%2Bpower%2Bmeasurement%2Bin%2B2.5GHz.png noise+power+measurement+in+2.5GHz.png -- View this message in context: http://www.nabble.com/question-regarding-usrp_fft.py-tp24440532p24440598.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] question regarding usrp_fft.py
Hi, --- On Sat, 7/11/09, adib_sairi adib_sa...@yahoo.com wrote: i have some question regarding the y-axis in usrp_fft.py.. it is labeled in unit dB. so how does it convert from ADC value to dB? Using the formula below. second, what is this formula mean? log = gr.nlog10_ff(10, self.fft_size, -20*math.log10(self.fft_size)-10*math.log10(power/self.fft_size)). Adib This formula is used to convert the FFT output value to dB. This is relative conversion and the values does not mean actual power because the actuall power value depends on other factors such as RF gain used. What is meant by relative, is that if the input signal power is (for example) -20dBm and we measured it in this formula as (say) 50dB, then when we change the signal power to -30dBm, we get 40dB from the output of this formula. So, lowering signal power level by 10dBm result a 10dB value reduction from the formula output. So, what is the factors that effect dB conversion?. The first value is the FFT size, so that when we change the FFT size, the formula should compensate for this. Second we should compensate for the taps of the window used for FFT (Hanning, Hamming,...etc). Best Regards, Firas ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] question regarding usrp_fft.py
thank you firas for the explanation.. Firas A. wrote: So, what is the factors that effect dB conversion?. The first value is the FFT size, so that when we change the FFT size, the formula should compensate for this. Second we should compensate for the taps of the window used for FFT (Hanning, Hamming,...etc). is the fft_size effect the value of db? for plotting the GUI (the display of the spectrum analyzer) in fftsink_nongl.py, inside the set_data function, we can see that each of the bin of the fft is treated as individual i.e evt.data[0], evt.data[1], evt.data[2], and so on. this data is use to plot the graph inside the GUI of the spectrum analyzer. so if the bin of fft is treated as individual, what is the relationship between fft_size and the db calculation? what is the usage of fft_size in the calculation? if i choose to monitor the 2.5G center frequency, so the evt.data[0] is the place where the 2.5G is right? if the fusb is 4Ms/s and our fft bin is 256, so our bandwidth of monitoring is only 2MHz right? and evt.data[1] to evt.data[128] is the positive side of my signal while evt.data[129] to evt.data[256] is my negative side.. am i right? Adib -- View this message in context: http://www.nabble.com/question-regarding-usrp_fft.py-tp24440532p24442499.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] FFT Plot and Benchmark
Ali Siddiqi wrote: Hi all, I looked at fftsink_gl.py. It couldnt be executed because of import error of fft_window. Also, if in case I manage to run it, still I am finding it difficult to incoporate it in benchmark_tx.py. Can someone elaborate a bit more on how to add FFT sink in benchmark_tx? Regards, Ali Good day, is there any progress in this Mr Ali? i also very interested to try this.. if you have any progress please post it again..:-) thank you very much in advance Adib -- View this message in context: http://www.nabble.com/FFT-Plot-and-Benchmark-tp24405668p24442557.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Frequency dependant behaviour of wired transmission using USRP
Harry Jones wrote: Hello, I am currently doing a project at university on channel sounding. I have been using pseudo-random noise and complex chirps as the base signals in order to do this task. In order to get used to using the USRP, I have been using a coaxial cable of around 3m connecting the two USRPs (on two different computers). I am currently using the DC-30/40MHz daughterboards for the initial test stage. I am using a very basic transmission and receive structure. I write a file in MATLAB, generally pseudo-random noise, read this in Python and then use it as a vector source into the USRP. The transmit works fine and has been tested using oscilloscopes etc. The received side takes the data into a complex file sink. The receive end also takes in data well. I am running a NetBSD system which has proven itself to work well. When I look at the frequency content of the received data however I see a strange tappering on the low/high frequencies sides of the signal, almost as if the coaxial cable is applying a bandpass filter to the data (I apply an FFT to the data on MATLAB after receiving it. For example I take a 1000 chunk of the data, if the transmitted data was 1000 long, I then take a complex fft.). The complex chirp and PR noise are both spectrally flat and should not be changed drastically by the wired channel. When I do a time domain cross correlation, I get nice delta-esque peaks, which implies that the impulse response of the wired channel is a delta (what I expect). Thus the frequency domain and time domain descriptions are conflicting. I have: - Checked this phenomenom at DC, still occurs - Occurs at 10MHz and 20MHz (the coaxial should surely work up into the GHz range) - Changed USRP, still occurs I believe you are seeing the rolloff of the CIC interpolator. If you use a lower interpolation ratio in the FPGA and do some interpolation in software, you should see it much flatter. In any case, you can't expect to use 100% of the nyquist bandwidth in any real DSP system due to practical filter rolloff issues. Matt ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] question regarding usrp_fft.py
Hi, --- On Sat, 7/11/09, adib_sairi adib_sa...@yahoo.com wrote: so if the bin of fft is treated as individual, what is the relationship between fft_size and the db calculation? what is the usage of fft_size in the calculation? Ok let me explain. Let x(n) = cos(2*n*PI*f/fs) , n=0,1,2,..,N Now take the FFT 3 times with N = 256, N = 1024 and N = 2048. You will see that the output of the FFT X(n) will be different in magnitude for the same input sequence because of different FFT size. The spectrum shape is similar in the 3 cases, but the the amplitude of each spectrum bin is different. if i choose to monitor the 2.5G center frequency, so the evt.data[0] is the place where the 2.5G is right? if the fusb is 4Ms/s and our fft bin is 256, so our bandwidth of monitoring is only 2MHz right? and evt.data[1] to evt.data[128] is the positive side of my signal while evt.data[129] to evt.data[256] is my negative side.. am i right? No some numbers are wrong. Assuming complex samples, when Fusb is 4MB/s the bandwidth is 1 MHz (2 bytes for I and 2 for Q). For FFT 256, evt.dat[0] is the center frequency (2.5G in your case) evt.data[1] to evt.data[127] is the positive side and evt.data[128] to evt.data[255] is the negative side. BR Firas ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Having a higher samples per symbol (greater than 7) with lower bitrate
Hi, the maximum samples per symbol value that benchmark_tx has is 7. What happens if I change it to a higher value and reduce the bitrate such that the usrp constraints are still met. I read somewhere that having a sample per symbol value greater than 7 is impractical. Why? ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio