LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

modulation

Solved!
Go to solution

As for the sync preamble or pulse search, you can leave it blank as I only need to get a clean constellation.  Once I'm able to obtain a clean constellation, I can take it from there on.

 

Thanks, 

0 Kudos
Message 11 of 51
(3,306 Views)

Guys,

 

Is there anyway to get the sound card to sample at 2400 S/s?  I was only able to sample at 11025, 22050, 44100, 88200, and sometimes 96000 rate.  If input any other values but these will results in error, LV will crash or stop running. 

0 Kudos
Message 12 of 51
(3,288 Views)
2400 Hz is my baud rate (aka, symbol rate), the errors that I'm getting is not meeting Nyquist criteria: 0<2*fc<fs.  This makes no senses as I have no problem with setting these parameters with any one of the Agilent and Tektronic Vector Analyzer.  Maybe there is something I don't understand.  Is Symbol or Baud the same as Sampling rate?  If not, where do I set the symbol or baud rate????  I don't see it anywhere in the MT.
0 Kudos
Message 13 of 51
(3,276 Views)
Solution
Accepted by topic author lavalava

Hi Lavalava,

 

Thanks for all of the detailed posts with information.  With the help of my colleagues, I believe we have come up with the solution.  You're absolutely correct in that the sampling rate was the problem.  We were sampling such that we had 22,000 samples per second.  The signal was generated at a very specific baud rate and symbol rate.  At 2400 symbols per second and 16 samples per symbol, we can easily multiply the both to find that the signal is set at 38400 samples per second.  Using this value, we can use the modulation toolkit vi (MT Fractional Resample.vi) to digitally resample the waveform at the appropriate 38400 samples per second.  After resampling the waveform, we can appropriately filter, demodulate, and plot the constellation.  All of this is demonstrated in the attached vi.  At the end of the vi, you can also use the Truncate Filter Transient.vi to truncate the waveform based on the filter length and samples per symbol.  Please open the attached example, set the appropriate baud rate on the front panel, and the vi should show you a clean constellation of the 22kHz wav file.

 

I hope this helps,

Paul C.

Message 14 of 51
(3,259 Views)
Hi,

I'm working on the same problem, but using Labview 8.5. Can you post the last example vi for this version too?

Cheers,

Markus



0 Kudos
Message 15 of 51
(3,248 Views)

Paul,

 

Thank you very much to you and your colleagues, that was very helpful.  Just one more quick helps, if you don't mind, when I try 64 QAM ...I ran into the same problem again.  At 32 QAM, sometimes it groups sometimes it doesn't ...not very consistent, but at 64 QAM it looks quite lossy.

 

I have attached here is what you suggested plus a while loop and and EVM measurement result. 

Download All
0 Kudos
Message 16 of 51
(3,242 Views)

The two files above are wav recorded files.  Here is the source code.

 

Thanks, 

0 Kudos
Message 17 of 51
(3,241 Views)
I've also noticed that filter length appears to be inversely proprotional to number of samples/channel.  So when I'm capturing in RT mode, 128 was the best I can do at 64 QAM and drop samples/channel.   When I raise the filter length to a much higher rate, say 512, LV complains my system isn't buffering fast enough for it to keep up.  So, I'm not sure if raising the filter length have any positive effects.
0 Kudos
Message 18 of 51
(3,238 Views)

Markus,

 

Here is version 8.5. 

0 Kudos
Message 19 of 51
(3,237 Views)

Hi lavalava,

 

After taking a good look at your VI and the data it appears that the issue is a result of phase noise. This makes sense because the 32 QAM demodulation is sometimes able to lock on the signal and sometimes not, while the 64 QAM is not able to lock at any point. Does 8 or 16 QAM work better? This is likely due to your sound card that is acquiring the signal because it was designed for audio signals and not necessarily to work with 64 QAM. You can observe some positive effects by changing the 'number of samples/ch' to a lower value. As you lower this value you are demodulating smaller portions of your signal and taking less of the phase noise into account. The problem earlier was pertaining to the resampling of your data at the baud rate after it had been sampled at a higher rate. Is your data any better/worse with another sound card?

Steve B

Message 20 of 51
(3,146 Views)