通过MATLAB对比BPSK/QPSK/QAM三种调制方式在地下通信信道的误码率性能

Posted fpga和matlab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过MATLAB对比BPSK/QPSK/QAM三种调制方式在地下通信信道的误码率性能相关的知识,希望对你有一定的参考价值。

目录

一、理论基础

二、核心程序

三、测试结果


一、理论基础

        地下通信是发射机、接收机和天线设置在地下工事、隧道或矿井内的无线电通信。它主要有两种类型。一种是通过岩层传递电波,这就要选择电导率适当的岩层或利用高电导率岩层间的“波导”。这种通信方式的最大优点是不受外界天电、工业和其他无线电台的干扰,信号稳定性好,隐蔽保密,但一般要求有大功率的电台(兆瓦级)和使用长波。另一种类型是通过电缆的泄漏电磁波进行无线电通信,这种类型使用工作频率高,只要小功率电台就可以实现。如果在相应的地层中找不到合适的通信岩层,地下电台也可以把天线架设到竖井在地面的开口处,通过地面附近的空间传输电波。但这种方式受地形、地场影响大,信道质量较差。

       地下通信是发射机、接收机和天线设置在地下工事、隧道或矿井内的无线电通信。在地下通信中主要分为通过岩层传递电波和通过电缆的泄漏电磁波进行无线电通信两种类型。前者不受外界天电、工业和其他无线电台的干扰,信号稳定性好,隐蔽保密;后者工作效率高。

然后关于地下信道的建模与仿真,主要可以参考如下的文献:

无线地下传感器网络关键技术的研究》

 一般情况下,地下无线信道的主要影响因子有:

从左往右六个参数:

1.电磁波工作频率

2.土壤的导电率

3.土壤的介电常数

4.传感器节点深度1

5.传感器节点深度2

6.传感器节点水平间隔

        下面我们基于上述的几个模型的研究,对WUSN的性能整体上进行仿真分析:

        这里,我们主要考虑地下通信的调制解调方式,然后根据地表不同的障碍物对应的信道的衰减以及地表波等因素的影响,然后再接收端进行解调接收,并对系统的误码率进行性能仿真。

       QAM即quadrature amplitude modulation,应用在很多通信系统中,如WIFI,LTE等通信系统。QAM是由I和Q路信号组成,如下表达式:最简单的如BPSK,QPSK也属于QAM调制,BPSK可以称之为2QAM,QPSK可称之为4QAM, 另外如高阶调制16QAM,64QAM等,最新的wifi6标准需要支持1024QAM,越高阶的QAM调制带宽效率越高,但对transceiver设计越不友好,如引入更高的PAR,解调需要更高的SNR等。PAR即peak-to-average ratio,峰均比可用功率的概念来定义,即传输信号(电压或电流)的最大值平方和信号平方的平均值之比,计算dB的话是10log, 如果定义均方根之比的话,计算dB就是20log。

       

二、核心程序

clc;
clear;
close all;
warning off;

%QPSK
M      = 2;   
N      = 4;%采样频率/载波频率
SNR    = 0:1:10;
error  = zeros(1,length(SNR));
s_data = zeros(1,length(SNR));                                              

for k=1:length(SNR);
    k
    error(k)=0;
    s_data(k)=0;
    while error(k)<1000
        %产生信源
        d  = ceil(rand(1,10000)*M);
        %调制成QPSK信号(复基带形式)
        s  = exp(j*2*pi/M*(d-1));
        %加入信道噪声
        %分三路进行冲击响应%加入多径干扰
        f1 = 100;
        f2 = 100;
        f3 = 100;
        h1 = [1,0.42,0.21];
        h2 = [1,0.31,0.15];
        h3 = [1,0.34,0.31];
        s1 = filter(h1,1,s)*exp(j*2*pi*f1);%滤波器输出
        s2 = filter(h2,1,s)*exp(j*2*pi*f2);%滤波器输出
        s3 = filter(h3,1,s)*exp(j*2*pi*f3);%滤波器输出
        %叠加并加入高斯白噪声
        ss = (s1+s2+s3)/3;
        %根据深度加入深度衰减因子
        %衰减因子为本课题研究的第三部分的内容,这里直接使用一个随机数替换,加快算法仿真速度
        alpha = 0.5+0.5*rand;
        sy    = ss*alpha;
        r     = awgn(sy,SNR(k)+10*log10(0.5*N),'measured',[],'dB');
        %判决
        %计算距离
        for m=1:M  
            rd(m,:)=abs(r-exp(j*2*pi/M*(m-1)));
        end
        %判决距离最近的点
        for m=1:length(s) 
            dd(m)=find(rd(:,m)==min(rd(:,m)));
            if dd(m)~=d(m)
               error(k)=error(k) + 1;
            end
        end
        s_data(k)=s_data(k)+10000;
    end
end
Pe = error./s_data;

figure;
semilogy(SNR,Pe,'-rs','MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',8)
grid on;
xlabel('SNR(db)');
ylabel('误码率');
legend('QSPK仿真结果');
SNR = SNR;
BER = Pe;
save r1.mat SNR BER

三、测试结果

 A28-17

以上是关于通过MATLAB对比BPSK/QPSK/QAM三种调制方式在地下通信信道的误码率性能的主要内容,如果未能解决你的问题,请参考以下文章

盲均衡基于WMMA盲均衡算法的matlab仿真实现,并对比CMA/MMA/WMMA三种盲均衡算法的性能

传统编码技术对比汉明码,RS,卷积码三种编码技术的对比

Golang 中三种读取文件发放性能对比

Go_18: Golang 中三种读取文件发放性能对比

并发编程(壹):创建线程的三种方式及其对比

ELM数据预测基于matlab粒子群算法优化ELM数据预测(含前后对比)含Matlab源码 449期