文章目录
前言
M-PSK(M-Phase Shift Keying,M相移键控)是一种相位调制技术,其中M表示不同的相位状态数量。在M-PSK中,每个符号携带log2(M)比特的信息,通过改变载波信号的相位来表示不同的数据。本文首先对M-PSK进行介绍,然后给出M-PSK调制解调的MATLAB仿真代码与仿真结果。
一、M-PSK调制的基本步骤
1. 比特到符号的映射
在M-PSK调制中,首先需要将二进制比特序列转换为符号。这通常涉及到将比特分组,每组包含log2(M)个比特。例如,在8-PSK(M=8)调制中,每个符号由3个比特组成。
2. 确定相位状态
M-PSK调制将整个360度的相位圆等分为M个部分,每个部分对应一个相位状态。因此,每个相位状态之间的角度差是360度/M。
3. 映射比特到相位
将每组比特映射到对应的相位状态。例如,在8-PSK中,可能有以下映射:
• 000 -> 0度
• 001 -> 45度
• 010 -> 90度
• 011 -> 135度
• 100 -> 180度
• 101 -> 225度
• 110 -> 270度
• 111 -> 315度
4. 发送调制信号
每个符号对应的相位状态会调制到载波上,然后发送出去。调制信号可以表示为: s(t)=Acos(2πfct+ϕ)其中,A 是信号的幅度,fc 是载波频率,ϕ 是由比特到符号映射确定的相位。
二、M-PSK调制示例:4-PSK(QPSK)
以4-PSK(也称为QPSK)为例,M=4,每个符号携带2个比特。以下是4-PSK调制的步骤:
1.比特到符号的映射
• 00 -> 0度
• 01 -> 90度
• 10 -> 180度
• 11 -> 270度
2.发送调制信号
假设我们有一个比特序列:1 0 1 1 0 0 0 1
分组后:10 11 00 01
映射到相位:180度, 270度, 0度, 90度
调制信号将会在相应的相位上发送。
三、MATLAB仿真
1. 仿真代码
% 仿真参数设置
nSym = 1e2; % 符号数
MODU_TYPE = 'PSK'; % 调制类型
arrayM = [2,4,8]; % 要仿真的M值数组
for n = 1:length(arrayM)
% 调制阶数
M = arrayM(n);
% 生成随机符号
d = randi([1 M],1,nSym);
% M-PSK基带调制
[s,ref_Constellation] = mpsk_modulator(M,d);
% 解调
d_hat= mpsk_demodulator(M,s);
% 画图
figure();
subplot(1,2,1)
stem(d,'bo')
hold on;
stem(d_hat,'r*')
grid on;
xlim([0 60]);
ylim([0 M+1]);
legend('Tx发射的符号','Rx恢复的符号');
if M==2
title('BPSK收发符号对比');
elseif M==4
title('QPSK收发符号对比');
else
title([num2str(M),'-',MODU_TYPE,'收发符号对比']);
end
xlabel('n');ylabel('d_hat(n)');
% 画图
subplot(1,2,2)
plot(s,'o','LineWidth',1.5)
grid on;
axis([-1 1 -1 1]);
axis('square');
if M==2
title('BPSK调制基带信号星座图');
elseif M==4
title('QPSK调制基带信号星座图');
else
title([num2str(M),'-',MODU_TYPE,'调制基带信号星座图']);
end
xlabel('Re\{s(n)\}');ylabel('Im\{s(n)\}');
end
2. 仿真结果
BPSK:
QPSK:
8PSK:
四、子函数与完整代码
代码中调用了2个子函数:
(1)mpsk基带调制函数
[s,ref_Constellation] = mpsk_modulator(M,d);
(2)mpsk解调函数
d_hat = mpsk_demodulator(M,s);
这两个函数的实现与仿真的完整代码已上传至资源(所需积分:0,欢迎下载):
https://download.csdn.net/download/weixin_45333185/90039052
总结
M-PSK调制是一种高效的调制方式,因为它可以在相同的带宽内传输更多的信息比特。随着M的增加,每个符号携带的比特数也增加,但这也增加了对信道的噪声和干扰的敏感性,因为相邻相位状态之间的间隔变小,更容易受到干扰。
标签:仿真,PSK,比特,相位,MPSK,75,MATLAB,符号,调制 From: https://blog.csdn.net/weixin_45333185/article/details/144043890