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

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值