You can edit the auto-generated Python code to start a thread that periodically calls:

  file_sink.open(next_file_name, repeat=1)

for example. A tag is added whenever a repeating file restarts, if that helps at all. There is no way to play a list of non-repeating files with this block, but you could externally "cat" them into a flowgraph that gets samples from stdin.

On 05/31/2018 04:36 AM, Marcus Müller via USRP-users wrote:
That's a bit of a GNU Radio more than a USRP question, but
nevertheless:
You can't do that with the existing file_source. You'd need to extend
the file_source's C++ or write your own block that does that cycling.

Best regards,
Marcus

On Wed, 2018-03-21 at 17:07 +0000, Benny Alexandar wrote:
Hi Marcus,

Yes, I added a resampler to upsample by 250kHz and scaled the IQ
samples by dividing it with 2**16, since each IQ is of 16bit.
With this it started to work.

Now, I want to keep changing the IQ file at run time. I have a lot of
IQ files in current folder, which I want to use for transmission
for certain time say after running one IQ file for 2 min, change the
IQ file, this should keep continuing.

I had a look at the python code grc generated, and it basically
creates a class which initializes with the specified IQ file and
creates the connection
and runs.

How do I change this python code so that it can loop over all IQ
files in  the folder, any example python code available ?

Please help me in setting it up.

-ben


From: USRP-users <[email protected]> on behalf of
Marcus Müller via USRP-users <[email protected]>
Sent: Wednesday, March 21, 2018 2:10 AM
To: Marcus D. Leech; [email protected]
Subject: Re: [USRP-users] IQ transmission using grc
Hi ben,

also, no USRP can directly deal with a sampling rate as low as 48 kHz
–
you'll first have to resample to a rate that your USRP can deal with.
In case of the N210, these frequencies are integer fractions of 100
MHz
i.e. 100 MHz / N, with the restriction that N be an integer 3 < n <=
128 , an even integer 2 < n <= 256 or an integer multiple of 4 <=
512.

tx_samples_from_file can't resample – you should have been getting
UHD
warnings about impossible sampling rates; your IQ file has simply
been
played back at a higher rate.

Best regards,
Marcus

On Tue, 2018-03-20 at 12:58 -0400, Marcus D. Leech via USRP-users
wrote:
On 03/20/2018 12:37 PM, Benny Alexandar via USRP-users wrote:
Hi,

I have an IQ file sampled at 48kHz and want to transmit through
gnu
radio. The IQ samples are each 16bit, and stored interleaved in a
file
ie, IQIQIQIQ... I 16 bit and Q 16bit

I tried creating a grc using iShort to Complex block and send to
USRP sink block (usrp n210), but the signal received is
distorted.
Do I need to convert the short values into float -1.0 to +1.0
before transmission. Please help in resolving it.

I want to use it only through grc and not to use
tx_samples_from_file which does the same.

-ben

  You'll need to scale your samples into {-1.0,1.0}



_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to