Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
SimTX Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
SimTX API/Packets/IqStreamDescriptor
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{SimTX API navigation}} {{SimTX packet | name = IqStreamDescriptor | frame = ServerFrame | field = 11 | member = iq_descriptor | direction = s2c | session = [[SimTX API/Receiver session|Receiver]] | roles = <code>ROLE_RECEIVER</code>. | permission = None | answers = [[SimTX API/Packets/ReceiverStart|ReceiverStart]] | group = receiver | file = session.proto }} '''IqStreamDescriptor''' states the parameters of the IQ stream a receiver is about to get. The server sends it once, after [[SimTX API/Packets/SessionStatus|SessionStatus]] <code>BOUND</code> and before the first [[SimTX API/Packets/IqBlock|IqBlock]]. Its values are authoritative and may differ from the request. == Definition == <syntaxhighlight lang="protobuf"> message IqStreamDescriptor { int32 sample_rate = 1; // complex samples per second double center_frequency_hz = 2; int32 chunk_samples = 3; // complex samples per IqBlock SampleFormat sample_format = 4; bool timestamped = 5; } </syntaxhighlight> == Fields == {| class="wikitable" ! # !! Field !! Type !! Description |- | 1 || <code>sample_rate</code> || <code>int32</code> || Negotiated sample rate, complex samples per second. |- | 2 || <code>center_frequency_hz</code> || <code>double</code> || Centre frequency in Hz. |- | 3 || <code>chunk_samples</code> || <code>int32</code> || Complex samples in every following [[SimTX API/Packets/IqBlock|IqBlock]]. |- | 4 || <code>sample_format</code> || [[SimTX API/Data types#SampleFormat|SampleFormat]] || Format of <code>IqBlock.samples</code>. |- | 5 || <code>timestamped</code> || <code>bool</code> || True when every IqBlock carries a first-sample timestamp. |} == Usage == * Size buffers from <code>chunk_samples</code> and <code>sample_format</code>: each [[SimTX API/Packets/IqBlock|IqBlock]] carries exactly <code>chunk_samples Γ 2 Γ bytesPerComponent</code> sample bytes, where <code>bytesPerComponent</code> is 2 for <code>INT16</code> and 1 for <code>INT8</code>. * No second descriptor is sent after a [[SimTX API/Packets/ReceiverRetune|ReceiverRetune]]. Track the frequency from the retune confirmations. == Example == Complete frames, including the varint length prefix. '''<code>iq_descriptor_timestamped</code>''' (server to client, 21 bytes): <syntaxhighlight lang="text"> 14 frame length 20 5A 12 iq_descriptor (IqStreamDescriptor), 18 bytes 08 80 F7 02 sample_rate = 48000 11 00 00 00 00 34 FC 5A 41 center_frequency_hz = 7074000.0 18 80 20 chunk_samples = 4096 28 01 timestamped = true </syntaxhighlight> == See also == * [[SimTX API/Receiver session#Negotiation|Negotiation]] {{SimTX API navbox}} [[Category:SimTX API]]
Summary:
Please note that all contributions to SimTX Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
SimTX Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:SimTX API navbox
(
edit
)
Template:SimTX API navigation
(
edit
)
Template:SimTX packet
(
edit
)