LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Creating complex data waveform

Solved!
Go to solution

Hi,

I have a 2 channel audio file that contains both the real and complex parts of an I/Q wave. I am trying to demodulate this using the MSK block from the modulation toolkit but I have trouble getting the I/Q stream in the right type. The MSK block asks for a complex waveform as input but after building this complex waveform I found out that it really needed a 'Complex Data Waveform.ctl'.

How can I get my data in the right format? I can't find a block that generates this 'Complex Data Waveform.ctl'.

I have attached a picture of the situation.

Best regards,

Jan

0 Kudos
Message 1 of 12
(8,446 Views)

The standard waveform does not support complex data.

 

Try creating a control by popping up on the input to the MSK VI. To see the datatype of the wire hover the wiring tool over the wire connecting the control to the VI. The context help window will show the datatype of the wire.

 

I do not have the modulation toolkit so I cannot try it on your code.

 

Lynn

0 Kudos
Message 2 of 12
(8,418 Views)

Well, it is possible to put complex data in a waveform type. Problem is that the MSK block demands a 'Complex Data Waveform.ctl' (the pink wires) of which I can't find how one should compose it.

0 Kudos
Message 3 of 12
(8,397 Views)
Solution
Accepted by topic author JanVerwilligen

Try this

 Right click on the input complex waveform node of that MT Demodulate MSK subvi. Click 'Create' >>'Constant'. Now delete the wire between the newly created constant and that subvi. Add a bundle by name cluster. Wire the constant into the top of the bundle by name cluster. Left click and  Pull down on the bottom of the bundle by name cluster until 3 inputs appear. Right click each input and use the select item to get the inputs you require.

Now Using LabVIEW 2019SP1 and TestStand 2019
Message 4 of 12
(8,378 Views)

Okay, what you suggested allowed me to wire up the complex signals to the MSK block without, but I don't think the complex data is transferred correctly to the Complex Data Waveform.ctl. Running this leads to an error message (21837, not found in the explain error help page) stating a possible reason: 'Waveform contains no values'.

 

I've put an image with the setup in the attachment.

 

Thanks for all your help

Jan 

0 Kudos
Message 5 of 12
(8,347 Views)

Do you have data in both of those Y arrays?  And data in the array coming out of the Real/Imaginary to Complex function?

 

You are wiring a 1 and a 2 into the Index Waveform function.  Should you be wiring a 0 and a 1?

 

Also, the Index Waveform function is kind of overblown.  A simple Index Array would work, then you could expand the bottom border down and get both waveforms from a single function.

Message 6 of 12
(8,335 Views)

Thanks! It got that problem solved.

Kind regards,

Jan

0 Kudos
Message 7 of 12
(8,316 Views)

I am getting the same problem..Could u xplain how u got it??

 

0 Kudos
Message 8 of 12
(7,951 Views)

Hellon Chahatb,

 

What does your code look like?

Where are you gettingg issues?

Kind Regards,
Thierry C - CLA, CTA - Senior R&D Engineer (Former Support Engineer) - National Instruments
If someone helped you, let them know. Mark as solved and/or give a kudo. 😉
0 Kudos
Message 9 of 12
(7,925 Views)

Hello

 

Here is my code. The constellation diagram is not displaying anything.

 

Thanks

0 Kudos
Message 10 of 12
(7,919 Views)