Forum Replies Created
- AuthorPosts
AndrewModerator- This reply was modified 2 weeks ago by Andrew.
Eduardo,
You have requested the entire sweep. There are two ways to retrieve the value at a specific frequency.
Using the trace data you have already requested, you could also request the :TRACe:XSTARt? and :TRACe:XINCrement? which allows you to determine the frequency of each point in the sweep using the equation freq = start + index * increment. Then you just need to find the index into the sweep that is closest to your desired frequency.
Alternatively, you could look at the SCPI marker commands, place a marker at the target frequency, then readback the marker amplitude value.
Both methods would result in the same final result.
Let me know if you have questions.
AndrewModeratorHi Jaime,
Unfortunately, that is not possible at this time. Right now we only support the generation of test models and some downlink RMC waveforms. We do not support the addition of specific PLMN information.
Let me know if you have follow up questions.
AndrewModerator- This reply was modified 1 month ago by Andrew.
Unfortunately there is no way to save the waveform in the VSG60 software created in the various modes.
Everything else you said sounds correct. The signal in screenshot 2 looks like a valid modulated signal you can output with the ARB mode.
Let me know if you run into issues.
AndrewModeratorABorel,
Based on your comments, I think you want to be using the digital modulation mode rather than ARB. You are specifying symbols rather than I/Q samples. To clarify, it’s common to oversample the constellation symbols by upsampling and filtering with an ISI free filter like the Nyquist filters. If you had done all of the upsampling and filtering, then you would want to use ARB mode.
What I would try instead, is feeding your integer sequence into the sequence editor in digital mod mode. You can either adjust your sequence to match the constellation mapping, or create your own custom constellation mapping to match the one you have been using. Then the software will upsample and filter for you.
Without upsampling and filtering, you are creating sharp transitions, which will be filtered out by both the VSG software digital filters and hardware reconstruction filter which have ~40MHz of bandwidth. I suspect the smoothing effect is from these filters.
Let me know if you have follow up questions.
AndrewModeratorThanks for the update Kaiser. I have not set up this configuration yet to do any testing. I will use SM200C’s when I do get to this.
AndrewModeratorSure, email any questions to
AndrewModeratorThe digital mod mode also supports custom constellation creation with the “Define Modulation” button. Then you just select “custom” on the modulation type. You can save/load your created constellation or if you save a preset it should be saved/loaded as part of the preset.
Let me know if this doesn’t provide enough flexibility for your use case.
AndrewModeratorLuciano,
In the digital mod output mode we support pi/4 DQPSK generation, is this what you’re looking for?
AndrewModeratorVal,
If you have the waveform as a baseband I/Q file, or the ability to create a LoRa waveform with a tool like MATLAB, and the sample rate of the file doesn’t exceed 50MS/s, then yes you can use the VSG60 to transmit this waveform using the ARB output mode. Our software does not have native LoRa waveform creation capability, you would have to provide your own waveform.
AndrewModeratorKaiser,
This is good information, thanks for the thorough reply.
What are typical sweep settings you are using? (span/rbw/etc). If I try to reproduce I want to get as close as possible to your setup. Thankfully we are about to release a high speed GPIO controlled switch, so it shouldn’t be too hard to simulate this!
AndrewModeratorKaiser,
Fun setup. There’s a lot going on here, so maybe I can start with some high level ideas and questions.
– How are you switching between your sources? Are you using the smSetSweepGPIO function?
– If yes to the question above, have you done any monitoring of those GPIO pins? Any way to verify they are cycling through all your states and not missing one periodically? Whether it’s hardware/software, that would be extremely helpful to know.
– Am I to understand that the “sweep offset” sticks around for many cycles? So if you are cycling through all 20 slots, are all 20 slots now off by 1 for some duration until it corrects itself? Or is it just slot 10 that shows up in slot 9 for several seconds until slot 9 reverts?
– Does using just 1 receiver make the problem go away? Even with 16 queued sweeps?
– Is it always a specific slot, e.g. 9/10? Or random?
– Does the “sweep offset” happen on both receivers? Or just one?
– Let’s say you’re switching through slots 8,9,10,11. Does it now look like 8,10,10,11 for 15 seconds and then go back to 8,9,10,11?I’m trying to collect enough information that I could try to setup something here to reproduce, and narrow down the scope. I’m not aware of any outstanding issues with this functionality, but this is likely a more complex setup than most customers, and more complex than we’ve simulated here.
I look forward to your response.
AndrewModeratorHi Val,
1) You want to make sure your IF bandwidth is wider than your signal of interest but not wide enough to include adjacent signals/channels. For FSK, this will mean knowing something about the frequency deviation and padding it. As for filter, yes, you want to know what the transmitter is using and match that.
2) We do not have any LoRa specific measurements. You might be able to use zero-span mode to estimate chip rates. My understanding is that its some sort of chirp like signal. That can be viewed with an FM v Time plot in zero-span, using markers to estimate chip rates?
Andrew
AndrewModeratorSee my response in your other thread.
Andrew
AndrewModeratorHello BSchwartzer,
We no longer support the RPi builds for the SA devices. The RPi builds had several issues and we were not able to get the SA devices to run stable either on ARM or x86 Linux architectures. For the forseeable future, the SA’s are supported under Windows only.
Additionally, None of our devices are supported under ARM architectures. The BB, SP, and SM lines are supported in x86/64 Linux OS’s. We target Ubuntu primarily with some support for CentOS and Redhat.
We are evaluating the NVidia Jetson platform for specific device APIs (it will not include the SA44/124). We will have more information on that in the future.
If you have follow up questions, let me know.
AndrewModeratorHi lsullivan,
Unfortunately phase synchronization is not possible with any of our single channel receivers. That being said, Signal Hound is currently developing a multi-channel phase coherent receiver to address these needs. You can learn more about it at the link below.
If you have follow up questions, you may contact me directly at aj@signalhound.com.
Andrew
AndrewModeratorYou are correct. The sweep recordings cannot currently be controlled via SCPI. This has been requested before and is something we hope to add to our software in a future release.
Until we can add this to the software, there might be another solution. You could use the API and store the data in the SHR file format. Located in the SDK, you can find an example SHR file parser project. From this project, you can learn about the file format and use the API to retrieve sweeps to store in your own SHR files.
AndrewModeratorThanks for the update. Glad you got it working.
AndrewModeratorMCarr,
The API does not have any of the modulation capabilities. When using the API you have to provide your own waveform. You have a couple options,
– The VSG60 UI can be programmed using SCPI commands. in the SDK, look under the SCPI folder and you will find a manual and examples for configuring the software via SCPI commands. Labview has support for sending SCPI commands. In this scenario, the VSG60 software would be running, and then you would run a SCPI “script” in Labview (or any other programming language) that would configure the software.
– Generate your own I/Q waveform. If you don’t know how to generate a QAM waveform, you could use offerings from Labview such as,
https://www.ni.com/en/support/downloads/software-products/download.labview-modulation-toolkit.html#484334
or MATLABs communication toolbox. If you generate the waveform outside labview, then you would want to save it as a file, and in Labview, load the file and feed it to the API.
AndrewModeratorThanks for the requests RVanDyke. I’ll see if there is something we can do here.
AndrewModeratorThe API certainly should be able to interface several devices. We interface up to 8 devices in our manufacturing line using the API. What you will find is that most PCs will limit the number of actively streaming VSG60’s to 2, primarily limited by USB throughput and CPU cycles. Some PCs do struggle to transmit on 2 simultaneously. If you are also using one of our spectrum analyzers, you might consider moving the analyzer to another PC for making measurements.
If you are on Linux, please be sure to read the section on Linux in the VSG60 manual,
https://signalhound.com/sigdownloads/SDK/online_docs/vsg60_api/index.html#autotoc_md9Opening a second device should be as simple as calling vsgOpenDevice a second time with a new handle variable. This will result in you having two handles, one for each device. The handle values should be 0 and 1 after the vsgOpenDevice function returns.
If you are on Windows, you can verify that you see 2 devices connected in the device manager. If you don’t, then you need to resolve this first. The LED should also be solid green on both units when connected and idle.
We have not tested multiple devices in our Python environment, but it should be the same. If possible, you can test multiple devices in C++. The Python wrapper simply wraps the C interface. You can see the function assignment in the vsg_api.py file.
- AuthorPosts