## Help on Demodulating an 8-PSK Signal

Started by 6 years ago●21 replies●latest reply 6 years ago●1019 viewsHi,

I am trying to simulate an 8-PSK communication model in Matlab with __real sequence__. I have generated the tx signal as shown in the attached figure using 8 different phases of a sine wave.

The Sampling has been kept 16 times that of the sine wave with 8 periods per symbol (i.e. Fs = 1024 Samples/sec, Symbol Duration =0.125 sec, 128 samples/symbol).

The problem that I am facing is how to demodulate this wave?

I was wondering if the phases of the wave could be extracted into a linear scale for mapping back the 8-PSK symbols?

Any help would be really appreciated.

Thanks in Advance!!

#matlab #8psk

Real 8-PSK modulated waveformMost digital communication texts have a lot of content describe PSK modulation and typical modulators and demodulators. Usually the waveform is processed, in both the transmitter and receiver, at baseband and is complex-valued. This allows the symbols to be treated as points in a complex constellation, and in the demodulator the bits are recovered by detecting the angle of the complex phasor at the symbol timing instant.

You might just search on topics like 'PSK constellation' or things like that, or find a good digital communications textbook. Demodulating PSK is a significant enough topic that it is going to be very difficult to cover in a forum like this.

I exactly understand what you mean but what if you are constraint to using only real sequences for transmission and you have only one DAC and one LO i.e. no quadrature modulation ??

You can downconvert from real-valued to baseband digitally, i.e., after the single ADC.

Edit: same in the modulator; upconvert to real-valued prior to the DAC.

Absolutely, but thats what my question is that how to demodulate the phase information without having an complex waveform?

Downconvert means to multiply with a carrier in my case say a sine wave of the exact frequency as that of the transmitter then filter it out to get the baseband data. But then what, is where I am stuck :/

Downconvert to complex baseband. As you mentioned, if you downconvert with a complex-valued LO of exactly the carrier frequency, you will wind up with a complex-valued signal at baseband, i.e., straddling DC. With this complex-valued signal you can recover the constellation by sampling at the symbol center, and then the phase angle recovers the data.

All of this can be done digitally, i.e., starting with the real-valued signal from the ADC in the receiver.

Search on 'direct downconversion' or similar topics.

Again, a good digital communications book will cover this much better than can be done this way.

But my question still stands the same.

First thing I don't have an complex LO hence there wont be a complex valued baseband.

Second thing the real sequence or the real baseband sequence will lie only on the real axis of the complex constellation with varying amplitudes. So from where will we get our Q sequence without even transmitting it?

And by the way the digital communication books will have modulators and demodulators explained for only complex M-ary modulation schemes and real BPSK sequence.

Since you have mentioned only about complex LO and complex constellation, my question to you is,

Is it so that real sequences cannot have phases ? Or is it like digital communication cannot be possible without complex baseband and complex LO (to be precise quadrature modulator)?

Consider that any real-world signal transmitted from an antenna (or over a cable, or fiber or whatever), will be a bandpass signal with a carrier frequency of fc with a symmetric image at -fc, and will, therefore, necessarily be real-valued in that form. In the real world most of those signals started out in the transmitter, and will wind up in the receiver, as complex-valued baseband signals that were up-converted to fc and will be downconverted back to a complex-valued baseband signal at zero Hz.

You can create a complex LO digitally to do the upconversion for transmit and to do the downconversion for reception.

The complex M-ary modulation schemes are the same as what you would do for 8-PSK, or QPSK, so those text books are, once again, a relevant place to learn about how to do this. Those complex M-ary signals become real-valued bandpass signals at fc just like 8-PSK, and get upconverted and downconverted from baseband just like 8-PSK. The same modulator and demodulator flow can be used for QPSK, 8-PSK, m-QAM, etc., just by changing the constellation.

Hey Slartibartfast,

I think M_313 (by seeing his attached figure) is modulating phase of a continuous carrier may be from DDS at defined symbol period.

That's why he is having a constant envelop 8PSK signal with only one sinusoid. This is something different then usual 8PSK modulation scheme using I and Q data at baseband (with complex constellation).

M_313, it will be good if you can post what are you receiving after multiplying with carrier and filtering.

