【MATLAB源码-第11期】基于matlab的2FSK的误码率BER仿真以及原信号调制信号解调信号波形展示。

1 、算法描述

2FSK(Frequency Shift Keying)为二进制数字频率调制(二进制频移键控),用载波的频率来传送数字信息,即用所传送的数字信息控制载波的频率。2FSK信号便是符号"0"对应于载频 f1,而符号"1"对应于载频 f2(与 f1 不同的另一载频)的已调波形,而且 f1 与 f2 之间的改变是瞬间的。传"0"信号时,发送频率为 f1 的载波; 传"1"信号时,发送频率为 f2的载波。可见,FSK 是用不同频率的载波来传递数字消息的。

二进制频移键控(2FSK)是通过对两个不同载波信号进行变换使其成为数字信号来完成信息传输的。是用载波频率的变化来表征被传信息的状态的,被调载波的频率随二进制序列 0、1 状态而变化。

一般来说,其信号产生有两种方法,即频率键控法和直接调频法。频率键控法:两个分别产生正弦振荡的独立振荡器经由数字基带信号控制的电子开关后,选出的高频振荡信号就是FSK 调制信号。直接调频法是利用数字基带信号直接控制载频振荡器的振荡频率。与键控法调频相比较,它产生的信号频率稳定性比键控法产生的信号差,且存在过渡频率。

在接收端,信号的解调方法有两种,一种为相干解调法,另一种叫非相干解调法也叫包络检波法。如图1所示为相干解调和非相干解调的原理框图。非相干解调首先将得到的信号进行带通滤波后滤除载波频率以外的噪声以及干扰,使得信号可以完整的通过,再经过全波整流器输出正极端的包络曲线,然后经过低通滤波器或者整流模块输出基带包络信号,再经过抽样判决器输出基带二进制信号。其中的抽样判决模块用到的抽样定时脉冲信号与每一个码元的周期相同,并且在码元的中间位置进行抽样。包络检波各个部分的输出时间波形图, 最终输出的波形在时间上相对于原基带二进制信号有一定的延时,这是硬件部分进行信号处理时无法避免的,在信号速率不大的情况下这种延时可以忽略。

2 、仿真结果演示

3 、关键代码展示

4 、MATLAB 源码获取

点击下方原文链接获取

【MATLAB源码-第11期】基于matlab的2FSK的误码率BER仿真以及原信号调制信号解调信号波形展示。_基于matlab的2fsk仿真-CSDN博客https://blog.csdn.net/Koukesuki/article/details/132312096?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171245824516800185813140%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171245824516800185813140&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-132312096-null-null.nonecase&utm_term=%E7%AC%AC11%E6%9C%9F&spm=1018.2226.3001.4450

相关推荐
黄河滴滴8 分钟前
java系统变卡变慢的原因是什么?从oom的角度分析
java·开发语言
老华带你飞26 分钟前
农产品销售管理|基于java + vue农产品销售管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
superman超哥31 分钟前
Rust Workspace 多项目管理:单体仓库的优雅组织
开发语言·rust·多项目管理·rust workspace·单体仓库
kylezhao20191 小时前
C#通过HSLCommunication库操作PLC用法
开发语言·c#
JIngJaneIL2 小时前
基于springboot + vue房屋租赁管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
期待のcode2 小时前
Java的抽象类和接口
java·开发语言
wadesir2 小时前
Go语言中高效读取数据(详解io包的ReadAll函数用法)
开发语言·后端·golang
小高不明3 小时前
前缀和一维/二维-复习篇
开发语言·算法
龘龍龙3 小时前
Python基础(八)
开发语言·python
幺零九零零4 小时前
Golang-Swagger
开发语言·后端·golang