RF Measurement Devices

cancel
Showing results for 
Search instead for 
Did you mean: 

GSM IQ data capture

Hi,

Am using Labwindows/CVI platform with NI 5663E. I want to capture GSM IQ data for analysis but when i run my code i get the following error -1074118626 full details in the image attached. 

I tries to lower the trigger level but again returns unspecified error. What could be wrong?

 

attachments on link http://forums.ni.com/t5/LabWindows-CVI/gsm-IQ-data-capture/td-p/3081618 

 

Regards,

Waciuri

0 Kudos
Message 1 of 20
(6,357 Views)

Hi Waciuri,

 

I'd suggest watching the value of 'maxInPower' after the call to auto-level.  The error mentions that the RFSA reference level is set to -89 while the IQ trigger level is set to -20.  It seems the maximum value you can set for trigger level is the current RFSA reference level, which make sense: the reference level will be the maximum value detected so if the trigger level is above that threshold then the trigger will never occur.

 

The auto-level function may not be detecting the signal at that point and so is returning the noise floor.  You might add a check there to ensure that the value returned is in a valid range.

 

To check this you might disable the auto-leveling option on your front panel and see if the same error shows up.

0 Kudos
Message 2 of 20
(6,344 Views)

Hi,

I have tried to adjust trigger level to -89 and maxInpower SetCtrlVal(GUI, GUI_IN_POWER_LEVEL,maxInPower); set as true. What i receive is unspecified error, while the maxinpower is generated and set to -89. What is this error?

0 Kudos
Message 3 of 20
(6,304 Views)

Hi,

The unspecifiedn error was due to Demodulation code 

if (txFilter == MODT_NO_FILTER)
    {
        numPulseShapingFilterCoefficients = samplesPerSymbol;
        numMatchedFilterCoefficients      = samplesPerSymbol;
    }
    else if (txFilter == MODT_GAUSSIAN_FILTER)
    {
        numPulseShapingFilterCoefficients = (samplesPerSymbol * filterLen) + 1;
        numMatchedFilterCoefficients      = (3 * samplesPerSymbol) ;
		//numMatchedFilterCoefficients = (samplesPerSymbol * filterLen) + 1; 
    }
	
	errChk (SetArray_Size (hPulseShapingFilterCoefficients, numPulseShapingFilterCoefficients));
    errChk (SetArray_Size (hMatchedFilterCoefficients, numMatchedFilterCoefficients));
	

	
    checkWarn (ModtGenerateFilterCoefficients (MODT_MSK,txFilter, samplesPerSymbol,samplesPerSymbol, txFilterAlpha, filterLen, GetArray_Size(hPulseShapingFilterCoefficients),GetArray_pData (hPulseShapingFilterCoefficients),NULL,GetArray_Size (hMatchedFilterCoefficients),
                GetArray_pData (hMatchedFilterCoefficients),NULL)); 

 So When i comment it and run the rest of the code it runs ok but hangs at " checkWarn (niRFSA_FetchIQMultiRecordComplexF64 (rfsaSession,"",0,NUMBER_OF_RECORDS,numSamples,-1,waveform,&wfmInfo));" .What could it be here? and what could be the issue with the demodulation code?

0 Kudos
Message 4 of 20
(6,301 Views)

That sounds like the IQ power edge trigger is never getting activated.  Maybe, for whatever reason, your analyzer is not getting the signal.  If the auto-level code was not detecting the correct signal level and now the fetch call is hanging, then the first thing I'd want to verify is that the correct signal is reaching the analyzer.

 

Also, would you post the unspecified error and what call is returning it?

0 Kudos
Message 5 of 20
(6,294 Views)

Hi,

What is really happening is,after i run the application it appears to be running until i try to close it, while it doesnt respond unless i click the stop(red) button on the menu bar that's when it highlights the fetch below in red.

checkWarn (niRFSA_FetchIQMultiRecordComplexF64 (rfsaSession,"",0,   NUMBER_OF_RECORDS, numSamples,-1, waveform,&wfmInfo));

 Otherwise the Run window does not close even from the taskbar unless i restart the machine. The Auto-Level is detecting since its passing the value to maxInPower textfield.

 

How can i verify if the correct signal is reaching the analyzer?

 

Thanks,

Wciuri.

0 Kudos
Message 6 of 20
(6,272 Views)

Wciuri,

 

I would verify the signal can be acquired by the analyzer by testing with the NI-RFSA Soft Front Panel (SFP), which should be installed with the NI-RFSA driver installer. If you can trigger the signal correctly using the SFP, then the issue might be something to do with the code, and not the analyzer.

 

White Paper: Using the NI-RFSA Soft Front Panel

 

Matthew R.
Field Applications & Systems Engineer
National Instruments

Certified-LabVIEW-Developer_rgb.jpg

Certified-TestStand-Developer_rgb.jpg


0 Kudos
Message 7 of 20
(6,245 Views)

Hi,

I verified from the soft panel and the analyzer is working properly as per the attached image SFP.png. I tired to make several adjustments to the code but the application still hangs at the fetch as shown in red in the image ErrorRed.png. From that image, the stop button is still red hence the analyzer is still running but the button cannot take a click. So am forced to restart the machine.

 

Probably you can go through my code and see where the problem could be (attached are my .c  & .uir files).

 

Thanks,

Moses.

Download All
0 Kudos
Message 8 of 20
(6,234 Views)

Hi,

my  uir2.png which is my file when application runs .

 

Thanks.

0 Kudos
Message 9 of 20
(6,233 Views)

Moses,

 

I think what you're seeing on the front panel is the noise floor (no signal).  There should be a 'hump' in the spectrum, above the average level, where the signal exists.  I'm a little ignornant of the GSM protocol, but I believe you should see something like this if your signal is connected correctly:

 

 

I think that your code may be hanging because it's waiting on a triggering signal while no signal is present.

0 Kudos
Message 10 of 20
(6,223 Views)