Take a look at "Tagged file sink" block.

2017-05-25 4:35 GMT+03:00 Deepak Gautam <dpaak...@gmail.com>:

>
> On Thu, May 25, 2017 at 10:34 AM Deepak Gautam <dpaak...@gmail.com> wrote:
>
>> Dear  Gilad, paul,luca
>>
>>
>> Thank you for the kind response. Yes, i need the high accuracy and i
>> think i should go with "issue_stream_cmd" method. Before i start working in
>> this method, my concern is whether i can write the different burst in
>> separate file. My main conern is written file size. Because i have to
>> record data for few minutes With my sampling rate of 25msps. I got problem
>> of overflow when i write in normal hard disk. So i am writing data in RAM
>> disk by which i dont get overflow. Due to size limitation of the Ram disk,
>> i will not be able to write all data in one file. If i write in different
>> file, i can move previous files back to hard disk and proceed. If there is
>> a way of writing in a file for 3/4 minutes with 25msps without overflow , i
>> dont need burst reception also. I appreciate your opinion
>>
>> Best regards,
>> Deepak
>>
>>
>>
>> On Sun, May 21, 2017 at 6:24 PM Paul I. <paulneli...@gmail.com> wrote:
>>
>>> You need to use USRP "issue_stream_cmd" method (mode:
>>> STREAM_MODE_NUM_SAMPS_AND_DONE). It's allow to receive burst of data by
>>> USRP timer.
>>> If you work in GRC:
>>> 1) Disable streaming autostart for "UHD source"
>>> 2) Create your own block which will periodically issue stream commands
>>> (yes, you need to pass USRP pointer to it)
>>> a) For stream command set "num_samples" =  sample_rate * 1 sec
>>> b) Read the USRP timer value, add some time offset to it and use this
>>> value as timestamp for the first stream command
>>> c) Increment timestamp after every stream command
>>> ...
>>> 3) Profit!
>>>
>>> 2017-05-20 10:09 GMT+03:00 Gilad Beeri (ApolloShield) <
>>> gi...@apolloshield.com>:
>>>
>>>> If you need accuracy, I think the asynchronous nature of your method
>>>> might problematic (will appreciate input from GR devs).
>>>> Maybe try a different approach - write the samples to a memory buffer,
>>>> then read from the buffer the exact # of samples you want to write to a
>>>> file.
>>>>
>>>> On Fri, May 19, 2017 at 5:02 PM Deepak Gautam <dpaak...@gmail.com>
>>>> wrote:
>>>>
>>>>> Dear luca,
>>>>>
>>>>> I had already tried with controlling flow graph dynamically using
>>>>> start(), stop(), lock(), unlock() function. Here i have the part of code i
>>>>> had used.
>>>>>
>>>>> tb=top_block_cls()
>>>>> count=1
>>>>> tb.start()
>>>>> while (count<5):
>>>>>     time.sleep(1.0)           #data is recorded in the file
>>>>>     tb.lock()
>>>>>     tb.disconnect((tb.uhd_usrp_source_0,0),(tb.blocks_file_sink_0,
>>>>> 0))   #disconnect source and block
>>>>>     tb.blocks_file_sink_0= blocks.file_sink(gr.sizeof_gr_complex*1,
>>>>> filename,False)  # create new file sink to write
>>>>>     tb.connect((tb.uhd_usrp_source_0,0),(tb.blocks_file_sink_0, 0))
>>>>>  #connect source with new file
>>>>>     count=count+1
>>>>>     time.sleep(2.0)           #wait
>>>>>     tb.unlock()
>>>>> tb.stop()
>>>>>
>>>>>
>>>>> This program should write the data for 1 second in the file, wait for
>>>>> 2 second and again write for 1 second to another file and so on for 5 4
>>>>> times. I expect the total data written in the file to be same. But total
>>>>> number of samples recorded in the files are different. for my sampling 
>>>>> rate
>>>>> of 25MSps, it should record 25MS per file, but it is around 22Mega sample
>>>>> with different number of data in different file.  So it is difficult to
>>>>> reproduce the accurate signal from received data . My application requires
>>>>> very good phase coherence. So i am wondering whether there is something to
>>>>> do to solve in this method or i have to think of another idea.
>>>>>
>>>>>
>>>>> Best Regards,
>>>>> Deepak
>>>>>
>>>>>
>>>>>
>>>>> On Mon, May 15, 2017 at 9:02 PM Moritz Luca Schmid <
>>>>> luca.moritz.sch...@gmail.com> wrote:
>>>>>
>>>>>> Hey Deepak,
>>>>>>
>>>>>> my first idea is to reconfigure the flowgraph. You could connect and
>>>>>> disconnect your source for the time, you want to write data in your file
>>>>>> sink and the time you don't want to.
>>>>>>
>>>>>> You can find infos about the flowgraphs operations here
>>>>>> <https://gnuradio.org/doc/doxygen/page_operating_fg.html>.
>>>>>>
>>>>>>
>>>>>> Best
>>>>>>
>>>>>> Luca
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 15.05.2017 13:53, Deepak Gautam wrote:
>>>>>>
>>>>>> Currently i am working in the USRP using GNU Radio for my masters
>>>>>> work. In my transmitter side, i send data continuously from file source
>>>>>> followed by UHD Sink at the rate of 25 MSPS. In receiver side, I want to
>>>>>> write the data in every two/three seconds after receiving from receiver
>>>>>> USRP. Meaning, write data for 1 sec (25M samples), then dont write for 
>>>>>> next
>>>>>> 2 second and again write for 1 sec and so on. Is there any suggestion for
>>>>>> this purpose. I look forward for the resposne
>>>>>>
>>>>>>
>>>>>> Best Regards,
>>>>>> Deepak
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Discuss-gnuradio mailing 
>>>>>> listDiscuss-gnuradio@gnu.orghttps://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>> 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
>>>>
>>>>
>>>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to