maybe you can help me to find some example of recorded files with iq
stream, so I will understand it's values please.
it may help

пн, 31 мая 2021 г., 20:35 Marcus D. Leech <[email protected]>:

> On 05/31/2021 09:07 AM, Alexey Silyuk wrote:
>
> Thanks for the answer, so what is the order of pushing samples to the mock
> buffer? if i want to ensure that i am receiving correct data i pushed after
> calling recv() using float or double type?
>
> The ordering on the "wire" is IQIQIQIQ, and similarly on the
> converted-to-host-format side.
>
>
>
> пн, 31 мая 2021 г. в 15:44, Marcus D. Leech <[email protected]>:
>
>> On 05/31/2021 08:30 AM, Alexey Silyuk wrote:
>> > HI everybody, I am new at mailing list.
>> > These days I am writing an emulator for emulating tx/rx streams based
>> > on uhd 3.15LTS
>> > I am using device usrp2 device from uhd/lib.
>> > As I saw in examples (rx_samples_to_file), I am creating a mock
>> > streamer ( taken from uhd tests ).
>> > and now i want to push samples inside the buffer.
>> > I see that i can define type of samples, if am using 'short' type of
>> > samples, I am creating uint32_t variable, 16 MSB i put real part of
>> > sample, and 16 LSB i put imaginary part of sample (i am using little
>> > endian)
>> > After that i am calling usrp->recv() and i get samples as i defined (
>> > spp is 2000)
>> > (0,0)
>> > (2,2)
>> > ....
>> > (1999,1999)
>> > as expected, according to data I push to the mock buffer.
>> >
>> > now while i want to use type 'float' i am using for example
>> > float real = 1.5
>> > float imag = 2.5
>> > and trying to push sample to the mock buffer, i am doing:
>> > buffer[0] = (uint32_t)real;
>> > buffer[1] = (uint32_t)imag;
>> >
>> > and expecting to get after calling usrp->recv()
>> > (1.5, 2.5)
>> > but i get incorrect result (convertor settings: cpu_format "fc32",
>> > otw_format "sf16" )
>> >
>> > i am printing real and imag parameters as bitset<32> and see in real
>> > part, in 16 LSB part of result, my 16 MSB bits from sample value 1.5,
>> > and in imagine part zeros, in next sample i see in 16 LSB part of
>> > result, 16 MSB bits of sample value 2.5. I mean one sample i push to
>> > buffer uses whole sample after calling recv()
>> >
>> > P.S i set scale factor to 1.0
>> >
>> > What am I doing wrong to use the type 'float' and 'double' for mock
>> > samples?
>> > I am new at usrp so I don't understand what samples I should use, will
>> > be glad to get references.
>> > Thanks
>> >
>> >
>> Your OTW format is still SC16 -- normally only the *HOST* side uses
>> floating-point and no actual USRP devices that I'm aware of can
>>    support floating-point *ON THE WIRE* (OTW).
>>
>> _______________________________________________
>> USRP-users mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>>
>
>
> _______________________________________________
> USRP-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
>
> _______________________________________________
> USRP-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to