二进制数字(2ASK)载波调制解调仿真设计(matlab仿真)

2023-11-11

一、实验目的

        了解二进制数字信号2ASK波形特点,掌握2ASK调制解调系统的构成,基带信号、载波和2ASK已调信号之间的关系;掌握利用matlab对2ASK进行仿真的分析方法。

二、实验任务

利用matlab实现对2ASK信号调制与解调的仿真,其中设定码元个数为42,分别给出:

(1)消息信号、2ASK信号和解调信号的波形;

(2)给出2ASK信号在AWGN信道下的误码率和误比特率性能,并与理论值相比较。利用matlab仿真软件编写程序,完成相应实验内容。

简述2ASK调制解调系统的工作原理和程序设计思路,分别给出(1)无噪声时,消息信号、2ASK信号和解调信号的波形;(2)加入AWGN时,给出BER、SER和理论值随SNR变化的曲线。

三、实验代码

2ASK在无噪声情况下的调制与解调代码:

clc,clear;
i=42;                    %42个码元
j=42000;
t=linspace(0,42,j);     	%0~42之间产生42000个点行向量,即分成42000份
fc=1;                    %载波频率
fm=i;                    %码元速率
%产生基带信号
x=(rand(1,i))             %rand函数产生在0~1之间随机数,共42个
a=round(x);              %随机序列,round取最接近小数的整数
st=t;
for n=1:i 
if a(n)<1
for m=j/i*(n-1)+1:j/i*n
st(m) = 0; 
end
else
for m=j/i*(n-1)+1:j/i*n 
st(m)=1; 
end
end
end
figure(1);
subplot(221); 
plot(t,st);
axis([0,42,-0.2,1.2]); 
title('基带信号');
s1=cos(2*pi*fc*t);            		%载波 
subplot(222); 
plot(t,s1);
axis([0,42,-1.2,1.2]); 
title('载波信号');
e_2ask=st.*s1;               		%调制 
subplot(223); 
plot(t,e_2ask);
axis([0,42,-1.2,1.2]); 
title('已调信号');
at = e_2ask.*cos(2*pi*fc*t);        %相干解调

at=at-mean(at);                  %因为是单极性波形,还有直流分量,应去掉 
[f,af]= T2F(t,at);                  %通过低通滤波器 
[t,at]= lpf(f,af,2*fm);           
%采样判决
for m=0:i-1
if at(1,m*1000+500)+0.5<0.5
for j=m*1000+1:(m+1)*1000
at(1,j)=0;
end
else
for j=m*1000+1:(m+1)*1000
at(1,j)=1;
end
end
end
subplot(224); 
plot(t,at);
axis([0,42,-0.2,1.2]); 
title('相干解调后波形');

function [f,sf]= T2F(t,st)
%利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。
%函数T2F,计算信号的傅立叶变换。
%Input is the time and the signal vectors,the length of time must greater
%than 2
%Output is the frequency and the signal spectrum
dt = t(2)-t(1);
T=t(end);
df = 1/T;
N = length(st);
f=-N/2*df : df : N/2*df-df;
sf = fft(st);
sf = T/N*fftshift(sf);
end

function [t,st]=F2T(f,sf)
%计算信号的反傅立叶变换。
%This function calculate the time signal using ifft function for the input
df = f(2)-f(1);
Fmx = ( f(end)-f(1) +df);
dt = 1/Fmx;
N = length(sf);
T = dt*N;
%t=-T/2:dt:T/2-dt;
t = 0:dt:T-dt;
sff = fftshift(sf);
st = Fmx*ifft(sff);
end

function [t,st]=lpf(f,sf,B)
%This function filter an input data using a lowpass filter
%Inputs: f: frequency samples
% sf: input data spectrum samples
% B: lowpass bandwidth with a rectangle lowpass
%Outputs: t: time samples
% st: output data time samples
df = f(2)-f(1);
T = 1/df;
hf = zeros(1,length(f));            %全零矩阵
bf = [-floor( B/df ): floor( B/df )] + floor( length(f)/2 );
hf(bf)=1;
yf=hf.*sf;
[t,st]=F2T(f,yf);
st = real(st);
end

四、实验结果

图1  无噪声下消息信号、2ASK信号和解调信号的波形

图2 有噪声下消息信号、2ASK信号和解调信号的波形(码元个数42)

