通信原理(1)基带传输

1 概述

数字基带传输系统的基本结构如下图所示。
在这里插入图片描述

结构作用
信道信号成型器把原始基带信号变换为适合信道传输的基带信号,主要通过码型变换和波形变换来实现,目的是与信道匹配,便于传输,减小码间串扰,利于同步提取和抽样判决
信道是允许基带信号通过的媒质,通常为有线信道,如电缆、架空明线等。信道的传输特性通常不满足无失真传输条件,甚至是随机变化的,信道还会引入噪声,在建模分析中通常吧噪声n(t)等效集中在信道中引入。
接收滤波器滤除带外噪声,对信道特性均衡,使输出的基带波形有利于抽样判决。
抽样判决器在传输特性不理想及噪声条件下,在规定时刻(由位定时脉冲控制)对接收滤波器的输出波形进行抽样判决,以恢复或再生基带信号。位定时脉冲依靠同步提取电路从接收信号中提取,位定时的准确性直接影响判决结果。

参考书:【ISBN号】978-7-5692-2789-5

2 二进制基带信号传输

在二进制基带通信系统中,0和1分别用s0(t)和s1(t)传输。设信息传输速率为R(bit/s),则发送端信号为:
在这里插入图片描述

假设0和1是等概率且相互统计独立。
传输信号在信道中叠加了功率谱密度为N0/2(W/Hz)的加性高斯白噪声(AWGN)n(t),则接收端的信号可表示为:
在这里插入图片描述

接收端在收到r(t)后,判决在0≤t≤Tb区间内发送的是0还是1。

最佳接收机 是 判决差错概率最小的接收机。

2.1 AGWN信道的最佳接收机

对于AGWN信道的最佳接收机,接收滤波器应该是信号相关器或匹配滤波器。以信号相关器为例进行分析,信号相关器将r(t)与两个可能的发送信号s0(t)和s1(t)做互相关运算,如下图所示。
在这里插入图片描述

相关器计算在0≤t≤Tb内的两个输出,即
在这里插入图片描述

在t=Tb时对这两个输出采样,判决器根据判决规则判断接收到的信号是s0(t)还是s1(t),分别对应于传输的是比特0或1。

2.2 正交信号 在AWGN信道下的传输性能

当s0(t)和s1(t)和是正交信号时满足互相关函数为0,下面就是一组正交信号:
在这里插入图片描述

判决器比较r0和r1,当r0>r1时,传输的是0,当r0<r1时,传输的是1。

接收端判决数据的差错概率(误比特率)为:
在这里插入图片描述

其中Eb/N0称为信噪比,Eb为脉冲信号s0(t)或s1(t)的能量(比特能量)。

MATLAB程序

仿真二进制正交信号通过AWGN信道后的误比特率性能。

clc;
clear;
close all;

samp = 10;% 每个脉冲信号的抽样点数

s0 = ones(1,samp);                      % 基带脉冲信号s0
s1 = [ones(1,samp/2), -ones(1,samp/2)]; % 基带脉冲信号s1
symbol = 100000;                        % 每种信噪比下的发送符号数

EbN0 = 0:12;                    % 信噪比,Eb/N0
msg = randi([0 1],1,symbol);    % 消息比特(01组成的随机序列)

% 把比特01映射为发送波形s0(t)s1(t)
s = zeros(samp,symbol);
for k = 1:symbol
    if(msg(k) == 0)
        s(1:samp,k) = s0';% 对列赋值,表示物理信号
    else
        s(1:samp,k) = s1';% 对列赋值,表示物理信号
    end
end

bit_error_percent = zeros(1,length(EbN0));
for i = 1:length(EbN0)
    decmsg = zeros(1,symbol);
    r = awgn(s,EbN0(i)-7);  % 加入AWGN。(-7是因为采样率为10,换算为dB=-7dB)
    r0 = s0 * r;            % 与s0互相关
    r1 = s1 * r;            % 与s1互相关
    judge1 = find(r1 >= r0);% 找出所有r1 > r0的比特位
    decmsg(judge1) = 1;     % 将所有r1 > r0的比特位,判定为1
    bit_error_cnt = 0;
    for k = 1:symbol
        if(decmsg(k) ~= msg(k))
            % 当判定的接收比特与发送比特不一致时,认为判定错误
            bit_error_cnt = bit_error_cnt + 1;
        end
    end
    bit_error_percent(i) = bit_error_cnt/symbol;
