- AuthorSearch Results
Found in Replies
- This reply was modified 10 years, 1 month ago by
Andrew.
Andrew posted on August 4, 2015 at 8:41 am View this post
AndrewModeratorHello 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.Found in Topics
- This topic was modified 10 years, 1 month ago by
guoan.
guoan posted on August 3, 2015 at 8:23 pm View this postHi ,
I noticed that there is a BB_DIRECT_RF flag in bb_api.h, could you please give me an in-depth description on it.
Does the L.O. stoped in directRF mode? Can we get the data stream samples using bbFetchRaw() API function? What’s the freq. range during which directRF can apply ?
Thanks a lot.Found in Replies
Andrew posted on August 3, 2015 at 10:40 am View this postIn reply to: API 3.0.5 and using saConfigSweepCoupling
AndrewModeratorHello 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.Found in Topics
adixmasz posted on August 3, 2015 at 10:06 am View this postTopic: API 3.0.5 and using saConfigSweepCoupling
in forum SA Series DiscussionsHello,
I created Labview drivers for Spectrum Analyzer USB-SA44B, I used API (version 3.0.5). Everything works fine, but I have a few questions about this API.First question ( Sweep Mode),
I set RBW and VBW by saConfigSweepCoupling function. Can API change RBW or VBW without informing user? Can You guarantee me that when I set for example RBW=VBW=100, span = 3GHz, center = 2GHz the device will use this parameters? I would like to change units from dBm to dBm/square root(Hz) so I must be sure about value of RBW.Second question,
I found only a few versions of API. I used the latest version, but I would like to use older version of this software.
Where can I find older versions of API?Best regards,
AdrianFound in Replies
Andrew posted on July 30, 2015 at 8:39 am View this post
AndrewModeratorHello 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.Found in Topics
wpats posted on July 30, 2015 at 12:29 am View this postHi,
I have seen the sample programs in the BB60 API manual. All of them set up some parameters, call bbInitiate, and then call a data retrieval API like bbFetchTrace before closing the device. I want to know if the retrieval API can be called repeatedly in a loop after a single call to bbInitiate ? If this is not possible then there would be an unacceptably large delay if the bbInitiate had to be called within the loop.
This question may sound naïve but I bought a PicoScope USB oscilloscope device only to find out that it requires the equivalent of a (long latency) initiate call before each data retrieval API call. That really makes user written software run at a much lower rate than the hardware is capable of. Only the vendor supplied software exploits the full hardware capacity. I want to know if that is the case with the BB60C too. I saw another post on this forum which said there is a 1 second delay for changing the center frequency in I/Q streaming mode. Why this long latency ? Does it require a call to bbInitiate ?
Also, I have not been able to a find a GNUradio interface for BB60C. Is there GNUradio support being planned ?
Thanks for any info,
–Patrick
Found in Replies
Andrew posted on July 28, 2015 at 11:42 am View this postIn reply to: Linux API for USB-TG124A?
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.Found in Replies
mark@edt.com posted on July 28, 2015 at 11:14 am View this postIn reply to: Linux API for USB-TG124A?
mark@edt.comParticipantAndrew, I do have a Windows machine available. Do you provide source code for the Windows API?
Thanks,
MarkFound in Topics
mark@edt.com posted on July 27, 2015 at 3:48 pm View this postTopic: Linux API for USB-TG124A?
in forum TG Series DiscussionsI need to write a cmd-line app to control the USB-TG124A under Linux. Is there an API or example C++ code?
Thanks,
MarkFound in Replies
Andrew posted on July 23, 2015 at 9:14 am View this postIn reply to: Matlab interfacing
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
Found in Topics
Anonymous
Anonymous posted on July 23, 2015 at 1:26 am View this postTopic: Matlab interfacing
in forum SA Series DiscussionsHow to interface SA44B with matlab to get my output plots in matlab, I am pretty basic and totally ignored of API.
need help thanks in advanceFound in Topics
David posted on July 19, 2015 at 12:39 am View this posthi,I config the device as follow:
central frequency=71Mhz;
span=10Mhz;
RBW=VBW=10Khz;
ref level=-30dbm;Now I want to get the power in the frequency of 71Mhz.My codes is as follow:
saConfigCenterSpan(handle, 71.0e6, 10.0e6); saConfigAcquisition(handle, SA_MIN_MAX, SA_LOG_SCALE); saConfigLevel(handle, -30.0);
saConfigSweepCoupling(handle, 10.0e3, 10.0e3, true);
saInitiate(handle, SA_SWEEPING, 0);
int sweepLen;
double startFreq, binSize;
saQuerySweepInfo(handle, &sweepLen, &startFreq, &binSize);
float *min = new float[sweepLen];
float *max = new float[sweepLen];
saGetSweep_32f(handle, min, max);
float power_71M=min[sweepLen/2];But the result is very different from the result of Spike.Why?
Found in Topics
catalin_ro posted on July 8, 2015 at 11:16 pm View this postTopic: Streaming IQ frequency change delay
in forum BB Series DiscussionsHi!
I’m currently integrating a BB60C in our SDR control application. While the API is quite easy to use, based on our previous experience, I would like to know if there is a way of improving the tuning delay when changing the center frequency of the streamed IQ samples. Right now I see delays of almost one second because of the need to re-initiate the device after each frequency command.
Thanks,
CatalinFound in Replies
sarah.b posted on July 2, 2015 at 5:54 am View this postIn reply to: Actively change reference levels in LabView
sarah.bParticipantHello,
I am now trying to make the saGetSerialNumberList function to work in my LabView program. I would like to be able to list the serial numbers of the devices I have plugged in to my computer. At the moment, I have 2 devices. According to the description in the API manual, I’m doing everything right, but I am never seeing a list of serial numbers. I don’t have the get serial number function connected to any of my other functions because it doesn’t appear to require it. I am giving it an 8D array of int 32 and an int 32 for the deviceCount. Both of these inputs have been defined as pointers as specified in the Manual.
Thank you for your help
Found in Topics
jfluxa posted on June 30, 2015 at 6:41 am View this postTopic: 200 kHz block noise
in forum SA Series DiscussionsHi.
We are using a SA44B as a backend in our educational radio telescope interferometer, operating at 1.4 GHz. The SA44B is controlled from a Linux PC, using CUSBSA API and we have found that the spectrum has a noise that has a sinusoid shape, with ~200 kHz between peaks. We first blamed our amplifiers but after testing with a noise generator, we found that it is the SA44 who produces this effect which can be also seen with a 50 ohm load at the input. Funny thing is that we don´t see this when using Spike. We have tried with different BW and FFT values but no change. Any hint on what to do to eliminate the noise? (image attached).
Regards
JuanAttachments:
You must be logged in to view attached files.Found in Topics
sarah.b posted on June 23, 2015 at 7:13 am View this postTopic: Actively change reference levels in LabView
in forum SA Series DiscussionsI am trying to write some API software for the SA44B using LabView. I would like to automate reference level changes so that it can actively change during signal sweeping.
I currently have a loop that collects my sweep information. It outputs this info into a graph, and collects the maximum value. This maximum value is then used with case statements to determine if the reference level should be changed. I’m using the saConfigLevel function to change the reference level. I know the function works because I can set the reference level at the beginning of execution. However, when I use it inside the loop and case statements, it correctly updates the indicator used to see the current reference level, but fails to change the reference level for the device itself.
Any ideas are welcome.
ThanksFound in Replies
Andrew posted on June 16, 2015 at 3:33 pm View this postIn reply to: Matlab API loadlibrary error
AndrewModeratorHello oogieoogieful,
Just to clarify, I though because you were using the SHAPISlowPlot.m file you would be using the and SA44/SA124. I am now under the impression that you have retrofitted it to call the BB60 API instead of the SA API. If you have done that and you have the latest version of the BB60 API then you should be able to simply use the 64-bit BB60 API with your code. We distribute both 32 and 64 bit API builds for then BB60 API. You can find it in typically at C:/ProgramFiles/SignalHound/Spike/api/x64
Regards,
A.J.Found in Replies
oogieoogieful posted on June 16, 2015 at 11:27 am View this postIn reply to: Matlab API loadlibrary error
oogieoogiefulParticipantI am a new developer.
I do have the latest version of Spike installed (3.04 API BB) I have access to a BB series spectrum analyzer, not an SA series.
Here is the documentation I am now working from:
http://www.signalhound.eu/download/BB60-API-Manual.pdf
I’m not sure exactly how this error arises but I believe it is when Matlab creates a thunk file:
A thunk file is a compatibility layer to a 64-bit library generated by MATLAB. The name of the thunk file is BASENAME_thunk_COMPUTER.c where BASENAME is either the name of the shared library or, if specified, the mfilename prototype name. COMPUTER is the string returned by the computer function
I may have access to a 32-bit Matlab soon. Apparently, the 32-bit Matlab does not require a thunk file.
Found in Replies
Andrew posted on June 11, 2015 at 12:17 pm View this postIn reply to: Matlab API loadlibrary error
AndrewModeratorHello oogieoogieful,
Someone else might be able to help you get things working, but our experience is that we have not had a customer be able to utilize our supplied 32-bit Matlab example on a 64-bit version of Matlab. We do not have a version of 64-bit Matlab in our shop and so have been unable to attempt to work through the incompatibilities. It does appear that one would have to go through quite a bit of effort to call a 32-bit DLL from 64-bit Matlab.
If you are interested, we have fully updated our SA device APIs. There are now 32 and 64 bit versions of the API that get installed when you download the latest version of our Spike spectrum analyzer software. http://www.signalhound.com/Spike. We recommend all new developers target these new APIs. They come with documentation as well to get you going. We do not currently provide Matlab interfaces to them, but if you are adept at C/Matlab programming you should be able to find enough information to call our 64-bit DLL from Matlab. The new APIs do have a different interface than the old ones, so there will be a learning curve which may not be acceptable if you are already familiar with the older APIs.
Let me know if you have any follow up questions.
Regards,
A.J.Found in Replies
Andrew posted on June 11, 2015 at 10:36 am View this postIn reply to: Labview drivers for SA44
AndrewModeratorHello Kirbi,
Depending on which sa_api version you are running, real-time functionality has changed recently. You will want to check out the programming manual for your version to find a full C example in the appendix for setting up real-time mode. This should help you set up Labview.
Regards,
A.J.- This reply was modified 10 years, 1 month ago by
- AuthorSearch Results