[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] buffer sizes, timing and overflows
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] buffer sizes, timing and overflows |
Date: |
Mon, 24 Sep 2007 12:21:26 -0700 |
User-agent: |
Mutt/1.5.9i |
On Mon, Sep 17, 2007 at 08:59:35PM +0300, Juha Vierinen wrote:
> Hi,
>
> I am writing a simple program that stores USRP sampled data and stores
> it on disk continuously in 1s sized files. I have made a new sink for
> this purpose, which is almost identical to gr_filesink, except that
> mine blocks in work() while the file is closed and a new one is
> created.
>
>
> 2) I have managed through trial and error to get a fairly reliable
> 8MHz sampling system using the following parameters:
> fusb_nblocks=32768,fusb_block_size=1024. Is this a good way to make a
> large buffer or should I use some other gnuradio block to create a
> large buffer in RAM?
I wouldn't recommend this.
This forces the kernel to lock down 32MB of RAM, which seems like
total overkill. Do you really need 1 second worth of locked down buffer?
Use something like fusb_nblocks=2048, fusb_block_size=4096.
Increasing the block size to 4k reduces the overhead; setting
nblocks to 2048 gives 8MB of buffer (== 250ms)
You could also enable real-time scheduling using
gr.enable_realtime_scheduling().
> I am hoping to write the data at 8MHz on a
> networked RAID array and this will cause even larger waiting times for
> my filesink, even though the average bandwidth is large enough.
This will probably work.
>
> Gnuradio and USRP is great! I really prefer your system to labview.
Thanks!
Eric