end
plot(EbN0,bit_error_percent,'-o',EbN0,qfunc(sqrt(10.^(EbN0/10))));
title('二进制正交信号误比特率性能');
xlabel('Eb/N0');
ylabel('误比特率Pe');
legend('仿真结果','理论结果');

结果:
在这里插入图片描述

关键变量的信息:(在Eb/N0 = 12情况下)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这几个数据在基带传输系统中的位置如下图所示:
在这里插入图片描述

2.3 双极性信号 在AWGN信道下的传输性能

信号形式:
在这里插入图片描述

接收端只需要一个相关器即可(与s0(t)做互相关),最佳判决器与阈值0比较,若相关器的输出r00>0,则判决s0(t)被发送,若r00<0,则判决s1(t)被发送。

误比特率为:
在这里插入图片描述

MATLAB程序

仿真双极性信号通过AWGN信道后的误比特率性能。

clc;
clear;
close all;

samp = 10;% 每个脉冲信号的抽样点数

s0 = ones(1,samp);              % 基带脉冲信号s0
s1 = -s0;                       % 基带脉冲信号s1
symbol = 100000;                % 每种信噪比下的发送符号数

EbN0 = 0:12;                    % 信噪比,Eb/N0
msg = randi([0 1],1,symbol);    % 消息比特(01组成的随机序列)

% 把比特01映射为发送波形s0(t)s1(t)
s = zeros(samp,symbol);
for k = 1:symbol
    if(msg(k) == 0)
        s(1:samp,k) = s0';% 对列赋值,表示物理信号
    else
        s(1:samp,k) = s1';% 对列赋值,表示物理信号
    end
end

bit_error_percent = zeros(1,length(EbN0));
for i = 1:length(EbN0)
    decmsg = zeros(1,symbol);
    r = awgn(s,EbN0(i)-7);  % 加入AWGN。(-7是因为采样率为10,换算为dB=-7dB)
    r00 = s0 * r;           % 与s0互相关
    judge1 = find(r00 < 0); % 找出所有r00 < 0的比特位
    decmsg(judge1) = 1;     % 将所有r00 < 0的比特位,判定为1
    bit_error_cnt = 0;
    for k = 1:symbol
        if(decmsg(k) ~= msg(k))
            % 当判定的接收比特与发送比特不一致时,认为判定错误
            bit_error_cnt = bit_error_cnt + 1;
        end
    end
    bit_error_percent(i) = bit_error_cnt/symbol;
end
plot(EbN0,bit_error_percent,'-o',EbN0,qfunc(sqrt(2*10.^(EbN0/10))));
title('二进制双极性信号误比特率性能');
xlabel('Eb/N0');
ylabel('误比特率Pe');
legend('仿真结果','理论结果');

结果:
在这里插入图片描述

2.4 单极性信号 在AWGN信道下的传输性能

信号形式:
在这里插入图片描述

接收端只需要一个相关器即可(与s1(t)做互相关),最佳判决器与阈值Eb/2比较,若相关器的输出r00>Eb/2,则判决s1(t)被发送,若r00<Eb/2,则判决s0(t)被发送。

误比特率为:
在这里插入图片描述

MATLAB程序

仿真单极性信号通过AWGN信道后的误比特率性能。

clc;
clear;
close all;

samp = 10;% 每个脉冲信号的抽样点数

s0 = zeros(1,samp);             % 基带脉冲信号s0
s1 = ones(1,samp);              % 基带脉冲信号s1
symbol = 100000;                % 每种信噪比下的发送符号数

EbN0 = 0:12;                    % 信噪比,Eb/N0
msg = randi([0 1],1,symbol);    % 消息比特(01组成的随机序列)

% 把比特01映射为发送波形s0(t)s1(t)
s = zeros(samp,symbol);
for k = 1:symbol
    if(msg(k) == 0)
        s(1:samp,k) = s0';% 对列赋值,表示物理信号
    else
        s(1:samp,k) = s1';% 对列赋值,表示物理信号
    end
end

