MATLAB编程实现2FSK信号的调制与解调(非相干解调)

本文详细介绍了2FSK(二进制频移键控)信号的产生方法,包括模拟法和键控法,并通过具体的信号波形图展示了调制过程。同时,阐述了2FSK信号的解调,提到了非相干解调和相干解调两种方式,以及在MATLAB环境中实现2FSK调制和解调的步骤。最后,进行了误码率分析,验证了解调的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2FSK信号的产生 

数字频率调制又称频移键控(FSK),二进制频移键控记作2FSK。数字频移键控是用载波的频率来传送数字消息,即用所传送的数字消息控制载波的频率。2FSK信号便是符号“1”对应于载频f1,而符号“0”对应于载频f2(与f1不同的另一载频)的已调波形,而且f1与f2之间的改变是瞬间完成的。

2FSK信号还可以看作两个不同载频的ASK信号的叠加。因此2FSK信号的时域表达式又可以写成:

e_{2FSK}=s_{1}(t)cos(w_{1}t+w_{2}t)+s_{2}(t)cos(w_{2}+\Theta _{n})

所以2FSK信号的产生方法有两种:

  1. 模拟法,即用数字基带信号作为调制信号进行调频。
  2. 键控法,用数字基带信号g(t)及其反相信号\overline{g(t) }分别控制两个开关门电路,以此对两个载波发生器进行选通。

 键控法如下图:

 

图1 键控法 

 

2FSK调制原理

二进制频率调制是用二进制数字信号控制正弦波的频率随二进制数字信号的变化而变化。由于二进制数字信息只有两个不同的符号,所以调制后的已调信号有两个不同频率的f1和f2,f1对应数字信息“1”,f2对应数字信息“0”。

在2FSK信号中,当载波频率发生变化时,载波的相位一般来说是不连续的,这种信号称为不连续2FSK信号。相位不连续的2FSK通常用频率选择法产生,如图所示:

 

图2 2FSK信号调制器 

 

两个独立的振荡器作为两个频率发生器,他们受控于输入的二进制信号,二进制信号通过两个与门电路,控制其中的一个载波通过。 调制器各点波形如图3所示:

 

图3 2FSK调制各点波形图 

 

可以看出,二进制频率调制信号2FSK可以看成是两个载波频率分别为f1和f2的2ASK信号的和。 

 

2FSK解调原理

2FSK的解调方式有两种:相干解调方式和非相干解调方式。在相同信噪比的前提下两种方式性能差别不大,包络检波不需要相干载波,因而设备简单,2FSK非相干运用更加广泛。

  1. 非相干解调

经过调制后的2FSK数字信号通过两个频率不同的带通滤波器f1、f2滤出不需要的信号,然后再将这两种经过滤波器的信号分别通过包络检波器检波,最后将两种信号同时输入到抽样判决器同时外加抽样脉冲,最后解调出来的信号就是调制前的输入信号。其原理框图如图4所示:

 

图4 非相干解调原理框图 

2 相干解调 

根据已调信号由两个载波f1、f2调制而成,则先用两个分别对f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波f1、f2相乘进行相干解调,再分别通过低通滤波器,通过低通滤波器之后再用抽样信号进行抽样判决即可完成解调。原理框图如图5所示:

图5 相干解调原理框图 

  1. 系统设计步骤

3.1、信号产生

1)将要传输的字符串‘2120837+190020xx-xx+张三’转换成二进制流作为我们的基波调制信号a,并画出波形,在二进制基带矩形脉冲序列的控制下通过开关电路对两个不同的独立频率源进行选通,使其在每一个码元TB期间输出f1或f2两个载波之一,然后将波形画出来。。

字符串产生:

 

 

图7:字符串图

 

图7:信号图

2)产生两个频率为f1=100KHz和f2=150KHz的余弦波作为基带信号b1、b2,并画出其波形。

图8 两个信号 

3.2、信号调制

产生2FSK信号和加入高斯噪声后的2FSK信号

1)用二进制序列a去调制f1和f2,产生2fsk信号,具体做法是用以a生成的方波信号直接与f1相乘,用a取反后的方波与f2相乘,再将两列信号相加,并画出已调信号的波形。