图4  误比特数和误码率(SNR=10)

图5  误码率和信噪比之间的关系曲线

如需要完整的matlab仿真代码和实验报告,请自行付积分查看,链接如下:

二进制数字(2ASK)载波调制解调仿真设计(matlab仿真)资源-CSDN文库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二进制数字(2ASK)载波调制解调仿真设计(matlab仿真) 的相关文章

  • 如何将Matlab命令的输出重定向到文件? [复制]

    这个问题在这里已经有答案了 我想将 Matlab 命令的输出重定向或复制到文件中 我怎样才能做到这一点 就我而言 我想使用 UNIX 工具比较两个大型结构diff 示例 我可以在 Matlab 中执行此操作 gt gt s1 s1 a 32
  • 在 MATLAB 中一次为元胞数组分配不同的值

    我需要有关在 MATLAB 中创建元胞数组的帮助 其中每个元胞都是不同大小的数组 例如 假设我有这个简单的数组和值 A 5 3 8 7 0 4 1 B 10 元胞数组C必须创建为 C 10 20 30 40 50 10 20 30 10 2
  • 我的傅立叶逆变换中的尖峰

    我正在尝试在 MATLAB 中比较两个数据集 为此 我需要通过傅里叶变换数据来过滤数据集 对其进行过滤 然后对其进行逆傅里叶变换 然而 当我对数据进行逆傅里叶变换时 我在红色数据集的两端都出现了一个尖峰 图片显示了第一个尖峰 它在开始时应该
  • 如何将向量标准化/非标准化到范围 [-1;1]

    我怎么能够正常化到范围的向量 1 1 我想使用函数norm 因为它会更快 也让我知道我该怎么做非规范化之后的向量正常化 norm对向量进行归一化 使其平方和为 1 如果要对向量进行归一化 使其所有元素都在 0 和 1 之间 则需要使用最小值
  • Matlab 中二维插值的函数形式

    我需要从二维数据数组构造一个插值函数 我需要返回实际函数的东西的原因是 我需要能够将函数作为我需要进行数值积分的表达式的一部分进行计算 因此 interp2 并没有解决这个问题 它不返回函数 我可以使用 TriScatteredInterp
  • 在Matlab中将矩阵中的元素i,j设置为i*j

    我想生成一个矩阵 其中 i j 元素等于 i j 其中 i j e g 0 2 3 2 0 6 3 6 0 到目前为止 我已经发现我可以使用这个索引矩阵访问非对角线元素 idx 1 eye 3 但我还没有弄清楚如何将矩阵单元的索引合并到计算
  • 在 MATLAB 中高效地形成动态窗口

    有人可以帮助我提供一种有效的方法 或者帮助我执行提供的代码 以尽可能少的步骤获得相同的结果 我将感激你 我有一个原始数组 A 1 1 1 4 3 4 5 4 4 3 3 1 0 0 2 6 2 6 3 6 6 2 7 4 8 7 2 2 2
  • 优化数组压缩

    假设我有一个数组k 1 2 0 0 5 4 0 我可以按如下方式计算掩码m k gt 0 1 1 0 0 1 1 0 仅使用掩码 m 和以下操作 左移 右移 And Or 加 减 乘 我可以将 k 压缩为以下形式 1 2 5 4 以下是我目
  • MATLAB:生成给定三种颜色的颜色图

    我正在尝试在 MATLAB 中生成给定三种颜色 最高值 零值和最低值 的颜色图 我的思维过程是从最高端到中间循环 并将每个步骤存储到一个 3xN 第一列是 R 第二列是 G 第三列是 B 矩阵 所以我正在使用 fade from high
  • MATLAB 中元胞数组的左连接

    I ve 2 cellMATLAB 中的数组 例如 A jim 4 paul 5 sean 5 rose 1 第二个 B jim paul george bill sean rose 我想做一个 SQL 左连接 这样我就可以得到 B 中的所
  • 如何在Matlab脚本中将泰勒级数系数存储到数组中

    这个问题是在 m 脚本的上下文中 我知道如何获取函数的泰勒级数 但我没有看到任何命令允许将级数的系数存储到数组中 sym2poly似乎不起作用 如何将系数存储到数组中 例如这个函数 syms x f 1 x 2 4 x 9 我们怎样才能得到
  • 如何检测图像中对象的实例?

    我有一张包含几个特定对象的图像 我想检测这些物体在该图像中的位置 为此 我有一些模型图像 其中包含我想要检测的对象 这些图像在我想要检测的对象实例周围得到了很好的裁剪 这是一个例子 在这张大图里 我想检测此模型图像中表示的对象 自从你最初发
  • MATLAB 是否已有 YAML 库/解析器?

    我想使用 YAML 跨多种语言交流一些数据 将其视为 与语言无关的序列化 其中一种语言是 MATLAB 但我似乎找不到该语言的 YAML 库 我在 Google 上检查了 matlab yaml 和 matlab yaml parse 似乎
  • Matlab 的快速 JSON 解析器

    您知道 Matlab 中有一个非常快速的 JSON 解析器吗 目前我正在使用JSONlab http www mathworks com matlabcentral fileexchange 33381 jsonlab a toolbox
  • MATLAB 中的抗锯齿线和标记

    您好 我在 MATLAB 中有一张图像 我希望这条线是平滑的 看看从 0 4 到 0 8 的线 这太可怕了 当在图中使用 LineSmoothing on 运算符时 我得到了这个 我在线条上做得很好 但它也使标记变得平滑 而且它们太可怕了
  • 如何在 R 或 MATLAB 中为散点图创建阴影误差条“框”

    我想在 R 或 MATLAB 中创建一个简单的散点图 涉及两个变量 x 和 y 它们有与之相关的错误 epsilon x 和 epsilon y 然而 我不是添加误差线 而是希望在每个 x y 对周围创建一个 阴影框 其中框的高度范围从 y
  • 如何选择部分密集数据集的均匀分布子集?

    P是一个 n d 矩阵 持有nd 维样本 P某些地区的密度是其他地区的几倍 我想选择一个子集P其中任意样本对之间的距离大于d0 并且我需要将其传播到整个区域 所有样本都具有相同的优先级 无需优化任何内容 例如覆盖面积或成对距离之和 这是执行
  • 如何获取活动对象 MATLAB GUI 的句柄

    我正在尝试使用 MATLAB GUI 创建日历 我有两个Edit Text对象 edittext1 and edittext2 我想做这个 我把光标放在edittext1然后在日历中选择日期 它会进入文本字段edittext1 同样对于ed
  • 估算缺失数据,同时强制相关系数保持不变

    考虑以下 excel 数据集 m r 2 0 3 3 0 8 4 0 1 3 2 1 5 2 2 3 1 9 2 5 1 2 3 0 2 0 2 6 我的目标是使用以下条件填充缺失值 将上述两列之间的成对相关性表示为 R 大约 0 68 将
  • python 正弦和余弦精度

    如何提高Python正弦和余弦精度 例如 我想使用以下代码 只需计算随机复向量 x 的 y cos acos x import numpy as np N 100000 x np zeros N 1j np zeros N for k in

