MATLAB程序:BPSK/QPSK的調製與解調

BPSK調製 

%此段代碼實現信號的BPSK調製
%輸入x取值爲0 1 輸出y爲1 -1
function [y]=modbpsk(x)
mapping=[1 -1];
y=mapping(x(:,:)+1);

QPSK調製 

%此段代碼實現信號的QPSK調製
%輸入x爲0 1 2 3  輸出y爲1-1i -1+1i 1+1i -1-1i
function [y]=modqpsk(x)
mapping=[1-1i -1+1i 1+1i -1-1i];
y=mapping(x(:,:)+1);

BPSK解調

function [yhat]=demodbpsk(x)
map=modbpsk([0 1]);
for loop=1:length(map)
distance=abs(x-map(loop));
all_distance(loop,:)=distance;
end
[~,index]=min(all_distance);
mapping=[0 1];
yhat=mapping(index);

QPSK解調

function [yhat]=demodbpsk(x)
map=[1+1i -1+1i -1-1i 1-1i];
for loop=1:length(map)
distance=abs(x-map(loop));
all_distance(loop,:)=distance;
end
[~,index]=min(all_distance);
mapping=[0 1 2 3];
yhat=mapping(index);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章