怎样用FPGA实现FSK调制解调?

怎样用FPGA实现FSK调制解调?,第1张

FSK(Frequeney-Shift Keying,频移键控)是用不同频率的载波来传送数字信号。FSK信号具有抗干扰能力强、传输距离远等优点,在只常生活和工业控制中被广泛采用。例如CID(Calling Identity Delivery)来电显示,低速的Modem,铁路系统和电力系统的载波通信中也广泛使用他来传送各种控制信息。以往的FSK调制解调器采用“集成电路+连线”方行桥式设计,集成块多、连线复杂且体积较大。本文基于FPGA芯片,采用VHDL语言,利用层次化、模块化设计方法,提出了一种FSK调制解调器的实现方法。

1 系统整体结构框图

本文设计的FSK调制解调器采用了ALTERA公司的EP1C3T144C8芯片,系统主时钟频率为20 MHz(芯片外部有源晶振),“0”,“1”数字信号由伪随机信号(m序列)发生器产生。为完成FSK调制器和解调器的发送与接收,由FPGA芯片完成的系统整体逻辑功能框图如图1所示。

2 系统的具体设计与实现

2.1 伪随机序列的产生

最大长度线性移位寄存器序列(m序列)是数字通信中非常重要的、应用十分广泛的一种伪随机序列。由于他具有随机性、规律性及较好的自相关性和互相关性,而且要求设备简单,易于实现,成本低的特点,本系统采用m序列作为数字基带信号进行程序调试。

m序列是由带线性反馈的移位寄存器产生的周期最长的一种二进制序列。线性反馈移位寄存器的一般结构如图2所示。他是由n级移位寄存器,若干模二加法器组成线性反馈逻辑网络和时钟脉冲产生器连接而成。

由于带有反馈,因此在移位脉冲作用下,移位寄存器各级的状态将不断变化,通常将移位寄存器的最后一级作为输出,由此所产生的输出序列为:{ak}=a0a1…ak-1。

输出序列是一个周期序列,其特性由移位寄存器的级数、初始状滑衡态、反馈逻辑及时钟频率(决定着输出码元的宽度)所决定。

当移位奇存器的级数及时钟一定时,输出序列就由移位寄存器的初始状态及反馈逻辑完全确定;当初始状态为全零状态时,移位寄存器输出全0列。因此初始状态不能为全零状态。

本系统选用m序列的级数为n=7,序列长度为m=27-1=127,若选用的反馈系数的八进制数值为235,转换成二进制数值为10011101,即c0=c2=c3=c4=c7=1,c1=c5=c6=0。仿真波形如图3所示。

2.2 FSK调制

本系统是利用2个独立的分频器来改变输出载波频率,以数字键控法来实现FSK捌制。

数字键控法也称为频率选择法,他有2个独立的振荡器,数字基带信号控制转换开关信带做,选择不同频率的高频振荡信号实现FSK调制。键控法产生的FSK信号频率稳定度可以做到很高并且没有过渡频率,他的转换速度快,波形好,频率键控法在转换开天发生转换的瞬刚,2个高频振荡的输出电压通常不相等,于是已调信号在基带信息变换时电压会发生跳变,这种现象称为相位不连续,这是频率键控特有的情况。

本文设计的FSK调制系统方框图如图4所示。

2.3 FSK解调

过零检测法与其他解调方法相比较,最明显的特点就是结构简单,易于实现,对增益起伏不敏感,特别适用于数字化实现。他是一种经济、实用的最佳数字解调方法。其方框图如图5所示。他利用信号波形在单位时间内与零电平轴交义的次数来测定信号频率。输入的已调信号经限幅放大后成为矩形脉冲波,再经微分电路得到l圾向尖脉冲,然后整流得到单向尖脉冲,每个尖脉冲表示信号的一个过零点,尖脉冲的重复频率就是信号频率的2倍。将尖脉冲去触发一单稳态电路,产生一定宽度的矩形脉冲序列,该序列的平均分量与脉冲重复频率成正比,即与输入频率信号成正比。所以经过低通滤波器输出平均量的变化反映了输入信号的变化,这样就完成了频率-幅度变换,把码元“1”与“0”在幅度上区分开来,恢复出数字基带信号。

本文设计的FSK解调方框图如图6所示。

3 系统仿真与实验结果分析

整个设计使用VHDL编写,以EP1C3T144CS为下载的目标芯片,在Quartus II软件平台上进行布局布线后进行波形仿真,可得到如图7所示的波形图。其中:clk为输入主时钟信号;en为置位信号;clks为clk经过200分频器的输出信号;ps7为时钟源经过n=7的伪随机发生器产生的伪随机(m序列)信号;fsk为ps7经过FSK调制器后的已调信号;q为fsk经过FSK解调器后的解调信号。

在实际硬件电路上进行测试,用示波器观察各个模块的工作过程,得到如图8和图9所示的波形图。

其中,圈8中Ch1为已调信号,Ch2为数字基带信号。图9中Ch1为数字基带信号,Ch2为解调信号。

由上面的软件和硬件的测试结果可知:

(1)本系统的FSK调制解调器功能已经实观,结果正确无误,经验证满足预期的设计指标要求,且其整个工作过程可通过软件波形仿真,或是实际硬件电路通过示波器来直观、清晰观察。

(2)传统的调制解调方式可以采用软件与硬件结合的方式来实现,符合未来通信技术发展的方向。

4 结 语

传统的FSK调制解调方式都是采用硬件电路实现,电路复杂、调试不便。文中采用硬件描述语占设计的基于FPGA调制解调器,设计灵活、修改方便,有效地缩小了系统的体积,增加了可靠性,同时系统采用VHDL语言进行设计,具有良好的可移植性及产品升级的系统性。

1.FSK信号的解调原理

