- AuthorSearch Results
Found in Replies
Justin Crooks posted on August 25, 2016 at 9:06 am View this post
Justin CrooksModeratorSadak,
Yes, the resolution bandwidth, or RBW, is essentially the resolution of your frequency readout. For exact frequencies we have two tools: the frequency difference meter, and the modulation analyzer in zero span.If you are looking for precise numeric calculations on an exact frequency, I would encourage you to use our API to acquire I/Q data, which can be processed to provide whatever measurements you desire.
Found in Replies
Andrew posted on August 23, 2016 at 11:01 am View this post
AndrewModeratorSadak,
There is unfortunately no way to directly pre-calculate beforehand the bin size because we create the window function at the time of saInitiate(). Other analyzers might use fixed windows and zero-padding which would allow you to pre-calculate the bin size beforehand. Depending on the RBW the window might affect the bin size between a factor of 3-6. (ie The bin size is roughly between 3 and 6 times smaller than the RBW), but again, there is no way to fully pre-calculate this value. This is why we provide the bin size with the start frequency, so you can calculate the frequency of any given bin and also target the frequency bin you are interested in with a small amount of arithmetic.
That said… if you require a sweep with a specific bin size spacing, you could convert the sweep the API returns by re-sampling the sweep at the frequencies you want. A very simple algorithm for this would be to simply select the closest bin to the frequency you desire and use this amplitude for your new bin. You would not want to ‘resample’ by a large factor, ideally you are ‘resampling’ by some small fraction to line up the bins on some frequency that is convenient for you. The flattop window would ensure that your peaks would remain. Certain measurements such as channel power might be affected but probably by negligible amounts.
Regards,
A.J.Found in Replies
sadak posted on August 23, 2016 at 10:03 am View this post
sadakParticipantHi Andrew,
Thanks for the quick reply! Thanks for reminding that the window function also plays an important role in it. I’m quite new in this spectrum analyser stuff, my initial thought would be that the bin size is the same as rbw but apparently, it’s not.
It still makes sense to me that the bin size has to be smaller than the rbw in order to make sure that there will be at least one bin that captures the full amplitude of the signal (is this correct?). But it’s still not so clear to me what will be the exact relation between rbw and bin size in the case where a flat-top window is used. Could you please explain this part in more detail?
The motivation behind this question is that I would ideally like to provide the SA124B with a frequency array that I generate myself (thus a particular bin size of my preference). Since I don’t see any way to change the bin_size directly from the provided API, I hope to be able to influence this bin_size setting through the rbw setting.
Speaking of rbw limitation, the limits I found in the SA44B-User-Manual.pdf (your link) is different from the one in https://signalhound.com/sigdownloads/SA44B/SA-API-Manual.pdf
In Page 39 Appendix: RBW and VBW, the first point of the list basically says that only 0.1Hz <= rbw <= 100KHz AND rbw=250KHz are allowed.
This is not consistent with one listed on the SA44B user manual where rbw from 0.1Hz TO 250 KHz as long as the frequency span and start frequency requirement is satisfied.Thanks!
Found in Topics
sadak posted on August 23, 2016 at 8:45 am View this postHi everyone,
I’m currently trying to interface the instrument SA124B with my computer through the API provided by signalhound. I noticed that there’s no way for me to set exact bin size, frequency span, center frequency values that I want. Is this a general feature of the instrument and there’s no way to go around this problem?
If I understood correctly, the saBandwidthClamped status is returned by the saInitiate command when the supplied frequency span setting (or other settings) broke the limit set by the instrument.
Does that mean that the instrument automatically clamps the bandwidth to a certain value? If yes, is it possible to know what value does it clamp to?As far as I have played with the instrument, the only way to change the bin size setting is through the RBW setting. Is this hard-coded in the instrument or there is a formula that governs the relationship between RBW and bin size?
Thanks :)!
Found in Replies
Andrew posted on July 12, 2016 at 11:37 am View this postIn reply to: VSG25A and Matlab
AndrewModeratorHello JosuePareja,
The VSG is not directly able to be controlled in Matlab. You will need to write a small interface between Matlab and our C interface to the VSG to get this to work. The API files are located in the installation directory on your PC, which is probably in the folder C:\ProgramFiles(x86)\SignalHound\VSG25\api. Take a look at the loadlibrary and calllib functions in Matlab for calling into a C DLL on Windows.
If you wish to use Matlab to generate IQ data that you can then load via ARB CSV files, you can do this also. You will need to generate the IQ data in Matlab and then create a compatible CSV file that can be read into our software. You can find several examples of CSV files in the installation directory as well, in the arb_examples folder. Take a look at the “BPSKUnfiltered” or “Chirp” examples for basic examples with text explanations. You will need to adhere to the format exactly otherwise the software will be unable to read the file.
Let us know if you have further questions.
Regards,
A.J.Found in Replies
Andrew posted on July 5, 2016 at 9:44 am View this postIn reply to: Cal Files
AndrewModeratorHello zhubajel,
I apologize, I may not fully understand your question. I will try my best to describe the purpose of the cal files.
The cal files contain the correction information needed for the device to make accurate measurements. The cal files are generated and are different for each device.
Any time you use the API to control the device, the files are stored and read from the ProgramData/ folder. The ProgramData folder is the place Windows expect us to use to store this kind of information.
I have recently emailed you about an issue on a different forum thread, if you would like me to send you the cal file we have for your unit we can so you can verify it is the same as the one pulled from your device. Let me know if you want this in your email reply.
Regards,
A.J.Found in Replies
Justin Crooks posted on June 10, 2016 at 9:12 am View this postIn reply to: FM Demod
Justin CrooksModeratorIf you are referring to frequency vs. time plot or data, you can use our zero span mode for short captures, or our API for continuous I/Q data, which you can FM demodulate using the atan2 function.
Found in Replies
rtcjss posted on June 3, 2016 at 6:16 am View this postIn reply to: SA124B – API – LabWindows/CVI
rtcjssParticipantHi AJ,
Thanks you about your advice.
After doing many changes in sa_api.h file, the compilation success !
But still I get errors after linker. The linker no identify the SA functions.
I try to change the Linker parameters.
Best Regards,
JSSFound in Replies
Andrew posted on June 2, 2016 at 3:33 pm View this postIn reply to: SA124B – API – LabWindows/CVI
AndrewModeratorHello rtcjss,
I personally have never used CVI but I have seen these types of issues before. You are seeing this because our API is not 100% C compatible. It is going to complain about missing typedefs on the enums and structs and maybe a few other things. I think if you addressed this, the CVI compiler would be able to parse our header file without errors. This is just a guess though. Without CVI, I cannot test this.
Regards,
A.J.Found in Topics
rtcjss posted on June 2, 2016 at 1:51 pm View this postTopic: SA124B – API – LabWindows/CVI
in forum SA Series DiscussionsI try to write an application for the SA124B with LabWindows/CVI under Win7. I use the sa_api.h, sa_api.lib and sa_api.dll files. (x64)
Unfortunately the compilation its not success.
I receive many errors for the sa_api.h.
Does anyone know the problem ?
The sa_api.h File is suitable to work with CVI ? or need to make changes ?
I look for help!Attachments:
You must be logged in to view attached files.Found in Replies
Justin Crooks posted on June 1, 2016 at 9:16 am View this post
Justin CrooksModeratorDear G. Grasso,
These legacy APIs are no longer supported. I have had reports that the 64-bit API, when paired with a low latency kernel, works reasonably well.
Your best bet is Windows (x86/x64) which is our tried and true OS. If you must use Linux, try either the x64, or 32-bit ARM (Raspberry Pi 2-like processors).
We’ll remove the 32-bit link from our website to avoid this problem in the future.Found in Replies
Andrew posted on June 1, 2016 at 9:14 am View this postIn reply to: Spike
AndrewModeratorHi Everyone,
Today we are releasing version 3.1.0 of the Spike software. With this comes EMC pre-compliance measurements and features for the BB60A/C users, frequency difference meter utility, temporary time base adjustment utility, ability to hide control panels, and we moved the API files out of the installer into their own separate download. Check out the change log on http://www.signalhound.com/Spike for more details.
Also keep an eye out for the next update where we will be attempting to resolve many of the text scaling issues for high DPI displays.Regards,
A.J.Found in Topics
g.grasso posted on May 26, 2016 at 8:53 am View this postHello,
I downloaded the Linux 32-bit Linux API files from the support section of your website and tried to compile the provided test program on a 32bit linux machine.
The compilation process halts with the following errors:
/usr/bin/ld: i386:x86-64 architecture of input file `libSHLAPI.a(main.o)’ is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `libSHLAPI.a(myFFT.o)’ is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `libSHLAPI.a(MeasRcvr.o)’ is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `libSHLAPI.a(USBInterface.o)’ is incompatible with i386 outputWhich means that the libSHLAPI.a was compiled on 64bit architecture machine, as confirmed by the following command:
objdump libSHLAPI.a -a
In archive libSHLAPI.a:MeasRcvr.o: file format elf64-x86-64
rw-r–r– 0/0 5440 Jul 18 21:43 2011 MeasRcvr.oUSBInterface.o: file format elf64-x86-64
rw-r–r– 0/0 24392 Jul 18 21:43 2011 USBInterface.omain.o: file format elf64-x86-64
rw-r–r– 0/0 42048 Jul 18 21:43 2011 main.omyFFT.o: file format elf64-x86-64
rw-r–r– 0/0 15048 Jul 18 21:43 2011 myFFT.oPlease provide a download link for the 32bit version of the library.
Thank you
Found in Replies
Andrew posted on May 26, 2016 at 7:47 am View this postIn reply to: BB60C API library in ELF format
AndrewModeratorHi bbowar,
We distribute a linux build of the BB60 API on the BB60 downloads page. Usually it is a few versions behind the main distribution.
You will find it near the top of the list on this page
https://signalhound.com/support/downloads/bb60c-bb60a-downloads/Regards,
A.J.Found in Topics
bbowar posted on May 25, 2016 at 12:14 pm View this postTopic: BB60C API library in ELF format
in forum BB Series DiscussionsI wrote a 32bit program using your API to communicate with the SA44B unit. I am now trying to write a 64bit application using your API to communicate with the BB60C. My problem is I am getting unresolved external error on ilink64 call. According to the documentation the linker is expecting .o or .a files, not a .lib. I was using the bb_api.lib in the x64 folder. In the 32bit application I had to convert sa_api.lib to sa_apiomf.lib using coff2omf converter. That same converter fails on the 64bit version of the library. Do you supply the library in a .a format (ELF) or is there a converter to convert from .lib to .a?
Found in Replies
Justin Crooks posted on May 16, 2016 at 9:07 am View this postIn reply to: Noise Bandwidth of Resolution Bandwidth Filter
Justin CrooksModeratorbbowar,
The algorithm is basically the same, but with the SA44B, software image and spur rejection is on by default, and this can cause inaccuracies if the signal changes rapidly. The BB60C defaults to using only hardware image and spur rejection, so it is immune from this added measurement error, and will be more accurate for dynamic, real-world signals.
Found in Topics
Anonymous
Anonymous posted on April 29, 2016 at 3:48 am View this postTopic: Spike is working with VMware 8.1.1
in forum General DiscussionsSpike is now working with the new VMware update 8.1.1 !
Tested on a Macbook Pro (OS X El Capitan Version 10.11.4) with Windows 7 and Windows 10 and BB60C
Found in Replies
dept911 posted on April 12, 2016 at 4:43 am View this post
dept911ParticipantAndrew,
Thanks for your rapid response. However, When I click on the following
File>Import>Limit Line TableIt opens a file window to open the .csv file for the limit lines. No apparent opportunity to clear limit lines.
..Harold
Found in Topics
Saira Khan posted on March 20, 2016 at 5:03 am View this postTopic: Api can use in Linux ?
in forum VSG Series DiscussionsHello
Can we use vsg25 api in Linux or Ubuntu environment?
we want to use VSG API our own Linux based QT Application.Thanks
SairaFound in Topics
bbowar posted on March 3, 2016 at 10:01 am View this postTopic: SA_API Problem with old Borland Compiler
in forum SA Series DiscussionsI was trying to build a C application using my Borland C++ compiler. Application compiles and links, but when I run the application I get the following error: Access violation at address 6D4E2152 in module ‘sa_api.dll’. Write of address of 00000064. This error occurs on the saOpenDeviceBySerialNumber() function call. Any idea of what the problem may be?
- AuthorSearch Results