- AuthorSearch Results
Found in Replies
Andrew posted on May 4, 2020 at 9:50 am View this postIn reply to: How to record series of spectrums
AndrewModeratorHello Kefei,
If you need to record a series of spectrums, you have a few options. You can used the sweep recording toolbar in Spike (in the sweep measurement mode). You will find the toolbar along the lower part of the Spike application in sweep mode. The file saved is a custom binary file which can either be played back through Spike, or could be parsed programatically. An example C++ parser is in our SDK.
You could also use the SM_API to programatically sweep the SM device and store sweep in whatever format you wish. The SM_API is a C++ DLL for Windows or Linux you can use to control the SM200. You can find this in our SDK. (Software menu on our website).
Regards,
AndrewFound in Replies
jatwood posted on May 1, 2020 at 10:18 am View this postIn reply to: VSG25A Labview API – PSK Data (*symbols)
jatwoodParticipantThanks for the response. I apologize for not being more thorough, I only looked online for the VSG25 API Manual. As you pointed out I see that it is in the install directory.
Found in Replies
Andrew posted on May 1, 2020 at 7:49 am View this postIn reply to: VSG25A Labview API – PSK Data (*symbols)
AndrewModeratorHello jatwood,
The data array should be populated with values between [0,SymbolPositions-1]. For example, for a QAM16 signal, you will pass values between [0,15]. The symbol mappings are in the VSG User manual found in the VSG25 installation folder.
In the UI, we generate a bit string according to the PN sequence and then convert the bit string to symbol positions. For example, for a QAM16 signal if the random bit stream is 00101110, we would convert this to two symbols 0010, 1110, and pass an array of two data symbols to the API, [2, 14].
I apologize, we don’t have any LabVIEW interface for the VSG25.
Regards,
AndrewFound in Topics
- This topic was modified 4 years, 12 months ago by
jatwood.
jatwood posted on April 30, 2020 at 3:13 pm View this postTopic: VSG25A Labview API – PSK Data (*symbols)
in forum VSG Series DiscussionsWhen using the VSG App I am able to select Data = PN7 or PN9 with a seed and I get the desired output.
I cannot find an API reference for Labview and there is no SDK for VSG25 and I need help with sgSetPSK. I assume “Data” is *symbols, however, I can’t figure out how to load it.
I understand the PRBS9 sequence repeats every 511 symbols but can’t figure out how to load a pattern into the 1D array.
Anybody have experience with this?
Found in Replies
bbowar posted on March 3, 2020 at 1:41 pm View this postIn reply to: BB60C QNX 6.4.1 Drivers for 32 bit OS
bbowarParticipantWould Signal Hound be willing to build a 32-bit Linux API for a one time engineering fee? We may be interested depending on the one time fee.
Found in Replies
Andrew posted on March 2, 2020 at 1:16 pm View this postIn reply to: BB60C QNX 6.4.1 Drivers for 32 bit OS
AndrewModeratorbbowar,
We do not have any 32-bit Linux builds for our APIs. We compile on 64-bit Ubuntu 18.04 and CentOS7. We have no plans to target a 32-bit Linux OS at this time. I will make a note that you have requested this.
Regards
Found in Replies
- This reply was modified 5 years, 2 months ago by
Andrew.
Andrew posted on February 12, 2020 at 2:55 pm View this postIn reply to: VSG60A Windows C API
AndrewModeratorHi Mike,
You are correct about the float* parameter. It should be const, and the data is not modified by the API. I will see about getting this in a future update. Yes, you are safe to cast.
I can’t reproduce the issue you are seeing regarding RF output on/off. I wrote a short script to attempt to reproduce. Maybe you could try to run this? If all else fails, maybe you could whip up a simple script I could try to run and reproduce? See code below.
This function simply turns on and off the RF output in 1 second intervals. I observed the power going on and off at these intervals.
void testRFOutput() { int handle = -1; VsgStatus vsgSts = vsgOpenDevice(&handle); if(vsgSts != vsgNoError) { printf("Unable to open VSG\n"); return; } vsgSetFrequency(handle, 1.0e9); vsgSetLevel(handle, -40.0); while(true) { vsgSetRFOutputState(handle, vsgTrue); vsgOutputCW(handle); Sleep(1000); vsgSetRFOutputState(handle, vsgFalse); Sleep(1000); } }
Look forward to your response.
Regards,
AndrewFound in Topics
Mike D posted on February 12, 2020 at 10:37 am View this postTopic: VSG60A Windows C API
in forum VSG Series DiscussionsHello all,
I have a couple of questions regarding the Windows DLL API for the VSG60A. I’m using the latest version of the API (2020-01-06).
The vsgOutputWaveform, vsgRepeatWaveform, and vsgSubmitIQ functions all take input buffers of type ‘float *’. Is there some reason why this is not ‘const float *’? I’m assuming this is a small oversight and I can just pass in a (casted) buffer of const data, but I wanted to be sure. I can’t imagine why the implementation would need to modify the input buffer.
It looks like whenever I turn off RF output (via vsgSetRFOutputState), I can never get any output (using vsgRepeatWaveform or vsgOutputCW) when I turn it back on. The only way for me to get output again is to close the handle and establish a new connection. It’s as if the function can only turn off RF output and not turn it on. I understand that I can stop output via vsgAbort, but I liked the idea of completely gating RF output with that switch independently of current playback.
Any feedback would be greatly appreciated. Thanks for your time.
Mike.
Found in Replies
Andrew posted on February 6, 2020 at 6:25 am View this postIn reply to: Scan and Record
AndrewModeratorrconaway,
It is possible to to record audio in the audio player, but the audio parameters must be entered manually. What do you mean by ‘lock’ to analog audio? If you have a programming background you might be interested in the API which will give you access to sweep measurements and audio. You can find the API in the SDK on our website. Additionally, the BB60C is not capable of performing a sweep and audio demodulation simultaneously.
Let me know if you have follow up questions.
RegardsFound in Replies
DDR posted on February 2, 2020 at 9:13 pm View this postIn reply to: BB60C With SDR#
DDRParticipantDear Justin,
Thanks for the reply.
We are not familiar with API and anyways we will try it from now on wards.
We have also seeked for help from SDR# team to develop the right plugin.
Regards,
DHIVAGAR.DFound in Replies
Justin Crooks posted on January 22, 2020 at 10:00 am View this postIn reply to: BB60C With SDR#
Justin CrooksModeratorWe have not interfaced SDR sharp. One approach would be for your friend to develop a plugin, to connect the BB60C to SDR# directly. Another would be to use our API to save I/Q data as a WAV file and try to play that in SDR#.
Found in Replies
Andrew posted on December 20, 2019 at 7:42 am View this postIn reply to: Demodulate LoRa Signal using SA44B!!
AndrewModeratorSarath,
The Spike software does not have LoRa demodulation capabilities. You would need to use either a third party software platform that supports LoRa measurements (I am not aware of one) or use the API to retrieve the I/Q data and perform the measurement yourself. Additionally, the bandwidth of the SA44B is 250kHz, so you would at least have the bandwidth necessary for the 125 and 250kHz waveforms. I am not familiar with the LoRa standard and am not able to tell you if the SA44B is adequate for LoRa demodulation.
Regards,
AndrewFound in Topics
DDR posted on November 28, 2019 at 1:42 am View this postTopic: Simultaneous IQ and Audio
in forum BB Series DiscussionsIs it possible to get the IQ data and audio simultaneously in BB60C API?
Found in Replies
Andrew posted on November 26, 2019 at 6:23 am View this post
AndrewModeratorHi HalHoffman,
The sa_api and ftd2xx DLLs do not depend on anything in the .Net framework but do depend on the VS2012 redistributables. Have you installed those yet? Have you tried using a tool like dependency walker to determine which libraries you might be missing? I believe you can use it on the sa_api DLL. Also if it is a missing library, simply compiling it with the #pragma comment(lib,””) flag will tell you which DLL is missing when you go to run it.
I am running 1909 and have run 1903 in the past, both OS run the sa_api just fine. Does Spike work on these newer computer? If yes, it is probably because the VS2012 redistributables are shipped in the Spike directory.
Regards,
AndrewFound in Topics
HalHoffman posted on November 25, 2019 at 1:15 pm View this postI have a C program that fails to load sa_api.dll.
The main points –
This entry is similar to another one I submitted, “Python 2.7 ctypes sa_api.dll Windows 10 1803 1903”, but is using C instead of Python and attached is a Process Monitor logfile showing thread activity.
You can see from the Process Monitor logfile is that sa_api.dll is loaded and then ftd2xx.dll is loaded. Loadlibrary returns NULL and a call to GetLastError returns 126 which means the module was not found.
This program succeeds on an older computer with Windows 10 1803 and fails on a newer computer with Windows 10 1903 or 1909. I don’t know if that is the cause of the failure but it is a difference.
The details –
The source code –
#include <stdio.h>
#include <windows.h>int main()
{
HINSTANCE ll_handle;
int status;
DWORD err;ll_handle = LoadLibrary(“sa_api.dll”);
if (ll_handle != NULL)
{
printf(“LoadLIbrary returned not NULL. We have a handle.\n”);
}
else
{
err = GetLastError();
printf(“LoadLibrary returned NULL\n”);
printf(“GetLastError %d”, err);
}return 0;
}Compiled with MinGW, gcc 8.2.0
Files in the directory –
sh1.exe
sa_api.dll from Spike 3.4.2
ftd2xx.dll from Spike 3.4.2Running the program on the newer computer with Windows 10 1909 –
>sh1
LoadLibrary returned NULL
GetLastError 126
>Error code 126 is ERROR_MOD_NOT_FOUND, “The specified module could not be found.”
From Process Monitor (sysinternals.com) logfile –
11:53:53.2685325 … Load Image …\sa_api.dll SUCCESS …
11:53:53.2792824 … Load Image …\ftd2xx.dll SUCCESS …Attached is the logfile that shows all the thread activity. It does load both dll’s and every event has a result of SUCCESS.
Do the dlls sa_api.dll and ftd2xx.dll depend on the Microsoft .NET Framework? The older computer has version 4.7.03056 and the new computer has 4.8.03752.
Do you know if these dll’s have run on a computer with Windows 1903 or 1909? Can you try that?
Can you think of any other examination I can do?
Thanks for whatever help you can provide. At this point I can’t use an SA124B or SA44B with a new computer.
–
Attachments:
You must be logged in to view attached files.Found in Replies
HalHoffman posted on November 18, 2019 at 8:49 am View this postIn reply to: Python 2.7 ctypes sa_api.dll Windows 10 1803 1903
HalHoffmanParticipantYes, the ftd2xx.dll file is in the same directory. I had moved the dll files from “Program Files (x86)/Signal Hound/Spike” to this test directory to make an example with the fewest files possible.
I had done another test where the example program opened ftd2xx.dll instead of sa_api.dll, and that was successful.
sa_dll = ctypes.CDLL(“ftd2xx.dll”), so ctypes found that file. I don’t know if that is a useful clue.Another observation is that with this same computer, running Window 1903, my software failed to open a DataQ data logging module, while it was successful with several other computers running Windows 1803. It generated a different error. It is curious that access to two different devices would fail with the new computer.
Thanks
Found in Topics
HalHoffman posted on November 15, 2019 at 12:22 pm View this postTopic: Python 2.7 ctypes sa_api.dll Windows 10 1803 1903
in forum General DiscussionsHas anyone seen this behavior?
I have a Python program using ctypes to load sa_api.dll. It works on an older computer with Windows 10 1803 and fails on a newer computer with Windows 10 1903. Both with Python 2.7.7 and 2.7.17.
Files in the directory –
ex1.py
sa_api.dllThe source code –
# ex1.py
import ctypes
from ctypes import wintypes
sa_dll = ctypes.CDLL(“sa_api.dll”)
print “Open sa_api.dll success”Running the program on the newer computer with Windows 10 1903 –
>python ex1.py
Traceback (most recent call last):
File “ex1.py”, line 4, in <module>
sa_dll = ctypes.CDLL(“sa_api.dll”)
File “C:\Python27\lib\ctypes\__init__.py”, line 365, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be foundOn a different computer running Windows 1803 this code runs correctly.
It is curious that ctypes cannot find the file sa_api.dll which is in the same directory as the program.
I believe the two computer are setup the same way regarding this. Their python paths (sys.path) are the same.
I suspect that this version of Windows has broken something.
Has anyone seen this behavior and have ideas of a workaround?
Thanks
Found in Replies
Gary posted on November 14, 2019 at 2:31 pm View this post
GaryParticipantThank you for the response. I’m confused, however. According to the Signalhound API manual, you use the 3 dB points to create the variable-width RBWs. But the value “2.02” for the Nuttall also matches the value for the table at the end of the API manual. That is the ENBW. The 3 dB value, according to my calculations, is around 1.9 bins for your Nuttall.
Any idea what I’m misunderstanding?Found in Replies
Andrew posted on November 13, 2019 at 6:18 am View this postIn reply to: How to improve the speed?
AndrewModeratorHello thientran,
The API you are currently using has been deprecated and we unfortunately don’t support it anymore. Several years ago we released a newer API for the SA44B which you can download in our SDK at the link below.
Using the newer API, I would configure a sweep and use the sweep data to measure the amplitude at a given frequency. You can use the Spike software to determine the sweep settings needed for your measurement and use them when setting up your sweep in the API. There is a sweep example you can use to get you started.
There is no measurement receiver function in the new API, but based on your short description, it does not sound like you need that. It sounds like a simple sweep would work.
https://signalhound.com/software/signal-hound-software-development-kit-sdk/
Let me know if you have follow up questions.
Regards,
AndrewFound in Topics
- This topic was modified 5 years, 5 months ago by
thientran.
thientran posted on November 12, 2019 at 5:53 pm View this postTopic: How to improve the speed?
in forum SA Series DiscussionsHello!
I have 1 SA44B and I want to use it to measure the amplitude of the signal at the center frequency.
I used the function (in the API):
SA44B_Device.SHAPI_RunMeasurementReceiver(ref myMeasRcvr);
AmpliFreqCenter = myMeasRcvr.RFAmplitude .
The data receiving speed is very slow (about 500 ms / 1 sample). How to improve the speed?
Thank!- This topic was modified 4 years, 12 months ago by
- AuthorSearch Results