Forum Replies Created
- AuthorPosts
AndrewModeratorAndrew August 4, 2015 at 9:29 am in reply to: How to set the BB60C into direct RF mode using APIs? //php bbp_reply_id(); ?>
Hello Guoan,
You can use the BB_DIRECT_RF flag in this manner,
bbInitiate(handle, BB_STREAMING, BB_DIRECT_RF);In this mode you will receive 80MS/s 16-bit direct RF samples. In the frequency domain, you will measure frequencies from 0Hz to 40MHz, but there is a low pass filter that is roughly around 27MHz. The LO conversion stages are bypassed in this mode, resulting in exceptional RF performance. The samples are full scale.
Regards,
A.J.
AndrewModerator- This reply was modified 9 years, 6 months ago by
Andrew.
Andrew August 4, 2015 at 8:41 am in reply to: What is the bbFetchRaw data buffer format while using the BB_STREAM_IF flag? //php bbp_reply_id(); ?>
Hello Guoan,
If you use the BB_STREAM_IF flag, the data format is 80MS/s 16bit IF samples. This is the raw data format used internally in the API to create the I/Q data. The samples are full scale and un-calibrated. The center frequency you select should be a multiple of 400kHz. In the frequency domain the IF passband will be centered between 0 Hz and the Nyquist frequency (0.5*fs). The timebase error is not accounted for so frequency will not be exact. Decimation and bandwidth do not apply, it is always 27MHz bandwidth and 80MS/s for the BB60C.
The only benefit to this is that in this mode, the CPU load is very low, since almost no processing is performed on the data, it is simply handed off straight from the device.
Regards,
A.J.
AndrewModeratorAndrew August 3, 2015 at 10:40 am in reply to: API 3.0.5 and using saConfigSweepCoupling //php bbp_reply_id(); ?>
Hello Adrian,
No, the API will not change RBW or VBW (when using non-native RBWs) but the API expects that the user will set reasonable values and can fail if the values create an undesirable sweep. The sweep configuration you listed will result in a 90+ million point sweep, which will likely cause the system to run out of memory attempting to allocate the memory for that size of sweep. For multi-GHz spans, considers RBWs like 30kHz or 100kHz. A good estimate for the size of the sweep to be returned is 3 * (span / rbw) for non-native RBWs. If you use the Native RBW settings, there are fixed RBW values that your selection will be clamped to.
If you need an earlier API version, email me at aj@signalhound.com and tell me which device and version you are looking for.
Regards,
A.J.
AndrewModeratorHello Paul,
Currently there are no files available for download to run in the software, but we have a number of videos online showing the software operation I can link.
In-depth review of BB60C and software. The device is different but the software is the same for the BB60C and the SA44B. A majority of the software features are shown in this video.
https://www.youtube.com/watch?v=3txkDU-qy9kShowing off Network Analysis
https://www.youtube.com/watch?v=hxUZx-9DMYgSpectrum analysis and zero-span
https://www.youtube.com/watch?v=R-cg5v_KgNsFeatures/Marketing video
https://www.youtube.com/watch?v=LOFTYcGWOpwOur recording files are limited to standard spectrum analysis, so these videos will show much more of the software than is available playing back a file.
Regards,
A.J.
AndrewModeratorHello jyaron,
For the CPU type you mentioned, you can expect CPU usage between 5-20% depending on which type of operation you are performing. The real-time spectrum analysis mode is going to have the highest CPU usage, followed by zero-span and modulation analysis operations, followed by standard spectrum analysis. For standard spectrum analysis we have an option to introduce a delay between screen updates which slows down the update rate and lowers CPU usage.
Regards,
A.J.
AndrewModeratorAndrew July 31, 2015 at 9:02 am in reply to: SPIKE Software: No center graphical display //php bbp_reply_id(); ?>
Hello sxb7510,
This behavior is due to the graphics card not meeting the recommended minimum. For the Spike software we specify a graphics card with OpenGL 2.0 support at minimum. If you look up your GPU model you might be able to find information about it, and maybe updated drivers. Otherwise Spike will be unable to run on this PC. I apologize for the inconvenience.
Regards,
A.J.
AndrewModeratorAndrew July 30, 2015 at 8:39 am in reply to: Can the data retrieval API's be called repeatedly after single bbInitiate ? //php bbp_reply_id(); ?>
Hello Patrick,
Good questions. To start, no, the bbInitiate function does not need to be called for each data acquisition. If you use the initiate function to configure a particular sweep, you may continue to acquire sweeps until you call the bbInitiate function again. bbInitiate must be called to change configuration though. If you are sweeping, the bbInitiate function is nearly instantaneous (no hardware involvement is required). Most of the work done is pre-allocating memory and processing classes. So even if you need to rapidly change sweep parameters this will appear instantaneous. If you are streaming I/Q data, the initiate function takes about 17ms using BB60C firmware version 6, and ~750ms using firmware version 5 or less. The long delay for firmware version 5 is due to inefficiencies in shutting down the data stream to the PC. We have very recently corrected this and released it as a firmware update (ver 6). New units will ship with this, and old units can upgrade. You must be using the latest API to get the low I/Q switch speeds. (API version 3.0.6)
Our spectrum analyzer software uses the same exact API we provide users.
Regarding GNURadio, currently we do not have support for it, nor do we plans for building the necessary interface. We would love to, but we have limited programming resources.
Regards,
A.J.
AndrewModeratorI can’t speak for the RSA306, but the BB60C has sweep support (step, acquire, step, etc) at the firmware level. Sweep speed on the BB60C is truly hardware limited.
Regards,
A.J.
AndrewModeratorHello Cyounkins,
I apologize, this appears to be a limitation that was arbitrarily set. If you email me I can send you a version of the software which has this limitation removed. Email me at aj@signalhound.com.
Make sure the latest version is installed (3.0.11) and I will send you a new file for the fix. Let me know if you install the 32-bit or 64-bit version.
Regards,
A.J.
AndrewModeratorHey Jyaron,
There is no immediate plans to include this type of functionality, but in the near future we will be addressing a number of EMI/EMC type measurements and peak tables is one we will likely be adding. This looks to be a very similar type functionality.
Regards,
A.J.
AndrewModeratorHello Mark,
Email justin@teplus.com and explain that you want the TG124A API for Windows. He will send you a small C API for it. We do not provide the source code, only the C interface.
Regards,
A.J.
AndrewModeratorHi Mark,
I do not believe we have a way to control the TG124A on Linux. Our TG control app is on Windows only. I apologize for the inconvenience.
Regards,
A.J.
AndrewModeratorHello Brainliterral,
Someone here may be able to provide you with some materials to get you going. Signal Hound does not currently have any documentation on interfacing our APIs in Matlab. You will need to learn the API enough to make function calls to it in Matlab. You can find our API manuals in the api/ folder in the installation directory. Matlab provides documentation for calling functions in a DLL.
http://www.mathworks.com/help/matlab/using-c-shared-library-functions-in-matlab-.html
Regards
AndrewModeratorAndrew July 20, 2015 at 7:44 am in reply to: How to get the power in the specific frequency with api? //php bbp_reply_id(); ?>
Hello David,
Please email me at aj@signalhound.com.
Send me the source file you are working with, I would be happy to look it over. It sounds like you are doing everything correctly, but I would like to verify it.Regards,
A.J.
AndrewModeratorAndrew July 19, 2015 at 2:19 pm in reply to: How to get the power in the specific frequency with api? //php bbp_reply_id(); ?>
Hello David,
What is the frequency of the bin you are sampling? You can determine the frequency of any point in the resulting sweep with the formula
f = start + index * bin_size;
Replace index with sweepLen/2 for your example. The center point is not necessarily the center frequency of the sweep. Use the equation to get the index of the frequency you desire.
Also, without knowing your specific application, you will likely want to sample the returned ‘max’ array. Depending on RBW and VBW they are not necessarily the same when the SA_MIN_MAX detector is selected.
Let me know if this does not resolve the discrepancy you are seeing.
Regards,
A.J.
AndrewModeratorAndrew July 14, 2015 at 9:24 am in reply to: Broadcast masks (built-in) for Spike? //php bbp_reply_id(); ?>
Hey John,
Broadcast masks were one of the features that has yet to make it into the Spike software. It is a feature we want to add back in at some point though. I did ensure that Spike can be installed side-by-side with the old software (2.18) in the event you need to use any features that are not in Spike yet. I do apologize for the inconvenience.
I do like the idea of creating a CSV that can dynamically create the limit lines. I can’t offer that at this moment though, but I can point you to the documentation that we used to create the AM/FM masks, http://www.nrscstandards.org/DocumentArchive/NRSC-G201.pdf.
Regards,
A.J.
AndrewModeratorAndrew July 14, 2015 at 9:04 am in reply to: SA44B: slow sweep speed with Spike //php bbp_reply_id(); ?>
Hi Tom,
The 5 MHz RBW for SA44B is not something that has made it over to the Spike software at this point. It is something we want to add back in eventually. The old software (2.18) can be installed side-by-side with Spike if you need to use this functionality for the time being. I apologize for the inconvenience.
Regards,
A.J.
AndrewModeratorAndrew July 9, 2015 at 10:45 am in reply to: Streaming IQ frequency change delay //php bbp_reply_id(); ?>
Hello Catalin,
Thank you for bringing this up. This is a limitation of the design, and something we have been wanting to address. We spent some time this morning revisiting this and we may have a future solution. I will try to keep you up to date, this is something that we could maybe address in the coming weeks. Email me at aj@signalhound.com so I have your email, and I can notify you when/if we have a solution.
Regards,
A.J.
AndrewModeratorAndrew July 2, 2015 at 8:20 am in reply to: Actively change reference levels in LabView //php bbp_reply_id(); ?>
Hello Sarah,
I do not have enough familiarity with Labview to resolve this I believe. My co-worker is the one familiar with Labview. He is on vacation and will be back next week. Email justin@teplus.com and he will get back to you.
Some notes: The function should take a pointer to an array very similarly to the get sweep functions. Labview might treat integer arrays differently. You can see this function in action if you start the Spike software with no devices attached, then plug in both devices and go to the File -> Connect menu. You should see a list of your devices which is generated with the GetSerialNumberList function. The serial numbers will not appear if the devices have been opened with the saOpenDevice function. If either parameter is null then the function will return early as well.
Regards,
A.J.
AndrewModeratorAndrew June 30, 2015 at 5:50 pm in reply to: Spike graticule display region sizes wrong, obscuring borders //php bbp_reply_id(); ?>
Hi crcarle,
Yes, we are aware of the scaling issues and we will address them in a future update. We do not have a time frame yet on when that will be though. I apologize for the inconvenience.
Regards,
A.J.- This reply was modified 9 years, 6 months ago by
- AuthorPosts