数字信号载波传输ASK

  • 0 概述
  • 1 载波ASK信号的产生
  • 2 载波ASK信号的解调
  • 3 载波ASK信号的仿真

0 概述

基带传输信道中的信号是未经过调制的,载波传输信道中的信号是经过调制的。

数字调制是指数字基带信号变化的过程,通过待传输的数字基带信号去控制载波的参量,使之随数字基带信号的变化而变化的过程。数字调制的目的是使基带信号适合于在信道上传输
数字解调是指把已调信号在接收端变回数字基带信号。

数字调制系统模型如下图所示,与基带传输系统相比增加了调制和解调部分,其余部分基本相同。


1 载波ASK信号的产生

载波ASK信号(也称为载波PAM信号)的波形表示为:

其中fc为载波频率,Am是第m个波形的幅度,g(t)是决定传输信号的谱特性的某种脉冲。

在g(t)是如下矩形脉冲的情况下,ASK信号是不带限的。

2 载波ASK信号的解调

带通数字ASK信号的解调可以用相关器来实现,如下图所示。

接收信号为:

其中n(t)是带通噪声过程。

上图中:φ(t)=g(t)cos(2πfct)

接收信号与φ(t)做互相关,得到的输出为:

得到Am+n后,使用与基带PAM信号解调类似的方式(根据欧氏距离判定),检测器即可输出当前认为接收到的信号值。

3 载波ASK信号的仿真

MATLAB程序

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

clc;
clear;
close all;symbol = 100000;% 每种信噪比下的发送符号数
T = 1;         % 符号周期/s
fs = 100;      % 采样频率/Hz
ts = 1/fs;     % 采样时间间隔
t = 0:ts:T-ts; % 时间矢量
fc = 10;       % 载波频率/Hz
c = sqrt(2/T)*cos(2*pi*fc*t);% 载波信号% 绘制载波波形
figure;
subplot(4,1,1);plot(t,-3*c);legend('Amp = -3');axis([-inf inf -5 5]);
subplot(4,1,2);plot(t,-1*c);legend('Amp = -1');axis([-inf inf -5 5]);
subplot(4,1,3);plot(t, 1*c);legend('Amp =  1');axis([-inf inf -5 5]);
subplot(4,1,4);plot(t, 3*c);legend('Amp =  3');axis([-inf inf -5 5]);M = 4;                         % 4-ASK
graycode = [0 1 3 2];           % Gray编码规则
EsN0 = 0:12;                    % 信噪比,Es/N0
snr1 = 10.^(EsN0/10);          % 信噪比转换为线性值
msg  = randi([0 3],1,symbol);   % 消息比特(0 1 2 3 组成的随机序列)
msg1 = graycode(msg+1);         % Gray映射:0 1 2 3 -> 0 1 3 2% 4-ASK调制
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% 载波调制
tx = zeros(1,length(msg2)*length(t));
for k = 1:length(msg2)for p = 1:length(c)tx((k-1)*length(t)+p) = msg2(k)*c(p);% 幅值*载波信号end
endslow = norm(tx).^2/symbol;  % 求每个符号的平均功率bit_error_percent = zeros(1,length(EsN0));
for i = 1:length(EsN0)sigma = sqrt(slow/(2*snr1(i)));             % 根据符号功率求噪声功率rx = tx + sigma*rand(1,length(tx));          % 加入AWGNrx1 = reshape(rx,length(c),length(msg2));  % 把数据变为一个符号是一列的格式r00 = (c * rx1)/length(c);                % 相关器输出,每次求length(c)个连续采样点与rx的互相关% 判决:欧氏距离最接近msg_demodulation = zeros(1,symbol);for k = 1:symbolD0 = 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;enddecmsg = graycode(msg_demodulation+1);% Gray逆映射bit_error_cnt = 0;for k = 1:symbolif(decmsg(k) ~= msg(k))% 当判定的接收比特与发送比特不一致时,认为判定错误bit_error_cnt = bit_error_cnt + 1;endendbit_error_percent(i) = bit_error_cnt/symbol;
end
figure;
plot(EsN0,bit_error_percent,'-o');
title('载波4-ASK信号误比特率性能');
xlabel('Es/N0');
ylabel('误比特率Pe');
legend('仿真结果');

结果:

4-ASK的四种载波形式

误比特率结果

