【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

相关推荐
AOwhisky17 分钟前
Python 学习笔记(第十一期)——运维自动化(上·后篇):进程级监控与子进程管理——psutil进阶
运维·开发语言·python·学习·云原生·运维开发
人工干智能28 分钟前
Python 的链式调用:一连串的“点”调用
开发语言·python
就不掉头发1 小时前
如何优化程序的性能
开发语言
手写码匠1 小时前
MCP协议从零实现:手写一个完整的 Model Context Protocol 服务器与客户端
开发语言·数据结构
良木生香1 小时前
【C++初阶】STL—— Stack & Queue 从入门到精通:容器适配器、迭代器与经典面试题
java·开发语言·c++·算法·zookeeper
lbb 小魔仙1 小时前
Python 性能分析工具实战:cProfile、memory_profiler、line_profiler 使用指南
开发语言·python
小小晓.1 小时前
C++小白记:vector
开发语言·c++·算法
小刘学技术2 小时前
AI人工智能决策树分类器:原理、实现与应用
开发语言·人工智能·python·算法·决策树·机器学习·数据挖掘
脱胎换骨-军哥2 小时前
C++ 嵌入式编程实例:从寄存器操作到底层驱动开发
开发语言·c++·驱动开发
-银雾鸢尾-2 小时前
C#中的万物之父——Object类
开发语言·c#