bit_error_percent = zeros(1,length(EbN0));
for i = 1:length(EbN0)
    decmsg = zeros(1,symbol);
    r = awgn(s,EbN0(i)-7);  % 加入AWGN。(-7是因为采样率为10,换算为dB=-7dB)
    r00 = s1 * r;           % 与s0互相关
    judge1 = find(r00 > 5); % 找出所有r00 > 5的比特位
    decmsg(judge1) = 1;     % 将所有r00 > 5的比特位,判定为1
    bit_error_cnt = 0;
    for k = 1:symbol
        if(decmsg(k) ~= msg(k))
            % 当判定的接收比特与发送比特不一致时,认为判定错误
            bit_error_cnt = bit_error_cnt + 1;
        end
    end
    bit_error_percent(i) = bit_error_cnt/symbol;
end
plot(EbN0,bit_error_percent,'-o',EbN0,qfunc(sqrt(0.5*10.^(EbN0/10))));
title('二进制单极性信号误比特率性能');
xlabel('Eb/N0');
ylabel('误比特率Pe');
legend('仿真结果','理论结果');

结果:
在这里插入图片描述

3 基带PAM信号传输

基带PAM信号是脉冲幅度调制信号,采用多个幅度电平的信号波形进行传输,在这种情况下,每个信号波形可以传输多个比特信息

基带4-PAM信号形式:
在这里插入图片描述

式中,Am为第m个波形的幅度,g(t)为矩形脉冲,定义为:
在这里插入图片描述

每个波形可用来传输2比特信息,按照Gray编码规则可以把信息比特对影射为四种信号波形,每个信息比特对称为一个符号,脉冲持续时间T称为符号区间。
在这里插入图片描述

接收端与信号脉冲g(t)做互相关,最佳幅度检测器将相关器的输出r00与四种可能的传输电平进行比较,并选择在欧氏距离上最接近于r00的幅度电平。
最佳检测器计算距离为;
在这里插入图片描述

误比特率为:
在这里插入图片描述

其中,Es=5d2,为每个符号的平均能量。

MATLAB程序

仿真4-PAM信号通过AWGN信道后的误比特率性能。

clc;
clear;
close all;

symbol = 100000;    % 每种信噪比下的发送符号数
samp = 10;          % 每个脉冲信号的抽样点数

M = 4;              % 4-PAM
graycode = [0 1 3 2];           % Gray编码规则
EsN0 = 0:12;                    % 信噪比,Es/N0
msg  = randi([0 3],1,symbol);   % 消息比特(0 1 2 3 组成的随机序列)
msg1 = graycode(msg+1);         % Gray映射:0 1 2 3 -> 0 1 3 2

% 4-PAM调制
msg2 = zeros(1,length(msg1));
for k = 1:length(msg1)
    if(msg1(k) == 0)
        msg2(k) = -3;
    elseif(msg1(k) == 1)
        msg2(k) = -1;
    elseif(msg1(k) == 2)
        msg2(k) = 1;
    elseif(msg1(k) == 3)
        msg2(k) = 3;
    end
end

% 矩形脉冲成型
s = zeros(1,length(msg2)*samp);
for k = 1:length(msg2)
    for p = 1:samp
        s((k-1)*10+p) = msg2(k);% 将每个msg2(k)扩展为10个相同的点
    end
end


bit_error_percent = zeros(1,length(EsN0));
for i = 1:length(EsN0)
    r = awgn(real(s),EsN0(i)-7);    % 加入AWGN。(-7是因为采样率为10,换算为dB=-7dB)
    r00 = intdump(r,samp);          % 相关器输出,求10个连续采样点的平均值
    % 判决:欧氏距离最接近
    msg_demodulation = zeros(1,symbol);
    for k = 1:symbol
        D0 = abs(r00(k) - (-3));% 计算欧氏距离
        D1 = abs(r00(k) - (-1));
        D2 = abs(r00(k) - ( 1));
        D3 = abs(r00(k) - ( 3));
        Dis(1,1:4) = [D0 D1 D2 D3];
        [x,y] = min(Dis);% 求最小值的位置
        msg_demodulation(k) = y-1;
    end
    decmsg = graycode(msg_demodulation+1);% Gray逆映射
    bit_error_cnt = 0;
    for k = 1:symbol
        if(decmsg(k) ~= msg(k))
            % 当判定的接收比特与发送比特不一致时,认为判定错误
            bit_error_cnt = bit_error_cnt + 1;
        end
    end
    bit_error_percent(i) = bit_error_cnt/symbol;
end
plot(EsN0,bit_error_percent,'-o');
title('4-PAM信号误比特率性能');
xlabel('Es/N0');
ylabel('误比特率Pe');
legend('仿真结果');

结果:
在这里插入图片描述

  • 2
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值