2)调用MATLAB库函数产生高斯噪声信噪比20dB,并与2fsk信号相加得到加入噪声后的信号。并画出加噪后的波形和已调信号的加噪后波形。

 

图9 加噪 

3.3、信号解调

1)将加噪已调信号通过两个带通滤波器w1和w2,他们分别以f1和f2为中心频率,并画出经过带通滤波器后的波形。 

图10 带通

2)对经过带通滤波器的两列信号进行全波整流并画出此时的波形。

 

 图11  全波整流

3)让这两列波形再通过低通滤波器得到这两列基带调制波形s3和s4并画出其波形。

 图12 低通

4)最后将两列波通过抽样判决器,画出其通过抽样判决后的波形,并与之前调制后的波形做对比。

图13 判决 

通过与发送的码元信号对比,接收到的码元信号与发送的一致,只是时延上的区别,这样就算将已调的信号进行解调出来了。 

恢复出的字符串如下图所示:

图14:恢复出来字符串

通过与发送的码元信号对比,接收到的码元信号与发送的一致,只是时延上的区别,这样就算将已调的信号进行解调出来了。

最后进行误码率分析,如图所示,理论与实际误码率比较。

 

图15 误码率分析图

 4参考文献

[1]樊昌信,曹丽娜.通信原理第六版[M].国防工业出版社,2012:180-205

 

 

 

### Simulink 中实现 2FSK 眼图仿真的方法 在 Simulink 中进行 **2FSK(二进制频移键控)眼图仿真**,主要涉及以下几个关键步骤:信号生成、调制、信道传输、解调以及眼图的绘制。以下是一个完整的流程说明和操作建议: #### 1. 搭建 2FSK 调制模型 - 使用 **Bernoulli Binary Generator** 模块生成二进制随机数据流。 - 将二进制数据映射为两个不同频率的正弦波信号。可以使用 **Switch** 模块根据输入比特选择不同的频率源。 - 频率源可以通过 **Sine Wave** 模块设置,例如 `f0` 和 `f1` 分别对应逻辑“0”和逻辑“1”[^2]。 ```matlab % 示例:在 MATLAB 中定义两个频率 f0 = 1000; % 频率1 f1 = 2000; % 频率2 ``` #### 2. 添加信道噪声 - 使用 **AWGN Channel** 模块模拟高斯白噪声信道的影响。 - 设置合适的信噪比(SNR)以观察眼图在不同噪声环境下的表现。 #### 3. 解调部分设计 - 接收端使用 **相干解调** 或 **非相干解调** 方法: - 相干解调需要本地恢复载波,通常通过锁相环(PLL)或同步技术实现。 - 非相干解调则采用包络检测或差分检测方式。 - 在实际通信中,由于存在相位偏移和多径效应,相干解调对同步要求较高[^3]。 #### 4. 眼图绘制模块配置 - 使用 **Eye Diagram Scope** 模块来观察眼图。 - 设置采样点数、周期、偏移等参数,使其能够正确显示一个码元周期内的波形叠加效果。 - 确保示波器的时间窗口码元速率匹配,以便观察多个符号的重叠情况。 ```matlab % 示例:在 Eye Diagram Scope 中设置参数 SampleOffset = 0; SamplesPerSymbol = 16; % 假设每个符号采样16次 ``` #### 5. 仿真运行结果分析 - 启动仿真后,观察眼图是否清晰张开。眼图越张开,表示系统抗干扰能力越强。 - 如果眼图闭合或模糊,可能的原因包括信道噪声过大、定时不准确、码间干扰严重等。 --- ### 注意事项 - **时间同步** 是影响眼图质量的关键因素之一,需确保接收端发送端时钟一致。 - 可以通过加入 **Raised Cosine Filter** 来减少码间干扰,从而改善眼图质量。 - 若希望验证系统的误码性能,可在仿真中加入 **Error Rate Calculation** 模块并连接至 Display 模块。 --- ### 教学资源参考资料 - MathWorks 官方文档提供了关于 [Simulink 眼图仿真的详细教程](https://www.mathworks.com/help/comm/ug/eye-diagram.html)。 - 西电实验教学中也有关于 2FSK 相干解调眼图观测的实践案例,可参考其实验文件指导手册[^3]。 ---
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫咪铲屎官

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值