Yes, I noticed that in his plot. It should be equivalent to unfiltered (i.e., rectangular pulse) 8-PSK generated as a complex constellation and upconverted to the same fc. The demodulator architecture for efficient demodulation is the same regardless of how it was generated.

If one wants to build an 8-way real-valued correlator and demodulate the signal that way, it is possible to do that but the performance and implementation efficiency will suffer.

Ya thats what I was exactly thinking :) ..to use a 8-way correlator.

But the question is how to convert the phases into realizable bits?

(since I wanted to implement this using a single channel ADC. That means no IQ data and no constellation mapping)

In that case just use 8 phase correlator. Correlate rx signal with each in parallel and decide which phase is it per symbol period. But that is going to be pain because the phase varies with delay and you need to track it as well as oscillators have jitter. It is useful to know if this just student task or actual industrial grade design.

Thanks for that. I tried to correlate in parallel by generating 8 sequences each for one phase. What I see is amplitude peaks for the intended symbols. But the problem is the decision margin is roughly 10% only.

The purpose is a mere student's task only but the model has to withstand a rayleigh fading channel. Which when applied i suppose might alter the phases badly. Anyway to make it robust?

option 1: If phase varies, and it will, then correlation loses accuracy. To keep up you will need initially, at least, to find a way to track it.

Correlation will work best if tx phases are indeed same as rx phases.

option 2: apply I/Q demod digitally to the rx signal. This is much easier, I believe, as you will identify the sequence of 8 phases or the edges of change. From that you can decode. when applied to down-convert to dc you will get 8 different amplitude levels(constants).

I have some doubts on option 2. That is, is it posssible to apply IQ demod to the same waveform attached above or I have to transmit I and Q for that?

If I have to transmit I and Q then it would be your usual 8PSK modulation which is not what I am trying to do.. :/

you can apply I/Q demod on your real only signal definitely. You will get constants for I & Q separately if when doing that you down convert to dc. Then you can either compute phase but you don't need and it is relative phase anyway or you can use these values as your phase flag.

All wireless comms transmit one signal(real) and rx receives that. Whether RF section does I/Q or this is done digitally is a matter of design.

Alright! Now I understand what you mean!

One last question or rather doubt. As far as simulating this matlab is concerned do I have to use hilbert transform or sonething similar to convert it into a complex signal? I have no clue even to what my search keywords should be..

Any light in this context will be really appreciated!! Thanks in advance!!

No need for Hilbert. Just multiply your signal with cos/sin at same frequency as Tx. You get I & Q. That is all.

This is what I mentioned early on: downconvert with a complex LO, i.e., multiply by cos/sin instead of just one of them. One product will be the real component, the other the imaginary, and that is the complex signal. If the frequency of the cos/sin pair is the carrier frequency then the result will be at DC baseband. Then the phase angle of the sample at the center of the symbol will be the demodulated phase (once you take care of the phase ambiguity, or use differential modulation and decode the relative phase).

This is also why I suggested consulting a comm text, as this is usually fully described as part of a demod architecture. It is the same architecture for m-PSK or m-QAM.

If your channel model is Rayleigh fading it's gonna get a whole lot harder and will likely not be possible with an 8-way correlator.

agreed with Mukul.

The 8 equi-distant phases of the OP vector gives rise to equal amplitude and in theory is a form of 8 PSK but the popular 8 psk should have four constellations directly on I/Q axes and four at 45 degrees. Having angles other than 45 is possible but impractical to implement using IQ techniques.

The OP must model true IQ tx modulator then send the real only output to model DAC...Rx will receive real only and demodulate back to IQ

Oi. Even this is hard to get out succinctly:

Don't downconvert the RF to baseband. Get it down to a frequency that you can sample with your ADC, then sample, then inside your digital hardware multiply by your cosine and sine waves to get a complex signal.

If your ADC isn't already fast enough, then getting it down to a frequency that'll fit on your ADC means, basically, building (or otherwise obtaining) a plain old superheterodyne radio, with the last IF feeding your ADC.

yes for proper system design the adc speed and RF design are to be considered. But the original post is more of a modelling student task who is learning the very basic comm principles. In fact the most difficult part practically would be to get clock recovery and carrier tracking (at Rx front end).