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);

 

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