Re: [Discuss-gnuradio] Saving the I/Q samples of multiple synchronized USRPs
Thanks Marcus. A quick follow-up question: Should the length of my ethernet cables (to the GigE switch from each of the USRPs that I am trying to synchronize) match so that I get time-aligned I/Q samples ? Thanks! On Mon, Jul 18, 2016 at 12:20 PM, Marcus Müller wrote: > They always align at the beginning. The file size difference is really > just because due to the nature of general purpose hardware and GNU Radio's > scheduling, there's no guarantee all blocks have written the same amount of > data when you kill the flow graph. > > Am 18. Juli 2016 17:46:13 MESZ, schrieb avinash kalyanaraman < > avinash1...@gmail.com>: >> >> Thanks Martin. >> >> Is there any particular reason why I see different file sizes for the >> former (file-sink) case? I ctrl+c the hand edited python file to stop >> sample collection. The file sinks are unbuffered. Since they are of >> different sizes, is there a way to know which samples align in time ? >> >> Thanks! >> >> On Fri, Jul 15, 2016 at 5:30 PM, Martin Braun >> wrote: >> >>> This'll work. However, the uhd_rx_cfile utility that comes with GNU >>> Radio will do that for you. >>> >>> Cheers, >>> M >>> >>> On 07/15/2016 11:33 AM, avinash kalyanaraman wrote: >>> > Hi all, >>> > >>> > I want to analyze the I/Q samples of 3 synchronized USRPs (connected to >>> > an Octoclock G). I have synchronized the USRPs according to >>> > http://files.ettus.com/manual/page_sync.html (i.e. I hand-modified the >>> > python file generated by GRC). >>> > >>> > I am feeding the output of my USRP Source block (with 3 channels and 3 >>> > motherboards) to three file sink blocks. Would this be enough to save >>> my >>> > synchronized I/Q samples ? >>> > >>> > I notice that the size of the three files (storing the I/Q samples) >>> > aren't the same after my run. >>> > >>> > Attached is also a screenshot of the GRC file. >>> > >>> > Thanks! >>> > >>> > -- >>> > Avinash >>> > >>> > >>> > ___ >>> > Discuss-gnuradio mailing list >>> > Discuss-gnuradio@gnu.org >>> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >>> > >>> >>> >>> ___ >>> Discuss-gnuradio mailing list >>> Discuss-gnuradio@gnu.org >>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >>> >> >> >> > -- > Sent from my Android device with K-9 Mail. Please excuse my brevity. > -- Avinash ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Saving the I/Q samples of multiple synchronized USRPs
Thanks Martin. Is there any particular reason why I see different file sizes for the former (file-sink) case? I ctrl+c the hand edited python file to stop sample collection. The file sinks are unbuffered. Since they are of different sizes, is there a way to know which samples align in time ? Thanks! On Fri, Jul 15, 2016 at 5:30 PM, Martin Braun wrote: > This'll work. However, the uhd_rx_cfile utility that comes with GNU > Radio will do that for you. > > Cheers, > M > > On 07/15/2016 11:33 AM, avinash kalyanaraman wrote: > > Hi all, > > > > I want to analyze the I/Q samples of 3 synchronized USRPs (connected to > > an Octoclock G). I have synchronized the USRPs according to > > http://files.ettus.com/manual/page_sync.html (i.e. I hand-modified the > > python file generated by GRC). > > > > I am feeding the output of my USRP Source block (with 3 channels and 3 > > motherboards) to three file sink blocks. Would this be enough to save my > > synchronized I/Q samples ? > > > > I notice that the size of the three files (storing the I/Q samples) > > aren't the same after my run. > > > > Attached is also a screenshot of the GRC file. > > > > Thanks! > > > > -- > > Avinash > > > > > > ___ > > Discuss-gnuradio mailing list > > Discuss-gnuradio@gnu.org > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > > > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > -- Avinash ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Low transmission rate on tx_ofdm causes underflow
I wasn't getting anything through. My USRP Sink block had an empty TSB tag name property. I didn't have a TSB tag name = packet_len property. I started getting data across after adding that. On Fri, Jun 24, 2016 at 2:12 PM, Martin Braun wrote: > On 06/23/2016 02:42 PM, avinash kalyanaraman wrote: > > Hi All, > > > > I am doing an OFDM transmission with tx_ofdm.grc and receiving it with > > rx_ofdm.grc. I am using two USRP N210s for this. > > > > I edited the tx_ofdm to set the transmission rate to generate 96-byted > > packets every 10ms via : message strobe-> random pdu generator->pdu to > > tagged stream. > > > > > > However, now I am seeing an underflow ('U') which I think is because my > > application isn't sending data fast enough to the USRP. The USRP > > sampling rate is 512K. > > ...maybe not. Maybe the tagged streams are getting corrupted. Are you > receiving anything? > > M > > > Could you please let me know how I might be able to fix this? > > > > Thanks! > > > > -- > > Avinash > > > > > > ___ > > Discuss-gnuradio mailing list > > Discuss-gnuradio@gnu.org > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > > > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > -- Avinash ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Low transmission rate on tx_ofdm causes underflow
Hi All, I am doing an OFDM transmission with tx_ofdm.grc and receiving it with rx_ofdm.grc. I am using two USRP N210s for this. I edited the tx_ofdm to set the transmission rate to generate 96-byted packets every 10ms via : message strobe-> random pdu generator->pdu to tagged stream. However, now I am seeing an underflow ('U') which I think is because my application isn't sending data fast enough to the USRP. The USRP sampling rate is 512K. Could you please let me know how I might be able to fix this? Thanks! -- Avinash ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Re channel state information on rx_ofdm.grc
Thanks Marcus. Following up on the rx_time format, I notice from the link that the timestamp format is the same as uhd::time_spec_t . Therefore the timestamp printed out on a tag is of the form: full_seconds and a fractional_seconds. For e.g., I see: Offset: 667 Source: n/a Key: rx_time Value: {2317 0.394114} 2317 is the full second and 0.39 is the fraction of that 2317th second ? Could you please tell me what these seconds calculated are with respect to - i.e. 2317 seconds since when ? When does the fraction of second roll over? For example, I see: Offset: 1034 Source: n/a Key: rx_time Value: {2317 1.39162} Offset: 1035 Source: n/a Key: rx_time Value: {2318 0.393495} What does it mean to have a fraction of 1.39 of a second ? Thanks! On Fri, Jun 17, 2016 at 1:12 PM, Marcus Müller wrote: > Hi Avinash, > > that's pretty much a basic OFDM question: > > You take the DFT of the input signal. Hence, the bins of the DFT are > f_nyquist/l_fft spaced. > > Best regards, > > Marcus > On 17.06.2016 17:57, avinash kalyanaraman wrote: > > Thanks Marcus - that helps. > > Could you please let me know what's the bandwidth of each sub-carrier? How > can I calculate that and reconfigure the same? > > > On Sat, Jun 18, 2016 at 12:50 AM, Marcus Müller > wrote: > >> Hi Avinash, >> >> On 06/16/2016 03:29 PM, avinash kalyanaraman wrote: >> >> i) These 64 complex values (a + ib) represent the 64 sub-carriers and I >> can get the amplitude and phase of each sub-carrier as sqrt( a^2 + b^2) and >> arctan(b/a) respectively ? >> >> Yes. >> >> >> ii) I see that the CSI calculation is per tag. I understand from your >> link that the tag represents additional information/metadata attached to a >> specific item. However, in this case, I am unsure what a tag denotes? In >> other words, could you please tell me what a “tag” is being attached to >> here, on which a channel estimate is calculated? >> >> If I remember correctly: >> To the first sample of the "chunk" of samples that were used for >> estimation, that is, on the first sample of the OFDM symbol. >> >> I do think that if you're into channel estimation, reading the source >> code is very much worth your time, and you'll notice variable and method >> names were chosen sensibly to make understanding what's happening easier. >> Go for the get_chan_taps() method in ofdm_chanest_vcvc_impl.cc; you'll find >> it in your GNU Radio source tree; be sure to use a recent version of GNU >> Radio (3.7.7 or later). >> >> >> iii) Please let me know what is the unit of rx_time ? Seconds? >> Offset: 76 Source: n/a Key: rx_time Value: {7 0.303} >> Offset: 77 Source: n/a Key: rx_time Value: {7 0.399} >> >> http://gnuradio.org/doc/doxygen/page_uhd.html >> >> look for "timestamp" on that page. >> >> Best regards, >> Marcus >> > > > > -- > Avinash > > > -- Avinash ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Control the transmission rate of TX_OFDM.grc
Hi All, I am doing an OFDM transmission with tx_ofdm.grc and receiving it with rx_ofdm.grc. I am using the Random Source of the tx_ofdm unmodified. I want to be able to control the packet transmission rate - for e.g. 10 packets every 100ms. How can I modify the grc to be able to do this ? Thanks! -- Avinash ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Re channel state information on rx_ofdm.grc
Thanks Marcus - that helps. Could you please let me know what's the bandwidth of each sub-carrier? How can I calculate that and reconfigure the same? On Sat, Jun 18, 2016 at 12:50 AM, Marcus Müller wrote: > Hi Avinash, > > On 06/16/2016 03:29 PM, avinash kalyanaraman wrote: > > i) These 64 complex values (a + ib) represent the 64 sub-carriers and I > can get the amplitude and phase of each sub-carrier as sqrt( a^2 + b^2) and > arctan(b/a) respectively ? > > Yes. > > > ii) I see that the CSI calculation is per tag. I understand from your link > that the tag represents additional information/metadata attached to a > specific item. However, in this case, I am unsure what a tag denotes? In > other words, could you please tell me what a “tag” is being attached to > here, on which a channel estimate is calculated? > > If I remember correctly: > To the first sample of the "chunk" of samples that were used for > estimation, that is, on the first sample of the OFDM symbol. > > I do think that if you're into channel estimation, reading the source code > is very much worth your time, and you'll notice variable and method names > were chosen sensibly to make understanding what's happening easier. Go for > the get_chan_taps() method in ofdm_chanest_vcvc_impl.cc; you'll find it in > your GNU Radio source tree; be sure to use a recent version of GNU Radio > (3.7.7 or later). > > > iii) Please let me know what is the unit of rx_time ? Seconds? > Offset: 76 Source: n/a Key: rx_time Value: {7 0.303} > Offset: 77 Source: n/a Key: rx_time Value: {7 0.399} > > http://gnuradio.org/doc/doxygen/page_uhd.html > > look for "timestamp" on that page. > > Best regards, > Marcus > -- Avinash ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Re channel state information on rx_ofdm.grc
Hi Marcus, Thanks for the email. I connected the debug tag to OFDM Channel Estimation and noted that the ofdm_sync_chan_taps key has 64 complex values. Could you please confirm the following two things ? i) These 64 complex values (a + ib) represent the 64 sub-carriers and I can get the amplitude and phase of each sub-carrier as sqrt( a^2 + b^2) and arctan(b/a) respectively ? ii) I see that the CSI calculation is per tag. I understand from your link that the tag represents additional information/metadata attached to a specific item. However, in this case, I am unsure what a tag denotes? In other words, could you please tell me what a “tag” is being attached to here, on which a channel estimate is calculated? iii) Please let me know what is the unit of rx_time ? Seconds? Offset: 76 Source: n/a Key: rx_time Value: {7 0.303} Offset: 77 Source: n/a Key: rx_time Value: {7 0.399} Thanks for your help, Avinash ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Re channel state information on rx_ofdm.grc
Hello all, Could you please let me know how I can get channel-frequency response (like channel state information (CSI) ) for an OFDM transmission? I am looking at rx_ofdm.grc to capture the phase and amplitude at each of the 64 sub-carriers. Would connecting the OFDM Channel Estimation Block of the HeaderStream to a FileSink such that item_size is fft_size* gr.sizeof_gr_complex , give me enough information to capture the CSI ? What would be the granularity of the aforementioned calculation? I transmit using tx_ofdm.grc. Please let me know. Thanks! -- Avinash ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio