基于stm32的2FSK调制解调器设计

您所在的位置:网站首页 原神家园同伴礼物 基于stm32的2FSK调制解调器设计

基于stm32的2FSK调制解调器设计

2023-10-08 21:31| 来源: 网络整理| 查看: 265

        笔者的专业是通信工程,通信领域内调制解调器的设计大多数用的都是硬件电路,但是鉴于笔者对编程情有独钟(其实笔者还是懂一点电路设计知识的~),所以最终决定用stm32来设计,纯编程实现。看起来高大上,但实际做起来不难,不过有挺多东西要考虑的,所以还是花了笔者一个星期的时间。

        废话不多说,先来介绍下什么是调制解调,什么是2FSK。

        在通信系统中,包含有丰富的低频分量的信号称为基带信号,在传输距离较近时,基带信号可以直接传输。但是如果要实现较远距离的传输时,需要用到调制技术,也就是用较高频率的载波与基带信号进行结合,然后发射出去,接收方接收到信号后,再通过一系列方法把基带信号还原出来。

        上面只是一个简单地介绍,实际上调制解调过程要更复杂得多,涉及到模拟调制和数字调制,AM,FM,ASK,FSK,PSK,QAM等调制方式和相干解调,非相干解调等解调方式,还要考虑码间串扰,误码率等传输性能的问题。在这里笔者不打算一一介绍,毕竟以编程为主。笔者仅对数字调制中的2FSK调制原理做一个简单的说明。

        2FSK是利用载波的频率变化来传递数字信息。在基带信号的控制下,2FSK由两个不同频率的正弦波组合而成,具体的调制过程如下:

      图1 调制过程

        好了,接下来开始进入调制解调器的设计阶段。

        总的设计思路如下:

        图2 调制解调器的设计

首先是基带信号的产生,它也是我们要调制和解调的目标。基带信号由一连串随机的码元序列构成,为了模拟随机的码元序列,笔者用定时器设计8位的PN码序列,码元速率为2000B/s。定时器3定时0.5ms,每进入一次中断,变量num加一,设置一次IO引脚电平,8位PN码只需设置8次,然后num清零。

        接下来要产生载波,载波就是正弦波无疑。这里笔者的载波频率要求是4khz和8khz。正弦波的产生用的是stm32的DMA+DAC+TIM2。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3