如何在调制后和添加噪声后绘制BPSK,QPSK和MSK的同相/象限?

时间:2012-10-18 08:54:38

标签: matlab

任何人都可以帮我解决这个问题:

任务是绘制两个图表,显示每种调制方案的I / Q分量:BPSK,QPSK,16 QAM和MSK,仅用于调制之后的一个数据集,以及添加高斯白噪声之后

所以我想了解如何在调制后和添加噪声后使用scatterplot()函数绘制这些组件。

这是与调制和白高斯噪声相关的代码部分:

%******************** BPSK Modulation ***********************
data1=data.*2-1;
data2] = oversamp( data1, nd , IPOINT);
data3 = conv(data2,xh);  % conv: built in function

并在添加噪音之后:

%************ Add White Gaussian Noise (AWGN) ***************
inoise=randn(1,length(data3)).*attn;  % randn: built in function
data4=data3+inoise;
data5=conv(data4,xh2);  % conv: built in function
sampl=irfn*IPOINT+1;
data6 = data5(sampl:8:8*nd+sampl-1);

对于QPSK

 %************* QPSK Modulation ********************************  
[ich,qch]=qpskmod(data1,1,nd,ml);
[ich1,qch1]= compoversamp(ich,qch,length(ich),IPOINT);
[ich2,qch2]= compconv(ich1,qch1,xh);

%********************* Add White Gaussian Noise (AWGN) **********************

[ich3,qch3]= comb(ich2,qch2,attn);% add white gaussian noise
[ich4,qch4]= compconv(ich3,qch3,xh2);
syncpoint=irfn*IPOINT+1;
ich5=ich4(syncpoint:IPOINT:length(ich4));
qch5=qch4(syncpoint:IPOINT:length(qch4));

对于MSK

%*************************** MSK Modulation ********************************
[ich,qch]=qpskmod(data1,1,nd/2,2);
smooth1=cos(pi/2*[-1+1./4.*[0:IPOINT-1]]); %IPOINT point filtering
for ii=1:length(ich)
  ich2((ii-1)*IPOINT+1:ii*IPOINT)=(-1)^(ii-1)*smooth1.*ich(ii);
  qch2((ii-1)*IPOINT+1:ii*IPOINT)=(-1)^(ii-1)*smooth1.*qch(ii);
end
ich21=[ich2 zeros(1,IPOINT/2)];
qch21=[zeros(1,IPOINT/2) qch2];

%********************* Add White Gaussian Noise (AWGN) **********************
[ich3,qch3]= comb(ich21,qch21,attn);% add white gaussian noise
syncpoint=1;
ich5 = ich3(syncpoint+IPOINT/2:IPOINT:length(ich2));
qch5 = qch3(syncpoint+IPOINT:IPOINT:length(ich2)+IPOINT/2);
ich5(2:2:length(ich5))=-1*ich5(2:2:length(ich5));
qch5(2:2:length(ich5))=-1*qch5(2:2:length(ich5));

提前致谢。

1 个答案:

答案 0 :(得分:2)

您不需要使用像scatterplot这样的专门功能;你做的比你更复杂。 scatterplot只是plot的一个薄包装。请记住,为了绘制向量y与向量x,您只需使用plot(x,y)。因此,对于您的各种情况,您需要做的只是plot(I_data,Q_data)