通信原理(2)载波传输ASK相关推荐

  1. Binder跨进程通信原理(三):Binder IPC实现原理

    1. 动态内核可加载模块 && 内存映射 正如上一章所说, 跨进程通信是需要内核空间做支持的. 传统的 IPC 机制如 管道, Socket, 都是内核的一部分, 因此通过内核支持来实 ...

  2. Binder跨进程通信原理(一):动态内核加载模块

    先上一张Binder 的工作流程图.(如果不清晰,可以 复制图片链接到浏览器 或 保存到本地 查看,我经常都是这样看图的哈) 一开始上手,陌生的东西比较多,But,其实并不复杂.喔,流程图是用 Pro ...

  3. 传统的Linux中IPC通信原理

    在了解 Binder 跨进程通信原理之前, 我们先了解一下 Linux 传统的进程间通信的概念和基本原理, 这样有助于我们更好的理解 Binder 的通信原理. 这个部分基本都是理论, 基础不是很好的 ...

  4. HwBinder原理总结-Android10.0 HwBinder通信原理(十一)

    摘要:本节主要来进行Android10.0 HwBinder的原理总结 阅读本文大约需要花费14分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设 ...

  5. HwBinder驱动篇-Android10.0 HwBinder通信原理(十)

    摘要:本节主要来讲解Android10.0 HwBinder驱动的流程 阅读本文大约需要花费24分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设 ...

  6. JAVA层HIDL服务的获取原理-Android10.0 HwBinder通信原理(九)

    摘要:本节主要来讲解Android10.0 JAVA层HIDL服务的获取原理 阅读本文大约需要花费19分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的 ...

  7. JAVA层HIDL服务的注册原理-Android10.0 HwBinder通信原理(八)

    摘要:本节主要来讲解Android10.0 JAVA层HIDL服务的注册原理 阅读本文大约需要花费22分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的 ...

  8. Native层HIDL服务的获取原理-Android10.0 HwBinder通信原理(七)

    摘要:本节主要来讲解Android10.0 Native层HIDL服务的获取原理 阅读本文大约需要花费23分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Androi ...

  9. Native层HIDL服务的注册原理-Android10.0 HwBinder通信原理(六)

    摘要:本节主要来讲解Android10.0 Native层HIDL服务的注册原理 阅读本文大约需要花费23分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Androi ...

  10. HwServiceManager篇-Android10.0 HwBinder通信原理(五)

    摘要:本节主要来讲解Android10.0 HwServiceManager的通信原理 阅读本文大约需要花费34分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,And ...

最新文章

  1. android 耳机红外线,红外线耳机制作方法
  2. codevs1183 泥泞的道路(01分数规划)
  3. python 调用c++ ffmpeg接收yuv
  4. context-param和init-param区别
  5. SpringCloud配置中心高可用搭建
  6. sort command
  7. redhat6.3的linux内核版本,1-6-RHEL6.3-内核升级(Red Hat Enterprise Linux Server6.3)@树袋飘零...
  8. 因为我们还很穷,所以世界杯氛围差
  9. 微软想证明Windows比Chrome好 主要源自恐惧?
  10. 安卓基础干货(四):安卓网络编程的学习
  11. 不要让SOA控制我们的思想
  12. 计算机一级win7操作题,计算机等级考试一级WIN7操作题.docx
  13. 机器学习常用算法总结
  14. 关于被调函数形参:SqList L、SqList L、SqList *L 的区别
  15. 15 JS运算符优先级
  16. jwt的token自动续约_关于 JWT Token 自动续期的解决方案
  17. 毕业季:我和未来有个对话
  18. uni-app——如何获取页面容器的高度
  19. matlab双纵轴刻度覆盖问题,求助: matlab双纵轴换图问题
  20. JS中的for循环解数学题

热门文章

  1. 基于asp.net土特产交易系统
  2. latex解决目录文字重叠问题以及变成中文序号
  3. 平安京s9服务器维护,决战平安京S9赛季环境调整了什么-S9赛季环境调整内容一览...
  4. I.MX6ULL裸机驱动开发四种方式总结
  5. Android向SD卡写入文件
  6. 记 DNS 解析失败跟踪调试
  7. UART一对多通信的方法
  8. 安装loadrunner11,卸载360浏览器后提示“无效的应用程序路径!请检查应用程序是否存在!”...
  9. 探究Spring AOP 同类调用失效问题
  10. @TableField(fill = FieldFill.INSERT)