随机推荐

  • 深度学习环境配置8——(30系显卡)windows下的torch==1.7.1环境配置

    深度学习环境配置8 30系显卡 windows下的torch 1 7 1环境配置 注意事项 一 2021 10 8更新 学习前言 各个版本pytorch的配置教程 环境内容 环境配置 一 Anaconda安装 1 Anaconda的下载 2
  • 计算机毕业设计Node.js+Vue会议管理系统(程序+源码+LW+部署)

    该项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 欢迎交流 项目运行 环境配置 Node js Vscode Mysql5 7 HBuilderX Navicat11 Vue Express 项目技术 Express框架 No
  • java socket tcp 长连接_java socket长连接

    package com paic umap tcp import java io IOException import java io InputStream import java io ObjectInputStream import
  • LeetCode 182. Duplicate Emails

    SQL Schema Write a SQL query to find all duplicate emails in a table named Person Id Email 1 a b com 2 c d com 3 a b com
  • Ubuntu 下配置protobuf

    首先得到 protobuf 相应的包文件 在终端上输入如下 wget http protobuf googlecode com files protobuf 2 5 0 tar gz 由于 现在 protobuf 2 5 0 tar gz已
  • Python Serial串口的简单数据收发

    导入模块 注意这里模块名是pyserial pip install pyserial 1 打开串口 import serial com serial Serial COM3 9600 print com 2 发送数据 import seri
  • unityhub登录不上,登录界面刷新不出来

    如果是登录界面白屏的话可以尝试 1 关闭hub 右下角也要退出 找不到的可以直接任务管理器退出 2 删除 UserProfile AppData Roaming 里面的 UnityHub Cache和 Unity Caches 文件夹 3
  • javascript的null、undefined和布尔数据类型

    javascript中 有null undefined 在使用typeof 时候 console log typeof null object console log typeof undefined undefined null与unde
  • C++ gbk与utf8互转

    本文代码已在vs2017上验证 gbk转utf8容易出现中文乱码 有的时候在x86 32位编译环境下中文显示正常 但切换到x64 64位编译环境下会乱码 本文所示的代码在32位和64位编译环境下均不会出现乱码 使用例子见 C 调用pytho
  • 在windows下使用Vscode用CMake..命令编译源代码时候遇到的问题之解决办法

    由于我在windows下用Vscode总是不记得如何deal这个错误 因此今天就用这篇博客记录下来 在windows的Vscode这个IDE下 打开终端 输入命令行 C Users 11602 Desktop test build gt c
  • 【互联网有记忆】爬取微博热搜榜并存入数据库(python爬虫+存储过程后端实现)

    一 爬虫代码 import random time import requests re import datetime import mysql connector 定义爬取间隔 minutes interval time 15 clas
  • 随机森林(RF)

    目录 RF概念 RF算法流程 RF算法的优缺点 RF算法使用实现 RF应用 RF概念 随机森林指的是利用多棵树对样本进行训练并预测的一种分类器 决策树的详解见链接决策树 ID3算法 C4 5算法 CART算法 xiaoming1999的博客
  • Jmeter验证码图片识别注册接口压力测试实战

    写在前面 前段时间写了一篇博文 Jmeter验证码注册接口压力测试实战 前两天又登录对应的网站看了一下 发现原来滑动验证的方式改成了图片验证码的方式 防止用户多次发送手机验证码 看到这里我本来不想再有太多想法了 但是看到如下的注册界面 将很
  • Windows Server 命令行编码乱码问题

    Windows Server 命令行编码乱码问题 输入chcp发现编码是437也就是英文编码 那么有两种解决办法 0 前提 假如服务器是中文的 那么直接跳过 英文版的要找到时间和语言设置里的区域 gt 其他日期 时间和区域设置 将格式改为中
  • kvm环境快照(snapshot)的使用方法

    实例一 使用qemu img命令使用快照 kvm环境下qcow2的镜像支持快照 1 确认镜像的格式 root nc1 boss qemu img info test qcow2 image test qcow2 file format qc
  • 3. Zipkin 持久化

    Zipkin 持久化 其实 我们仔细想想也可以总结出这种方式的几种缺陷 缺陷1 zipkin客户端向zipkin server程序发送数据使用的是http的方式通信 每次发送的时候涉及到连接和发送过程 缺陷2 当我们的zipkin serv
  • AIGC发展研究(1.0版)

    该图谱由中国信息通信研究院 中国通信标准化协会大数据技术标准推进委员会 CCSA TC601 共同发起 旨在梳理数据治理产业上下游相关企业 产品 服务的分布情况 掌握数据治理市场现状 洞察数据治理产业发展趋势 图谱1 0收录了来自98家企业
  • Qt支持https请求

    Qt支持https请求需要配置openssl环境 Qt默认是不支持SSl认证的 检测Qt支持的协议 QNetworkAccessManager manager new QNetworkAccessManager this qDebug lt
  • 毕业两年后的经历总结——一个奋斗中的前端蜂鸟

    转眼间 已经毕业两年了 不得不感叹时间过的真快啊 学生时代的美好 终于只能永久停留在记忆长河中不再复返 韶光易逝 但唯一不变的 是变化 回望过去 有过困惑 有过迷茫 也有过焦虑 刚开始工作时 也遇到了很多很多的困难 这时的我对未来比较迷茫
  • 二进制数字(2ASK)载波调制解调仿真设计(matlab仿真)

    一 实验目的 了解二进制数字信号2ASK波形特点 掌握2ASK调制解调系统的构成 基带信号 载波和2ASK已调信号之间的关系 掌握利用matlab对2ASK进行仿真的分析方法 二 实验任务 利用matlab实现对2ASK信号调制与解调的仿真