필터 지우기
필터 지우기

A problem with my digital communication code

조회 수: 1 (최근 30일)
DM
DM 2014년 10월 19일
댓글: Rick Rosson 2014년 10월 19일
I have a problem in writing in MATLAB a program that modulates data bits, adds noise, then demodulates it and calculates the bit error and the symbol error rate. The modulation used first should be QPSK. I have done the following:
N=100;
databits = randi([0 3],N,1);
hModulator = comm.QPSKModulator;
hModulator.PhaseOffset = pi/4;
txsig = step(hModulator, databits);
scatterplot(txsig)
grid on
SNRdB=-10
rxsig = awgn(txsig,SNRdB);
H = comm.QPSKDemodulator
hH.PhaseOffset = pi/4;
symdecoded=step(H,rxsig)
symerr(symdecoded,databits)
biterr(symdecoded, databits)
My first question is I don't think I am doing the bit error rate and symbol error rate correctly, can someone help me spot where the problem is? Where am I missing out?
I am then asked to repeat the same problem but make the changes needed to make it work with 16-QAM and 64-QAM by changing a parameter called CONSTELLATION.
I have tried using demod() and ddemodce() but these two functions have been removed from MATLAB? Does anyone know how to proceed?

채택된 답변

Rick Rosson
Rick Rosson 2014년 10월 19일
편집: Rick Rosson 2014년 10월 19일
Please try using the General QAM Modulator and Demodulator system objects.
  댓글 수: 2
DM
DM 2014년 10월 19일
Thank you very much, one more question, do you think the way I do my symbol error and bit error rate is correct? I am basically taking the error between the data bits and the decoded symbol for both types of errors, is that correct?
Rick Rosson
Rick Rosson 2014년 10월 19일
Please try:
[ ~, SER ] = symerr(symdecoded,databits)
[ ~, BER ] = biterr(symdecoded, databits)

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Rick Rosson
Rick Rosson 2014년 10월 19일
Instead of
hH.PhaseOffset = pi/4;
please try
H.PhaseOffset = pi/4;
  댓글 수: 1
DM
DM 2014년 10월 19일
Thanks I did, do you happen to know how to generalize such a program to the QAM case?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 PHY Components에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by