matlab仿真 数字基带传输(下)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真   刘学勇编著第六章内容,有兴趣的读者请阅读原书)

 

 

clear all
Fd=1;%符号采样频率
Fs=10;%滤波器采样频率
r=0.2;%滤波器滚降系数
delay=4;%滤波器时延
[num,den]=rcosine(Fd,Fs,'default',r,delay);%设计滤波器
figure;impz(num,1);%滤波器的冲激响应(1)
title('滤波器的冲激响应')
x=randi([0,1],1,30);%二进制数据序列
[y,ty]=rcosflt(x,Fd,Fs,'filter',num,den);%用已经设计好的滤波器对输入数据进行滤波,即对二进制数据进行脉冲成形
%其中y是滤波的结果,ty是出现对应结果的时间
figure
t=delay:length(x)+delay-1;
stem(t,x,'-r');hold on%画出二进制数据
plot(ty,y)%画出脉冲成形的数据
legend('二进制数据','脉冲成形后的数据')
axis([-1 40 -0.5 2])

(1)关于函数impz的使用,详见

http://t.csdnimg.cn/Vk7lz

在此可以简述为:在此次滤波过程中分母系数为1,分子系数为num。

clear all
nsymbol=100000;  %每种信噪比下的发送符号数Fd=1;%符号采样频率
Fs=10;%滤波器采样频率
rolloff=0.25;%滤波器滚降系数
delay=5;%滤波器时延
M=4;%4-PAM
graycode=[0 1 3 2];%格雷编码准则
EsN0=0:15;%信噪比,E/N0msg=randi([0,3],1,nsymbol);%消息数据
msg1=graycode(msg+1);%格雷映射
msgmod=pammod(msg1,M);%4-PAM调制
rrcfilter=rcosine(Fd,Fs,'fir/sqrt',rolloff,delay);%设计根升余弦滤波器
s=rcosflt(msgmod,Fd,Fs,'filter',rrcfilter);%通过根升余弦滤波器进行脉冲成形
for indx=1:length(EsN0)decmsg=zeros(1,nsymbol);r=awgn(real(s),EsN0(indx)-7,'measured');%通过AWGN信道rx=rcosflt(r,Fd,Fs,'Fs/filter',rrcfilter);%通过根升余弦滤波器进行相关rx1=downsample(rx,Fs);%相关器采样rx2=rx1(2*delay+1:end-2*delay);%去掉延迟msg_demod=pamdemod(rx2,M);%判决decmsg=graycode(msg_demod+1);%格雷逆映射(1)[err,ber(indx)]=biterr(msg,decmsg,log2(M));%求误比特率[err,ser(indx)]=symerr(msg,decmsg);%求误符号率
end
semilogy(EsN0,ber,'-ko',EsN0,ser,'-k*',EsN0,1.5*qfunc(sqrt(0.4*10.^(EsN0/10))));%(2)
title('4-PAM信号在AWGN理想带限信道下的性能')
xlabel('Es/N0');ylabel('误比特率和误符号率')
legend('误比特率','误符号率','理论误符号率')

 (1)因为调制信号在发送端和接收段均使用根升余弦滤波器进行滤波,所以一共要使用根升余弦滤波器进行两次相关,总体思路如下

(发送端)消息数据-》格雷码映射-》4-PAM调制-》通过滤波器进行脉冲成形-》通过AWGN信道-》

(进入接收端)-》再次通过滤波器进行脉冲成形-》相关器采样(脉冲成形的逆过程)-》去延迟(滤波器自身含有延迟)-》判决(4-PAM的逆过程)-》格雷逆映射-》消息数据

(2)理论的误符号率是通过式6-25推出来的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python读取grib数据获取变量推荐姿势

前情提要 最近使用的EC和GFS预报数据给的都是grib2格式的,之前用惯nc格式的,python读取grib2数据的时候还走了些弯路,看到很多博客上给的教程其实不能满足我的需求,现在搞明白了分享一下 pygrib安装 第一个问题就是我电脑上pyg…

通信原理实验六:实验测验

实验六 实验测验 一:测验内容和要求 测试需要完成以下几个步骤: 配置好以下网络图;占总分10%(缺少一个扣一分)根据下面图配置好对应的IP和网关以及路由等相关配置,保证设备之间连通正常;占总…

领略诗词之妙,发觉生活之美。

文章目录 引言落霞与孤鹜齐飞,秋水共长天一色。野渡无人舟自横。吹灭读书灯,一身都是月。我醉欲眠卿且去,明朝有意抱琴来。赌书消得泼茶香,当时只道是寻常。月上柳梢头,人约黄昏后。最是人间留不住,朱颜辞镜花辞树。山中何事?松花酿酒,春水煎茶。似此星辰非昨夜,为谁风…

用Swagger进行后端接口测试的实战操作

目录 一.什么是Swagger? 二.Swagger的使用操作流程: 1.在pom.xml配置文件导入 Knife4j 的依赖: 2.在config配置类中加入 Knife4j 的相关配置并设置静态资源映射(否则接口文档无法访问): 三.Swagger的四个…

redis构建集群时,一直Waiting for the cluster to join

redis构建集群时,一直Waiting for the cluster to join 前置条件参考 前置条件 这是我搭建的集群相关信息,三台虚拟机,分别是一主一从。在将所有虚拟机中redis服务器用到的tcp端口都打开之后,进行构建集群。但是出现上面的情况。 …

