Forum Replies Created
- AuthorPosts
AndrewModeratorTo ensure the least amount of data loss over USB elevating the thread priority is the best(only?) way we have found to do this. As far as I know root privilege is required for this on Linux (not the case on Windows).
With multiple devices actively making measurements, you will experience data loss if this isn’t done.
I had another customer do a bit of testing with niceness levels and it never resulted in an adequate solution. (His processing would still swamp the CPU and cause data loss events while I/Q streaming despite using niceness levels and despite pulling his processing out into separate processes.)
Below is the snippet we use to do this. You are free to play around and determine if one of your solutions will work. The result of the pthread_setschedparam() will indicate when it fails due to privilege issues. We don’t push this status back out to the user, but I have a request to in a future update. That way the user can ensure the API is setting the proper priority. The API doesn’t check (or care) if it fails at the moment.
void ElevateThreadPriority(std::thread &t)
{
pthread_t this_thread = (pthread_t)t.native_handle();struct sched_param params;
int tp = 10;
params.sched_priority = tp;int res = pthread_setschedparam(this_thread, SCHED_FIFO, ¶ms);
}
AndrewModeratorKaiser,
Email justin at signalhound dot com with your model question. We might have something that could help.
Regards
AndrewModerator- This reply was modified 6 years, 1 month ago by
Andrew.
Kaiser,
We have several customers running multiple SM200s on a single PC. I’m aware of one customer running 4 SM’s streaming I/Q.
You are correct in that the biggest issue is generally USB throughput, but we have found that 2 SM’s will run just fine on a single PC (higher end desktop). You only really need to consider USB adapter cards above 2 SM’s.
If you are on Windows, everything should just work out of the box. If you are on Linux, take a look at the appendix in the latest API manual. I have some notes for multi-unit use on Linux.
How much processing power you need it really going to be dependent on what type of processing you add to the system. A standard 4 core PC will run 2 SM’s if you did not perform any processing.
Regards
AndrewModeratorAndrew April 16, 2019 at 9:53 am in reply to: How can I get receiver power with Visual Studio //php bbp_reply_id(); ?>
Hello,
We don’t have a function in the API that directly provides you the measurements that the “Measuring Receiver” does from Spike. I can tell you the general idea behind the it though.
You could reproduce it with the API by using basic sweep functionality with the flat-top window (default) and finding the peak value in the sweep. Reference level would then be used to adjust the sensitivity of the receiver as you adjust your input level to the receiver. You would want to measure the offset before and after a ref level change and include that offset in your final calculation.
A lower RBW on the sweep would get you finer frequency resolution if needed.
Let us know if you have additional questions.
Regards
AndrewModeratorAndrew April 9, 2019 at 12:20 pm in reply to: How to calculate sweep rates of a received signal from the recorded IQ file //php bbp_reply_id(); ?>
The sample rate at 27MHz is 40MS/s I/Q.
Yes, you are correct about the step size in the playback box.
Another alternative is to use the spectrum settings to control which part of the capture is shown in the spectrum plot. If you set the offset to two different values and then calculate freq/time you could get a sweep rate. We are making improvements to this as well in the next release which should simply this process even more.
Regards
AndrewModeratorAndrew April 9, 2019 at 8:50 am in reply to: How to calculate sweep rates of a received signal from the recorded IQ file //php bbp_reply_id(); ?>
Hi Charles,
Not automatically, but could you use something like the FM vs Time plot in Zero span to calculate the time delta between the begin/end of the sweep, or maybe freq/sec? I set up a swept multi-tone signal here to try to recreate your signal. I added the FM vs Time plot plus the upcoming waterfall plot in zero-span (next release). In both plots you can see the sweep time and could calculate the sweep rate.
Regards,
AndrewAttachments:
You must be logged in to view attached files.
AndrewModeratorAndrew March 29, 2019 at 12:34 pm in reply to: Windows 10: Spike shows up in toolbar/ Task Manager/ Alt+Shift but doesn't open //php bbp_reply_id(); ?>
Jordan,
It sounds like Spike is off screen. I’ve seen this happen when a user goes from 2->1 monitors or changes their monitor config.
You can reset the Spike default starting position by deleting the file at
C:\Users\AJ\AppData\Roaming\SignalHound\Layout.ini
Replace AJ with your user name. AppData is also a hidden folder, you will have to “Show hidden folders” to see it. Do this with Spike closed and relaunch, it should recenter the app.
There are also Windows shortcuts that move windows in focus around. If you alt-tab to the application, you can used Windows Key + (up/down/left/right) to move windows around.
Let me know if this works for you.
Regards
AndrewModeratorQuadsat,
Spike does some minimal checking of the format to verify that it can parse it.
– It checks the file signature, if you have managed to alter it in the process of parsing the file yourself, this could cause it.
– It checks the SHR file version. The current version of the Spike software will parse file versions 1 and 2.Up until now, we have stayed backwards compatible, meaning files generated in older versions of the software can be parsed in newer versions of Spike, but older versions of Spike will not be able to parse the newer versions of the SHR files. Is that the possible case here?
Regards,
Andrew
AndrewModeratorWe do not have plans to develop a Linux API for the VSG25A at this point.
Regards
AndrewModeratorHi Andrew4010,
Thank you for expressing interest in a multi-channel receiver. If you have specific measurement requirements please email me at
aj at signalhound dot com
with a description of your requirements. We can use this information for future product development considerations.Regards
AndrewModeratorWe do not have Linux libraries for the VSG25.
Regards,
Andrew
AndrewModeratorAndrew March 20, 2019 at 9:13 am in reply to: Replay of captured IQ data to recreate spectrum //php bbp_reply_id(); ?>
Hi Jeffro,
Spike can save I/Q recordings in Zero span for 60 seconds. It saves the I/Q data in a basic 16-bit complex short binary format with descriptor file.
If you want to re-transmit a waveform, then you will need another piece of equipment. In the test equipment industry, this would be a vector signal generator. We make one that goes up to 2.5GHz but can only playback patterns that are 2048 I/Q samples long (very short). Something like an SDR would be capable of transmitting a waveform, although you would likely need to do some minor programming to set this up. We are working on a 6GHz VSG which would have the playback capability you are looking for, but won’t be released until later this year.
60 seconds worth of waveform at 20MHz BW is a lot of data and for instruments that have a fixed sized pattern memory buffer, you may struggle to find one for cheap with this amount of memory. 60 seconds at 20MS/s I/Q is 4.8GB stored as 16-bit complex values.
Regards,
Andrew
AndrewModeratorAndrew March 18, 2019 at 8:49 am in reply to: noise equivalent bandwidth of zero span IQ recordings //php bbp_reply_id(); ?>
Hello Dbreton,
1) It sounds like your understanding is correct. When you select an IF bandwidth of 1MHz, we use a filter with cutoff points (6dB down) that have 1MHz banwdidth. This filter is also applied for the I/Q recordings.
2) (edit) See Justins response below. Also see this paper that lists various window functions and their ENBW/3/6dB bandwidths. See Eq. 11 for calculating ENBW.
https://www.utdallas.edu/~cpb021000/EE%204361/Great%20DSP%20Papers/Harris%20on%20Windows.pdf
We use the “blackman” window from this paper with the 1.73 bin ENBW.Let me know if you have follow up questions.
Regards
AndrewModeratorAndrew March 15, 2019 at 8:58 am in reply to: Stacked Sweep Plots [SPIKE FEATURE REQUEST] //php bbp_reply_id(); ?>
Thanks for the suggestions. We are hoping the near future to adapt the improvements we have made to zero-span, analog/digital demod to sweep mode. The core of this giving us and the user the ability to scale/drag the plot data independent of the measurement config. I think this starts to open up the door for multiple plot arrangements you have suggested. No time frame on this.
Thanks again.
Regards,
Andrew
AndrewModeratorAndrew March 15, 2019 at 8:33 am in reply to: Queued Sweep Synchronizations //php bbp_reply_id(); ?>
Kaiser,
For normal sweep speed, (via the smSetSweepSpeed function) the resolution on which we can change the GPIO output is multiples of 39.0625 MHz. (N * 39.0625 MHz) If you are using the fast sweep speed, that number is 156.25 MHz but can be offset by a multiple of 39.0625 MHz. (N * 156.25M + 39.0625M * [0,1,2,3 depending on factors]) If you use the same sweep settings, the API will be consistent about what LO steps it changes the GPIO on.
I believe the logic is, that if your GPIO freq exceeds the freq calculated from the equations above, then we perform the switch. If you use these multiples directly, pick a number slightly higher to force the switch.
It sounds like you just need to nail this down for just a couple sweep configurations? This should be enough information for you to start adjusting the frequency on the GPIO steps and choosing the best values for your sweeps?
Regards,
Andrew
AndrewModeratorAndrew February 26, 2019 at 8:59 am in reply to: Display DVB-S constellation on SA44B //php bbp_reply_id(); ?>
Hello Maurool,
The IF bandwidth of the SA44B is only 250kHz (internal sample rate of 486kS/s). This is the maximum bandwidth on which you can make instantaneous measurements. A 2 or 4 MS/s sample rate would produce a signal with roughly 2-8MHz of bandwidth, exceeding the BW of the SA44B.
The BB60C is our most affordable analyzer that could measure signals with these sample rates with a IF BW of 27MHz.
Let me know if you have further questions.
Regards,
Andrew
AndrewModeratorAndrew February 20, 2019 at 12:11 pm in reply to: Error compiling Linux sample code //php bbp_reply_id(); ?>
Hi Kaiser,
I updated the SDK with a rebuilt SM API 1.1.7. I tested it on Ubuntu 18.04 before uploading. I’m not sure where it got corrupted before. Thanks for your patience.
Regards,
Andrew
AndrewModerator- This reply was modified 6 years, 3 months ago by
Andrew.
Hello Udeerna,
Can you please email support@signalhound.com and we will help you troubleshoot this issue.
Can you provide the following information in your email to get us started.
– The serial number of your unit
– The type of waveform you are generating? (e.g. CW, modulated signal) What are you using to generate this waveform?
– Any screen shots of the measurements? Or any other information that you think might help.
– Make and model of your PC.We look forward to your email.
Regards,
Andrew
AndrewModeratorAndrew February 19, 2019 at 8:05 am in reply to: Error compiling Linux sample code //php bbp_reply_id(); ?>
Hi Kaiser,
Thanks for your patience.
I just returned from a 4 day weekend. I should be able to look into this in the next day or two.
Regards,
Andrew
AndrewModeratormarvistamike,
Can you please email this information to
justin at signalhound dot com
and CC
service at signalhound dot comThey will be able to assist you. Please send them the serial number of your device.
We look forward to your email.
Regards,
Andrew- This reply was modified 6 years, 1 month ago by
- AuthorPosts