▲16PSK调制解调通信链路matlab误码率仿真

目录

1. 16PSK 调制原理

2. 16PSK解调原理

3.MATLAB程序

4.仿真结果

5.完整程序下载


1. 16PSK 调制原理

       在数字调制中,我们将二进制数字序列映射到信号的幅度、相位或频率等参数上。对于16PSK调制,我们主要是将二进制数据映射到信号的相位上。

       16PSK将每4位二进制数据映射为8PSK星座图中的一个相位点,16PSK 星座图通常将圆周等分为16个相位区间,每个区间对应一个唯一的4位二进制码。假设输入的比特序列为b0b1b2b3,则对应的16PSK符号的相位取值如下:

0,pi/8,2*pi/8,3*pi/8,4*pi/8,5*pi/8,6*pi/8,7*pi/8,8*pi/8,9*pi/8,10*pi/8,11*pi/8,12*pi/8,13*pi/8,14*pi/8,15*pi/8.

     16PSK 信号的星座点分布在圆周上,具有一定的相位冗余。与 ASK(幅移键控)等调制方式相比,它对幅度干扰不太敏感。因为 16PSK 主要是通过相位来携带信息,只要干扰没有导致相位发生错误判决,信号就能正确解调。

       在多径衰落信道中,通过适当的均衡技术和信道编码,16PSK 信号可以利用其相位信息来抵抗衰落带来的影响。例如,在存在频率选择性衰落的信道中,16PSK 信号可以通过分集接收技术(如空间分集、频率分集等)来提高接收的可靠性,减少衰落对信号的破坏。

2. 16PSK解调原理

相干解调

非相干解调

       频谱效率方面,16PSK 每个符号可以携带 4 位信息,而 2PSK 每个符号只能携带 1 位信息。所以在相同的带宽和符号速率下,16PSK 的频谱效率是 2PSK 的 4 倍,能够更有效地利用频谱资源。

       在抗干扰性能上,16PSK 由于星座点较多,相位间隔相对较小,在一定程度上对幅度干扰有更好的抵抗能力,但对相位噪声等干扰更敏感。相比之下,2PSK 只有两个相位状态,抗相位噪声能力相对较强,但频谱效率较低。

3.MATLAB程序

39**********************************************************
%判决
yod     = [];
for i=1:Num
    i

    tmps1 = yfilter1(400*(i-1)+100:400*i-100);
    tmps2 = yfilter2(400*(i-1)+100:400*i-100);
    
    X1    = mean(tmps1);
    Y1    = mean(tmps2);

    dist0 = sqrt((X1-real(sa0))^2 + (Y1-imag(sa0))^2);
    dist1 = sqrt((X1-real(sa1))^2 + (Y1-imag(sa1))^2);
    dist2 = sqrt((X1-real(sa2))^2 + (Y1-imag(sa2))^2);
    dist3 = sqrt((X1-real(sa3))^2 + (Y1-imag(sa3))^2);
    dist4 = sqrt((X1-real(sa4))^2 + (Y1-imag(sa4))^2);
    dist5 = sqrt((X1-real(sa5))^2 + (Y1-imag(sa5))^2);
    dist6 = sqrt((X1-real(sa6))^2 + (Y1-imag(sa6))^2);
    dist7 = sqrt((X1-real(sa7))^2 + (Y1-imag(sa7))^2);

    dist8 = sqrt((X1-real(sa8))^2  + (Y1-imag(sa8))^2);
    dist9 = sqrt((X1-real(sa9))^2  + (Y1-imag(sa9))^2);
    dist10= sqrt((X1-real(sa10))^2 + (Y1-imag(sa10))^2);
    dist11= sqrt((X1-real(sa11))^2 + (Y1-imag(sa11))^2);
    dist12= sqrt((X1-real(sa12))^2 + (Y1-imag(sa12))^2);
    dist13= sqrt((X1-real(sa13))^2 + (Y1-imag(sa13))^2);
    dist14= sqrt((X1-real(sa14))^2 + (Y1-imag(sa14))^2);
    dist15= sqrt((X1-real(sa15))^2 + (Y1-imag(sa15))^2);


    [VV,II]=min([dist0,dist1,dist2,dist3,dist4,dist5,dist6,dist7,dist8,dist9,dist10,dist11,dist12,dist13,dist14,dist15]);

    yod    = [yod,II-1];



end
 



figure % 创建图形窗口
subplot(3,2,1) % 创建3行1列的子图,并定位到第一个
plot(Ydemod1,'b','linewidth',1) % 绘制ASK调制信号
title('16PSK解调'); % 设置标题
grid on % 打开网格


subplot(3,2,2) % 定位到第二个子图
plot(Ydemod2,'b','linewidth',1) % 绘制载波信号
title('16PSK解调'); % 设置标题
grid on % 打开网格

subplot(3,2,3) % 创建3行1列的子图,并定位到第一个
plot(yfilter1,'b','linewidth',1) % 绘制ASK调制信号
title('16PSK解调滤波'); % 设置标题
grid on % 打开网格


subplot(3,2,4) % 定位到第二个子图
plot(yfilter2,'b','linewidth',1) % 绘制载波信号
title('16PSK解调滤波'); % 设置标题
grid on % 打开网格

subplot(3,2,[5,6]) % 定位到第二个子图
stairs(yod,'b-o','linewidth',1) % 绘制载波信号
title('16PSK解调'); % 设置标题
grid on % 打开网格
xlim([1,Num+1]) 

4.仿真结果

5.完整程序下载

完整可运行代码,博主已上传至CSDN,使用版本为matlab2022a:

(本程序包含程序操作步骤视频)

16PSK调制解调通信链路matlab误码率仿真【包括程序,中文注释,程序操作和讲解视频】资源-CSDN文库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值