FSK信号的解调也有非相干和相干两种,FSK信号可以看作是用两个频率源交替传输得到的,所以FSK的接收机由两个并联的ASK接收机组成。

(1)相干解调

相干解调是利用乘法器,输入一路与载频相干的参考信号与载频相乘,通过低通滤波,滤除高频信号,即得原始信号,FSK经过带通滤波之后,可以看作是两路ASK信号,相干检测器组成的原理如下所肆蠢乱示:

FSK相干解调结构

上图是一种易于实现的FSK相干解调器,还有一种最佳FSK相干解调器如下所示:

FSK最佳解调结构

从图上可以看出,在接收端要产生两个已知信号s1(t)和s2(t)的波形,分别和输入波形相乘,再送往积分器,在一定时间内积分,在t=Tb时刻,将积分结果取样,并在比较器中比较判决,然后输出,整个相干解调器的性能受载波锁相环路以及位同步性能影响很大,并且在高速率的情况下,积分、取样和清洗电路难以实现,因此通常采用第一种相干解调器的结构。

(2)非相干解调

由于FSK信号中提取相干载波相对比较困难,实际工程应用中多用非相干解调法,在相同误码率的条件下,非相干解调需要的信噪比只比相干解调高1~2dB。非相干解调的种类有很多,例如:基于自适应滤波的解调法、差分检波算法、AFC环解调法、过零检测法、包络检波法等。

• 基于自适应滤波的解调法

在自适应解调中,较常见的方法是利用自适应滤波器中的单一频率的自适应陷波器进行解调,它能提供易于控制的带宽和及其深的零点,具有自适应地跟踪载波的频率和相位的能力,它等效于有一个复权的自适应滤波器,用两个实权同时调整单一频率正弦波的幅度裂档和相位,以跟踪原始输入信号的幅度和相位,消除干扰。如下是自适应滤波器的结构:

自适应滤波结构

自适应滤波中的单频跟踪技术应用于解调时,兼有解调和锁相的功能,选取适当的步长可以达到较小的传输延迟,并获得优良的解调性能。二进制FSK信号有两个调制频率,能量主要集中在这两个频率。分别采用两档尘个自适应滤波(SFT)跟踪这两个频

瑞典为代表的一些欧洲国家等。

!"#$

是二进制信号的频移键控的英文缩写,

它是指传号

(指发送

%

时发送某一频率正弦波,

而空号

(指发送

&

时发送另一频率正弦波。根据

’())!&!

的建议,

来电显示的数据传送采用连续相位

的二进制频移键控,

*+,

%

!&&

*-.

%

对应的频

率是

%

!&&

/0

&

对应的频率是

!

!&&

/0

!

算法描述

!1

%

"#$

的调制

"#$

的调制就是根据二进制信号产生对应的

正弦波,

而正弦波发生器通常有两种做法:

!

查表法,

即查找正弦表来产生每个点的值,

该算法的速度慢但占用比较多的存贮空间。

"

代法,

即通过预设的初值通过迭代预算,

计算出后

来点的值,

该算法对存贮空间的要求比较低,

但对

234

资源的占用比较大。因为来电显示要求产生

"#$

为连续相位的信号,

所以选用查表法更容易

产生连续相位的正弦波信号。

利用查表法来产生正弦波,

就需要先产生一个

正弦表,

因为来电显示要的

"#$

信号分别为

%

!&&

/0

!

!&&

/0

所以要求正弦表最低的精度为

%&&

/0

由于采样率为

5

6&&

所以我们产生的是

56

点的正

弦表。该表的值为:

!

"

7

.+8

"

!

&

"

7

&

%

…,

59

%

!

&

7

!

#

#

:

#$

!

#

%&&

/0

#$

为采样频率。

假设需要产生的正弦波频率为

!

%

有了正弦表后只需要根据不同的步长来读取

正弦表就可以得到相应频率的正弦波,

步长

"

由下

式可得:

"

7

#

:

#

%

#

为需要产生的正弦波频率,

#

%

为正弦表的频率

!1

!

"#$

的解调

因裤肆为来电显示中的

"#$

信号的

*+,

率为

%

!&&

*-.

而我们的采样率为

5

6&&

所以每个

*+,

的采样

点为

<

点,袜纯锋

要在如此之少的采样点得到它的频率信

息,

用经典的谱分析方法如

""=

>"=

进行处理是

达不到要求的精度的,

而过零率检测的抗噪声性能

太差。现在比较常用的一种解调方法是延迟相乘

法,

它是通过将输入信号延迟

#

:

!

个相位,

然后与

原信号相乘再通过低通滤波器就可得到判决结果,

但是该算法性能不错,

实现比较困难,

因为它需要

将输入信号延迟

#

:

!

个相位,

所以他就要求采样频

率为载波频率的整数倍否则不能达到精确的

#

:

!

个相位而会引入误差,

并且该算法中要使用数字滤

波器,

运算量比较大。

针对以上问题,

我提出了一种基于最小均方差

准则的线性预测算法,

该算法利用正弦波自身的线

性相关性,

通过比较用预测模型计算出来的信号与

实际信号的误差来判决该信号是

&

还是

%

如果

&

的预测误差比较小该信号就判决为信号

&

之就是信号

%

因为

"#$

信号是单一的正弦波信号,

所以只要

用两阶的预测模型就能充分的描述该信号,

预测模

型可由下面的等式计算得出:

&

&

&

[

]

%

7

?

!@A.

!

[

]

%

B

!

7

!

#

#

:

#

$

9

为预测告晌模型的频率,

#

$

为采样率。

而预测误差也由下式得出:

7

!

6

"

7

&

$

"

C

!

C

&

&

$

"

C

%

C

&

%

$

"

!

6

$

"

为输入信号


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12501736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存