- AuthorSearch Results
Found in Topics
zhubajei posted on October 21, 2015 at 6:14 am View this postTopic: Movement of Legacy API with the tablet
in forum SA Series DiscussionsHello
I made application for USB-SA44B in LabVIEW using Legacy API.
In the desktop PC without any problems works.
However, an error occurs when I am going to move this in YogaTablet2 of lenovo.
During loading an application, the error by which SH_API.dll isn’t found occurs.
Finally, all Sub Vi calling SH_API.dll will be an error.
The position of SH_API.dll is absolutely specified by Pass, when calling a function.
This phenomenon is a hardware-like problem, and is SH_API.dll that it can’t be read?
With the tablet of the shop brand of other companies, I can confirm movement.
OS of both tablets is Windows10.
What kind of cause can think SH_API.dll can’t be read?
In addition, should I give up moving it in YogaTablet2 of lenovo?best regards.
Found in Replies
Andrew posted on September 30, 2015 at 1:03 pm View this postIn reply to: Can't Lower RBW/VBW with some spans
AndrewModeratorHello dwc,
The msvcp110.dll file is part of the Visual Studio 2012 redistributable files which can either be downloaded here http://www.microsoft.com/en-us/download/details.aspx?id=30679 or are part of the Visual Studio 2012 install. If you do not use Visual Studio 2012 you will still need to download these to program to the API. We have 32 and 64 bit versions of the API, so you could download both x86 and x64 versions of the redistributable for your PC. We used Visual Studio 2012 to develop the API which is why you are seeing this.
Regards,
A.J.Found in Replies
dwc posted on September 30, 2015 at 12:45 pm View this postIn reply to: Can't Lower RBW/VBW with some spans
dwcParticipantActually I can’t get the Labview program to run – it is looking for MSVCP110.dll. On the other hand, I do see code samples in the API manual, which should help.
Found in Replies
Andrew posted on September 30, 2015 at 12:28 pm View this postIn reply to: Can't Lower RBW/VBW with some spans
AndrewModeratorHi dwc,
If you decide to attempt programming the device, we have an API manual here, https://signalhound.com/sigdownloads/SA44B/SA-API-Manual.pdf. There is a code example in the appendix called “Sweep Mode” that shows you how to setup a sweep. This functionality could be performed in a loop to achieve the desired sweep. The labview examples are wrappers around the C functions, so learning the C functions would be beneficial if you decide to automate through Labview. You may contact me at aj at signalhound dot com if you have any programming related questions.
Regards,
A.J.Found in Replies
Andrew posted on September 21, 2015 at 8:25 am View this postIn reply to: nonvolatile on VSG25A ??
AndrewModeratorHello Saira,
Unfortunately this is not possible. There is no user accessible non-volatile memory on the VSG25A. The device can only be driven by our software and API. If it helps, in the software you can save presets, allowing you to quickly recover previous settings. You can also control the device in your own software by utilizing the C programming API.
Let me know if you have any further questions.
Regards,
A.J.Found in Replies
Justin Crooks posted on September 18, 2015 at 10:25 am View this post
Justin CrooksModerator1. Yes. Powers of 2. 16, 32, 64, 128, …
2. Yes.
3. Number of points varies a little based on window bandwidth. For the legacy API, it is closer to 3.5 * span / RBW
4. 440.4 to 440.8 MHz would probably be 2 slices (440.4 – 440.6, 440.6 – 440.8). If each slice is 56 ms, your sweep time would be 112 ms.
5. The API expects FFT size. The user interface expects RBW. Use the relationship from question 2.
6. IF bandwidth is set using decimation (IF BW = 240 kHz / decimation)
7. I would expect this to work. Configure, sweep, configure, use measuring receiver (actually more of a modulation analyzer).
Let me know if you have more questions.Found in Replies
zhubajei posted on September 17, 2015 at 9:53 pm View this post
zhubajeiParticipantThank you for replying it last time.
After it was considered, I think I’ll make an application using Legacy APIs.The question about the contents written on a manual of Legacy APIs Ver2012_01_05 thru 2012_09_7.
Because English is weak , I can not understand the contents of the instruction manual enough .
Please help understand it.1. Setting with the FFT size
Are you OK with “16,32,54,128,256,512,——65535”?2. calculation formula of RBW Are you OK with “RBW (Hz) = 1638400 / Decimation / FFT size”?
(This is the same value as the value that would be obtained in GetRBW ())3. calculation formula of Data number of points.Are you OK with “Data Point number = 2.5 * SPAN (Hz) / RBW (Hz)”?
4. list covers two types calculation formula of the execution time.
Execute Time = 40+ (FFTsize × AvgCount × Decimation / 486) mS/slice — (1)
= Decimation * (stop – start) / 201kHz mS/slice — (2)FFTsize = 1024, AvgCount = 8, Decimation = 1,start freq = 440.4MHz, stop freq = 440.8MHz
When I calculate on this condition(1) Execute Time = 40+ (1024*8*1)/486 = 56.856 mS/slice
(2) Execute Time = 1*(440.8M-440.4M)/201k = 400k/201k=1.99 kHz?The answers to be provided are different. Which is right?
5. setting panel of the Legacy API (Ver2.11A), only the setting of RBW is there, FFTsize and Decimation can not be set.
Does this software design is correct?The RBW and FFTsize and Decimation, we understand that there is a relationship to each other.
However, in the Signal Hound (SA44B), please tell me the relationship of these three values.6. When I call SHAPI_RunMeasurementReceiver(),
I construct five numerical value of “RFFrequency,AudioLPFreq,AudioBPFreq,UseLPF,UseBPF” across API.
However, it is set in the Measuring Receiver panel “IFBandwidth” does not pass.
Do not have a problem?7. I make application to check an electric wave state of the fixed station (frequency 400MHz zone) of the specific small electricity now.
Because it is an electric wave of the fixation station, the data update speed does not have to be early.
SHAPI_LVC_ConfigureFast -> SHAPI_LVC_GetSlowSweep -> SHAPI_LVC_ConfigureFast -> SHAPI_RunMeasurementReceiver
Call the API in this order, it was continuous operation.
In the program that made the test, it has successfully operate.Is there a possibility that the problem occurs in this way?
Regards.
zhubajei.Found in Replies
Andrew posted on September 8, 2015 at 9:30 am View this post
AndrewModeratorHello zhubajei,
The sa_api version 3.# does not have direct functions for calculating the values you are looking for. We calculate the values directly in the Spike application from the I/Q data received from the saGetIQ functions. I do not believe the two APIs can be used in conjunction.
Calculating these values might be very easy in Labview with the built in functionality.
You will need to collect data with the saGetIQ functions,
then FM demodulate the data. Once you have the FM data, you can perform the necessary statistics on the data, such as averaging the FM array and finding the peaks.You can see our implementation here
https://github.com/SignalHound/BBApp/blob/master/BBApp/src/model/demod_settings.cpp
In the IQSweep::Demod function, you can see how we demodulate to FM. Then in the IQSweep::CalculateReceiverStats function, between lines 337 – 379, you can see our main FM calculations.We do our calculations on about 1/4 second of contiguous data.
Regards,
A.J.Found in Topics
zhubajei posted on September 8, 2015 at 3:55 am View this postI am making an application that uses SA44B in LabVIEW.
We want equipped with the same function as the “Measuring Receiver” of the Signal Hound Ver2.18D of application.
I want the measurement value is five below.
1.RFCounter; // RF frequency count out (Hz)
2.FMAudioFreq; // AF frequency count out after FM demod (Hz)
3.FMPeakPlus; // Peak Positive Modulation, in Hz
4.FMPeakMinus; // Peak Negative Modulation, in Hz
5.FMRMS; // RMS Modulation, in HzIn Signal Hound API version 2012_01_05 thru 09_17, there is a function called “SHAPI_RunMeasurementReceiver”, but does not have the same kind of function in the new API “Version 3.0”.
“Spike-> menu-> Analysys mode-> zero Span” the measured value is displayed in.
However, I do not know what is displaying these values using any function.saConfigIQ?
saQueryStreamInfo?
saGetIQ_32f?
saConfigAudio?
saGetAudio?How Please tell me the procedure to get these values.
In addition, “SHAPI_RunMeasurementReceiver” is likely to be acquired these values in one function.
sa_api.dll(Ver3.0) and sh_api.dll the (Ver2.18D), Is it possible to be used at the same time?Found in Replies
Ivan Ionov posted on September 4, 2015 at 1:14 am View this postIn reply to: API for standalone TG44?
Ivan IonovParticipantThank you for API!
A small app is written, sweep function is working now. If you want, I can send you source files so you can put it on your site for somebody else. Or if you don’t mind, I can attach here a compiled exe.
Attachments:
You must be logged in to view attached files.Found in Replies
Justin Crooks posted on August 28, 2015 at 11:59 am View this postIn reply to: API for standalone TG44?
Justin CrooksModeratorYes, there is. It is aptly named the TG standalone API. Email support at signalhound dot com for a copy of this.
Found in Topics
Ivan Ionov posted on August 28, 2015 at 4:03 am View this postTopic: API for standalone TG44?
in forum TG Series DiscussionsHi,
Is there any API for standalone TG44\124?
I’ve looked at API in Spike folder and haven’t found any ability to connect and control TG44 without SA44.I want to write a simple windows application for this device, to make a frequency sweep (both linear and logarithmic) with specified number of points and output power, and ideally to raise sync out to high at sweep begin, and reset sync to low at sweep end. So I can synchronize power meter output with the sweep.
Found in Topics
Khatana posted on August 14, 2015 at 8:47 pm View this postTopic: SA124B Custom App, Results View Chart
in forum SA Series DiscussionsHi,
I’m making a custom software in C#.NET for device SA-124B. I made C# wrapper for sa_api.dll, works fine. After connecting the device SA-124B, configuring it, setting any mode; I successfully get data from device. Now my next task is to plot this data in a visual chart (for measurement, analysis of spikes). But I’m not sure which chart library I must use. Please recommend a spectrum analyser .net chart library tool. I searched through internet, but can’t find any useful charting library or tool. So, finally I’m posting my issue here. Please help me. ThanksFound in Topics
adixmasz posted on August 4, 2015 at 12:03 pm View this postTopic: Unit Conversion Equations, dBm/Hz
in forum SA Series DiscussionsHello,
I would like to use the Signal Hound USB-SA44B Spectrum Analyzer to measure noise.
I can get full sweep from this analyzer but I have a problem with the unit.
In my company, workers use dBm/Hz or nV/ Square root(Hz) units. Could you tell me how can I change unit from dBm to dBm/Hz?
I tried to use information from this site:
http://www.tek.com/support/faqs/how-can-i-measure-and-calculate-nv-root-hz-nanovolt-root-hertz-spectrum-analyzer
but your device isn’t an ordinary spectrum analyzer and I’m not sure about using this information.
I hope my questions are clear, could you help me?Ps.
I can offer you my software implementation of API 3.0.5. My LabVIEW Library has every function from API (version x32 and x64). I send you some print screen as attachment.Best regards,
AdrianAttachments:
You must be logged in to view attached files.Found in Replies
- This reply was modified 9 years, 9 months 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 9 years, 9 months 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
- This reply was modified 9 years, 9 months ago by
- AuthorSearch Results