【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

相关推荐
MetaverseMan3 分钟前
Golang单例模式和工厂模式详解
开发语言·golang·适配器模式
杏花春雨江南17 分钟前
Spring Cloud Gateway 作为一个独立的服务进行部署吗
java·开发语言
GSDjisidi18 分钟前
东京本社招聘 | 财务负责人 & 多个日本IT岗位(Java/C++/Python/AWS 等),IT营业同步招募
java·开发语言·aws
skywalk816319 分钟前
copyparty 是一款使用单个 Python 文件实现的内网文件共享工具,具有跨平台、低资源占用等特点,适合需要本地化文件管理的场景
开发语言·python
BYSJMG24 分钟前
计算机毕设选题:基于Python+MySQL校园美食推荐系统【源码+文档+调试】
大数据·开发语言·python·mysql·django·课程设计·美食
Zz_waiting.29 分钟前
案例开发 - 日程管理 - 第七期
开发语言·前端·javascript·vue.js·html·路由
writeone29 分钟前
9-10关于JS初学产生的问题
开发语言·javascript·ecmascript
索迪迈科技1 小时前
Flink Task线程处理模型:Mailbox
java·大数据·开发语言·数据结构·算法·flink
太阳的后裔3 小时前
随笔一些用C#封装的控件
开发语言·c#
tianyuanwo3 小时前
Rust语言组件RPM包编译原理与Cargo工具详解
开发语言·网络·rust·rpm