【llama3.1】ollama的使用--本地部署使用llama3.1模型

快速入门 安装完成ollama后,在命令行窗口输入 ollama run llama3 上图表示 Ollama 正在下载 llama3 任务所需的资源文件,并显示了当前的下载进度、速度和预计剩余时间。这是 Ollama 在准备运行 llama3 任务之前所需的步骤。 上面的步骤完成后,就可以在本地进行聊天了,…

基于 HTML+ECharts 实现的数据可视化大屏案例(含源码)

数据可视化大屏案例:基于 HTML 和 ECharts 的实现 数据可视化已成为企业决策和业务分析的重要工具。通过直观、动态的图表展示,数据可视化大屏能够帮助用户快速理解复杂的数据关系,发现潜在的业务趋势。本文将介绍如何利用 HTML 和 ECharts 实…

区块链和数据要素融合的价值及应用

一、数据要素面临的关键障碍 在构建数据要素基石的过程中,首要任务是明确并解决产权架构的难题,特别是使用权的确立与流转机制的顺畅,此乃数字经济蓬勃发展的命脉所在。一个高效的数据流转体系对于激发数据潜能、加速经济发展及优化数据资源…

JVM系列(三) -类加载器及双亲委派模型介绍

在之前的文章中,介绍了类的加载过程中,我们有提到在加载阶段,通过一个类的全限定名来获取此类的二进制字节流操作,其实类加载器就是用来实现这个操作的。 在虚拟机中,任何一个类,都需要由加载它的类加载器…

声音克隆一键本地化部署 GPT-SoVITS

文章目录 GPT-SoVITS 介绍1:GPT-SoVITS安装2:GPT-SoVITS使用2.1 人声伴奏分离,去混响去延时工具2.2 语音切分工具2.3 语音降噪工具2.4 中文批量离线ASR工具2.5 语音文本校对标注工具GPT-SoVITS 介绍 GPT-SoVITS: 是一个由RVC变声器创始人“花儿不哭”推出的免费开源项目。…

WPF多语言国际化,中英文切换

通过切换资源文件的形式实现中英文一键切换 在项目中新建Language文件夹,添加资源字典(xaml文件),中文英文各一个。 在资源字典中写上想中英文切换的字符串,需要注意,必须指定key值,并且中英文…

DT浏览器首页征集收录海内外网址

DT浏览器首页征集收录海内外网址,要求页面整洁,内容丰富,知识性和可读性强,符合大众价值观,不含恶意代码

学术研讨 | 区块链与隐私计算领域专用硬件研讨会顺利召开

学术研讨 添加图片注释,不超过 140 字(可选) 近日,国家区块链技术创新中心主办,长安链开源社区支持的“区块链性能优化与融合技术研讨会”顺利召开。当前,区块链与新技术之间的交叉融合和协同创新正成为显…

springboot+webSocket对接chatgpt

webSocket对接参考 话不多说直接上代码 WebSocket package com.student.config;import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springfram…

Linux搭建Kubernetes集群(单Master)【附图文】

文章目录 一、集群环境配置要求二、主机准备三、初始环境准备1.关闭防火墙2.关闭 selinux3.关闭swap4.加载 br_netfilter 模块5.允许iptables转发流量6.设置时间同步 四、安装Docker五、安装kubeadm, kubectl, kubelet六、在Master节点部署集群七、将 node 节点加入集群八、部署…

(一)Readme 了解kurator

Kurator 是一个开源的分布式云原生平台,旨在帮助用户构建自己的分布式云原生基础设施,并出金企业进行数字化转型。 概览 云原生软件栈:kurator结合了多种流行的云原生软件栈(Kubernetes、Istio、Prometheus等)&#…

CSS(四)——CSS Text(文本)

CSS Text(文本&#xff09; 文本颜色 颜色属性被用来设置文字的颜色。 颜色是通过CSS最经常的指定&#xff1a; 十六进制值 - 如: &#xff03;FF0000 一个RGB值 - 如: RGB(255,0,0) 颜色的名称 - 如: red 一个网页的背景颜色是指在主体内的选择&#xff0c;即<body…

【C语言】英寸英尺转换米

运行的结果为 我们百度一下 恒明显我们的答案错了,那这个是为什么呢? 问题就出现在计算的地方,c语言规定两个整数计算,那么小数的部分会被丢弃. 如果计算的两个数中有一个数为小数,那么会将两个数都变为小数在进行计算,结果也会是小数. 那么我们现在就有解决办法了. 方法一…

【时时三省】unity test 测试框架 下载

目录 1&#xff0c;unity test 测试框架介绍 2&#xff0c;源码下载 3&#xff0c;目录架构 4&#xff0c;git for window 下载安装方法&#xff1a; 1&#xff0c;unity test 测试框架介绍 Unity是一个用于C语言的轻量级单元测试框架。它由Throw The Switch团队开发&#…

Umi-OCR:功能强大且易于使用的本地照片识别软件

Umi-OCR是一款开源且免费的离线OCR&#xff08;光学字符识别&#xff09;软件&#xff0c;可让您轻松从照片中提取文本。它支持多种语言&#xff0c;并具有许多其他功能使其成为照片识别任务的绝佳选择。 Umi-OCR的优势 离线操作&#xff1a; Umi-OCR无需互联网连接即可工作&…