基于verilog的fsk调制与解调(呕心沥血,极度精简)

合集下载

FSK调制解调原理实验

FSK调制解调原理实验

FSK调制解调原理实验

一、实验目的

1.了解FSK调制解调的基本原理;

2.了解FSK调制解调器的实现过程;

3.学习使用软件工具进行FSK调制解调实验。

二、实验原理

FSK(Frequency Shift Keying)调制解调是一种常用的数字调制解

调技术,它通过改变信号的调制频率来表示不同的数字信号。FSK调制解

调一般分为两个部分:调制器(Modulator)和解调器(Demodulator)。

(一)FSK调制器原理

FSK调制器的任务是根据输入信息信号的不同,产生两个不同频率的

载波信号。当输入是数字"0"时,调制器选择低频率载波信号进行调制;

当输入是数字"1"时,调制器选择高频率载波信号进行调制。调制可采用

线性调制或非线性调制两种方式。

线性调制实质是将低频调制信号与载波信号作直接叠加得到调制信号。设载波频率为$f_c$,低频信号频率为$f_0$,则调制后信号可以表示为:$$s(t) = \cos(2\pi f_c t) + A_0 \cos(2\pi f_0 t)$$

非线性调制利用逻辑电路切换不同频率的载波信号,常采用矩形脉冲

函数进行调制。设载波频率为$f_c$,低频信号频率为$f_0$,则调制后信

号可以表示为:

$$s(t)= \begin{cases}

\cos(2\pi f_1 t), & \text{当} 0 \leq t \leq T_b \text{且输入

为数字"0"时}\\

\cos(2\pi f_2 t), & \text{当} 0 \leq t \leq T_b \text{且输入

基于Verilog的FSK调制器的设计与实现

基于Verilog的FSK调制器的设计与实现

目录

摘要 (1)

ABSTRACT (2)

一、前言 (3)

(一)课题简介 (3)

(二)文献综述 (3)

二、系统的总体方案设计 (8)

(一)设计要求 (8)

(二)设计原理及方案 (8)

三、各单元电路设计 (14)

(一)DDS整体结构设计 (14)

(二)调制器 (17)

(三)数字基带信号 (18)

四、软件设计及仿真 (19)

(一)硬件逻辑电路设计流程 (19)

(二)DDS技术软件设计与仿真 (21)

(三)选择器仿真 (24)

(四)FSK调制器软件仿真 (24)

(五)数字基带信号仿真 (24)

五、系统调试/硬件测试 (26)

(一)硬件调试方法 (26)

(二)系统的硬件验证及联调 (27)

小结 (30)

致谢 (31)

参考文献 (32)

附录 (33)

摘要

FSK(Frequency-shift keying)是信息传输中使用得较早的一种调制方式,它实现起来较容易,抗噪声与抗衰减的性能较好,在中低速数据传输中得到了广泛的应用。而DDS(Direct Digital Synthesizer)是直接数字式频率合成器的英文缩写,和DSP(digital signal processor)——数字信号处理一样,DDS是一种很重要的数字化技术。与传统的频率合成器相比,DDS的优点有低成本、低功耗、高分辨率和快速转换时间,它广泛地运用在电信与电子仪器领域,是实现设备全数字化的一个关键技术。而本课题设计的基于Verilog的FSK调制器,就是采用EDA技术,以FPGA 为核心,在DDS技术的基础上实现FSK调制器的设计。

FSK调制解调原理

FSK调制解调原理

FSK调制解调原理

FSK调制解调是一种常用于数字通信系统中的调制解调方式。FSK是频移键控调制(Frequency Shift Keying)的简称,它将数字信号转换为离散的频率信号进行传输。本文将从调制原理、解调原理以及应用等方面进行详细介绍。

一、调制原理

对于二进制数字信号,例如“0”和“1”,可以选择两个固定频率的载波信号,分别代表“0”和“1”。当发送“0”时,使用频率为f1的载波信号,当发送“1”时,使用频率为f2的载波信号。这样就可以将数字信号转换成两个离散的频率信号进行传输。

二、解调原理

FSK解调原理是对接收到的频率信号进行频率判决,将频率转换为数字信号。常用的解调方法有非相干解调、相干解调和差分相干解调。

1.非相干解调:非相干解调是最简单的解调方法之一,它直接对接收到的信号进行频率测量。通过比较测量的频率与预定的频率值进行判决,将频率转换成二进制数字信号。非相干解调简单易于实现,但对信噪比要求较高,容易受到噪声的影响。

2.相干解调:相干解调是一种通过与本地振荡器进行相干性检测的解调方法。接收到的信号与本地振荡器产生的相干信号进行混频,通过相干滤波器将混频后的信号进行滤波。相干解调能够提高抗噪性能,但需要本地振荡器与信号的频率一致。

3.差分相干解调:差分相干解调是相干解调的一种改进方法。它通过

将相邻两个相干解调器输出的数字信号进行差分运算,得到差分输入的数

字信号。差分相干解调具有较好的抗噪性能,适用于高噪声环境下的解调。

三、应用

1.数字通信系统:FSK调制解调可以用于数字通信系统中,通过频率

FSK调制与解调系统的仿真与分析

FSK调制与解调系统的仿真与分析

FSK调制与解调系统的仿真与分析

FSK(Frequency Shift Keying,频率移键)调制与解调系统是一种常用的数字调制与解调技术,用于将数字信号转换为调制信号,并通过解调器还原出原始信号。FSK调制与解调系统在无线通信、数据传输等领域具有广泛的应用。

在进行FSK调制与解调系统的仿真与分析时,可以采用MATLAB等软件工具进行模拟实验。首先,在进行FSK调制时,需要设置载波频率和比特率,并生成数字信息序列。然后,根据数字信息序列和载波频率,生成对应的调制信号。调制信号可以通过频谱分析等方法进行分析和评估。

在进行FSK解调时,可以通过对接收到的调制信号进行采样,并使用FFT等方法进行频谱分析,以判断接收到的信号所对应的频率。接下来,根据接收信号的频率和预先设定的比特率,还原出原始的数字信息序列。通过比对原始和解调后的数字信息序列,可以评估解调的准确性和误码率等性能指标。

在FSK调制与解调系统的仿真与分析中,需要考虑到多种因素,如信噪比、调制索引、窗函数的选择等。通过改变这些参数,可以评估FSK系统在不同条件下的性能表现,从而优化系统设计和参数选择。

总之,FSK调制与解调系统的仿真与分析是研究和优化数字调制技术的关键环节,通过合理的模拟实验和性能评估,可以提高FSK系统的可靠性和性能,并应用到实际的通信和数据传输中。

FSK信号调制与解调技术

FSK信号调制与解调技术

1 引言

1.1 研究的背景与意义

现代社会中人们对于通信设备的使用要求越来越高,随着无线通信技术的不断发展,人们所要处理的各种信息量呈爆炸式地增长。传统的通信信号处理是基于冯·诺依曼计算机的串行处理方式,利用传统的冯·诺依曼式计算机来进行海量信息处理的话,以现有的技术,是不可能在短时间内完成的。而具于并行结构的信息处理方式为提高信息的处理速度提供了一个新的解决思路。

随着人们对于通信的要求不断提高,应用领域的不断拓展,通信带宽显得越来越紧张。人们想了很多方法,来使有限的带宽能尽可能的携带更多的信息。但这样做会出现一个问题,即:信号调制阶数的增加可以提升传送时所携带的信息量,但在解调时其误码率也相应显著地提高。信息量不断增加的结果可能是,解调器很难去解调出本身所传递的信息.如果在提高信息携带量的同时,能够找到一种合适的解调方式,将解调的误码率控制在允许的范围内,同时又不需要恢复原始载波信号,从而降低解调系统的复杂程度,那将是很好的。

通信技术在不断地发展,在现今的无线、有线信道中,有很多信号在同时进行着传递,相互之间都会有干扰,而强干扰信号也可能来自于其它媒介。在军事领域,抗干扰技术的研究就更为必要。我们需要通信设备在强干扰地环境下进行正常的通信工作.

目前常用的通信调制方法有很多种,如FSK、QPSK、QAM等。在实际的通信工程中,不同的调制制式由于自身的特点而应用于不同场合,而通信中不同的调制、解调制式就构成了不同的系统.如果按照常规的方法,每产生一种信号就需要一个硬件电路,甚至一个模块,那么要使一部发射机产生几种、几十种不同制式的通信信号,其电路就会异常复杂,体积重量都会很大。而在接收机部分,情况也同样是如此,即对某种特定的调制信号,必须有一个特定的对应模块电路来对该信号进行解调工作。如果发射端所发射的信号调制方式发生改变,这一解调模块就无能为力了。实际上,随着通信技术的进步和发展,现代社会对于通信技术的要求越来越高,比如要求通信系统具有最低的成本、最高的效率,以及跨平台工作的特性,如PDA、电脑、手机使用时所要求的通用性、互连性等。怎样对多种类型的信号进行智能化处理,而又不增加电路的成本、处理速度以及体积重量等,是我们目前正面临的问题.

基于FPGA的FSK调制解调器设计与实现

基于FPGA的FSK调制解调器设计与实现

基于FPGA的FSK调制解调器设计与实现FSK调制解调器是一种常用的数字通信技术,可用于数据传输、无线通信等领域。本文将介绍基于FPGA的FSK调制解调器的设计和实现,包括原理介绍、系统设计、硬件实现和性能分析等方面。

一、引言

FSK调制解调器是一种数字通信系统,它通过改变载波频率的方式来传输数字信号。本文基于FPGA实现FSK调制解调器,利用FPGA 的灵活性和可重构性,提供了一种高效、可靠的数字通信解决方案。

二、FSK调制解调原理介绍

FSK调制解调器是通过将数字信号映射到两个不同频率的载波上,实现信息传输的。调制过程中,二进制数据0和1分别对应两个特定频率的载波,解调过程中通过判断输入信号的频率来还原原始数据。

三、系统设计

1. FSK调制器

在FPGA中设计FSK调制器,需要使用相应的调制算法将数字信号转换为两个不同频率的载波。可以采用数字频率合成技术合成两个不同频率的信号,并通过逻辑电路实现相应的调制功能。

2. FSK解调器

FSK解调器的设计目标是通过输入信号的频率变化来判定数字信号的0和1。可以采用数字滤波器和频率判决电路实现解调功能,将输入的频率信号转换为相应的数字信号。

四、硬件实现

1. FPGA配置

基于FPGA的FSK调制解调器的硬件实现,首先需要将相应的调制解调算法和电路设计编写为硬件描述语言如VHDL,并经过综合、布局布线等步骤生成比特流。

2. ADC和DAC

为了接收和发送模拟信号,需要使用ADC(模数转换器)将模拟信号转换为数字信号,并使用DAC(数模转换器)将数字信号转换为模拟信号。

基于VerilogHDL的通信系统设计 第6章 数字调制与解调系统设计

基于VerilogHDL的通信系统设计 第6章 数字调制与解调系统设计
f sk_2_de in rst clk inst out
图6-26 2-PSK解调模块接口信号图
基于Verilog HDL的通信系统设计
6-5 QPSK调制与解调系统的设计
6-5-1 QPSK调制原理
利用载波不同的四种相位差来表征输入的数字信息构成四进 制移相键控(QPSK)。QPSK是M=4时的调相技术。由于它具有 4种载波相位,而输入的数字序列为2进制,为了完成4进制载波 和2进制序列的匹配,需要把2进制数据变换为4进制数据。具体 的操作方法就是2进制数字序列中每2个bits分为一组,所以共有四 种组合:即00、01、10、11,其中每一组称为双比特码元。每一 个双比特码元是由两位2进制信息比特组成,并分别代表4进制4 个符号中的一个符号。
基于Verilog HDL的通信系统设计
6-5-2 QPSK调制的Verilog HDL实现
根据QPSK调制原理,这里给出采用相位选择法来实现 QPSK调制的Verilog HDL实现。QPSK调制模块的接口信号 图如图6-30所示。
qpsk clk rst x inst
图6-30 QPSK结构功能框图

6-3-2 2-FSK调制的Verilog HDL实现
Hale Waihona Puke Baidu
基于Verilog HDL的通信系统设计
6-3-3 2-FSK解调原理

FSK调制解调原理

FSK调制解调原理

FSK调制解调原理

FSK调制(Frequency Shift Keying)是一种数字调制方式,它通过

改变载波信号的频率来传输数字信号。FSK调制是一种多频率调制技术,

它将数字信号映射到两个或多个不同的载波频率上,从而进行数据传输。1.调制:

在FSK调制中,数字信号通常被编码成矩形脉冲序列,其中1表示高

电平,0表示低电平。这个矩形波形序列会经过调制器,将其转换为对应

的频率信号。典型的FSK调制器采用两个恒定频率的载波信号。当输入的

数字信号为0时,调制器选择较低频率的载波信号;当输入的数字信号为

1时,调制器选择较高频率的载波信号。

2.解调:

在接收端,接收到的FSK信号将经过解调器进行解调。解调器的任务

是将输入的FSK信号重新转换为对应的数字信号。解调器使用带通滤波器

来选择特定频率范围内的信号,并将其转换为矩形脉冲序列。然后,解调

器对这个矩形脉冲序列进行采样和判决,将其还原为原始的数字信号。

此外,FSK调制还具有波形简单、实现方便等优点。它可以使用简单

的逻辑门电路来实现,适用于多种数字通信系统中。

然而,FSK调制也存在一些局限性。首先,FSK调制的带宽要求较大,这意味着相对于其他调制技术来说,它需要更宽的频谱资源。此外,FSK

调制对相位偏移和幅度不稳定性较为敏感,因此在传输过程中需要对这些

误差进行校正。

总结起来,FSK调制是一种常见的数字调制方式,通过改变载波信号的频率来传输数字信号。它具有抗干扰能力强、波形简单等优点,适用于多种数字通信系统。但它也存在带宽要求较大和对相位偏移、幅度不稳定性较敏感等局限性。

基于FPGA的FSK调制

基于FPGA的FSK调制

基于FPGA的FSK调制:

至于FSK调制原理就不多说了,这里做的一个实验是二进制频移键控。发送一组码元,通过响应的键控电路监测是发1还是发0然后选择频率控制正余弦电路波形。

功能仿真波形如下:

可以看到,codein信号是基带码元,它发送的是1010110001,而在输出端分别用正弦和余弦进行调制。cos_out和sin_out的波形与原始码元基本一致,不同码元衔接处出现较大的跳变是因为采样的频率不够高造成的。1的调制频率是0的调制频率的两倍。

Verilog程序:

module fsktop(clk,rst,en,cos_out,sin_out,rdy);

input clk;

input rst;

input en;

output[15:0] cos_out;

output[15:0] sin_out;

output rdy;

wire codein;//发送基带码元

wire a_en,b_en;//FSK调制频率选择使能信号

wire ce;//正余弦发生器使能信号

wire[15:0] a_fre,b_fre,fre;

wire clk_40;//主时钟的40分频信号

clkfenpin clkfenpin(clk,rst,clk_40);

codesource codesource(clk_40,rst,en,codein);

coding coding(clk,rst,codein,a_en,b_en,ce,a_fre,b_fre,fre);

a_frequency a_frequency(clk,rst,a_en,a_fre);

FSK调制解调系统的仿真与分析毕业设计

FSK调制解调系统的仿真与分析毕业设计

FSK调制解调系统的仿真与分析毕业设计

一、FSK调制解调系统原理

FSK调制是一种将数字信号转换为模拟信号的调制方式,将二进制序

列中的1映射为频率f1的正弦波信号,将0映射为频率f2的正弦波信号。FSK解调则是将接收到的调制信号重新转换为二进制序列。FSK调制解调

系统包括两个主要部分:调制器和解调器。

调制器的主要功能是将二进制信号转换为FSK信号。当输入信号为1时,调制器输出频率为f1的正弦波信号;当输入信号为0时,调制器输

出频率为f2的正弦波信号。调制器可以采用时钟控制的方法实现。

解调器的主要功能是将接收到的调制信号转换回二进制信号。解调器

采用信号的包络检测方法判断接收到的信号是频率f1还是频率f2,并根

据判断结果输出相应的二进制信号。

二、仿真平台与方法

在进行FSK调制解调系统的仿真与分析时,可以采用多种仿真平台与

方法。常用的仿真平台包括MATLAB、Simulink、ADS等。

以MATLAB为例,可以使用MATLAB的信号处理工具箱进行FSK调制解

调系统的仿真。首先,使用二进制序列生成函数生成随机的二进制信号。

然后,利用MATLAB中的正弦波生成函数生成频率为f1和f2的正弦波信号。将二进制信号与正弦波信号相乘,得到调制信号。最后,采用信号处

理工具箱中的信号包络检测函数对接收到的调制信号进行解调,得到解调

信号。

三、系统性能分析

在进行FSK调制解调系统的仿真与分析时,可以从以下几个方面对系

统性能进行评估。

1.误码率:误码率是衡量调制解调系统性能的重要指标之一、通过仿

真可以得到调制解调系统在不同信噪比条件下的误码率曲线,从而评估系

Verilog语言实现FSK调剂

Verilog语言实现FSK调剂

深圳大学实验报告

课程名称:可编程ASIC设计

实验项目名称:基于FPGA的2FSK调制器的实现学院:电子科学与技术

一、实验目的

1、熟悉运用Verilog 语言描述硬件;

2、掌握2FSK 调制的原理;

3、学习综合和不同层次的仿真。

二、 实验原理

1、2FSK 调制原理

2FSK 信号是用载波频率的变化来表征被传信息的状态的,被调载波的频率随二进制序列0、1状态而变化,即载频为0f 时代表传0,载频为1f 时代表传1。显然,2FSK 信号完全可以看成两个分别以0f 和1f 为载频、以n a 和n a 为被传二进制序列的两种2ASK 信号的合成。2FSK 信号的典型时域波形如图10-1所示,其一般时域数学表达式为

A

-A

图10-1 2FSK 信号的典型时域波形

t nT t g a t nT t g a t S n s n n s n FSK 102cos )(cos )()(ωω⎥⎦

⎢⎣⎡-+⎥⎦⎤⎢⎣⎡-=∑∑

(10-1)

式中,002f πω=,112f πω=,n a 是n a 的反码,即

⎩⎨

⎧=P

P a n -概率为概率为11

⎩⎨

⎧=P

P a n -概率为概率为10

1

2、用FPGA 实现2FSK 调制器的方案

采用键控法实现2FSK,功能模块设计如图所示。通过不同的分频器,产生频率分别为f1和f2的基频。基带信号为“1”时,

频率号为“1”时,频率f1的信号通过;当基带信号为“0”时,频率f2的信号通过。f1和f2作为正弦表的地址发生器的时钟,正弦表输出正弦波的样点数据,经过D/A数模转换,得到连续的2FSK信号。

FSK调制解调

FSK调制解调

FSK调制解调

什么是FSK调制解调?

FSK调制解调是一种数字调制解调技术,全称为频移键控(Frequency Shift Keying)调制解调。它利用两个或多个不同频率的载波波形来表示不同的数字信号。在FSK调制解调中,不同的数字信号通过改变频率来表示不同的离散数值,这使得FSK成为一种常用的数字调制解调技术。

FSK调制原理

FSK调制的原理是在不同的数字信号之间切换不同频率的

载波波形。当要传输的是逻辑0(低电平)时,使用一个特定频率的载波波形,而当要传输的是逻辑1(高电平)时,则使用另一个特定频率的载波波形。这些载波波形的频率之间的差异通常被称为频率偏移(frequency shift)。

FSK调制可以采用连续FSK(CFSK)或离散FSK(DFS)两种方式进行。在CFSK中,载波频率是连续变化的,而在DFS 中,载波频率只能从一组离散的频率中选择。无论采用哪种方式,FSK调制的基本原理都是相同的。

FSK调制的过程

FSK调制的过程分为两个主要步骤:调制和解调。我们来

分别看一下这两个过程。

FSK调制

FSK调制是将数字信号转换为频率不同的载波波形的过程。下面是FSK调制的基本步骤:

1.确定要传输的数字信号。

2.设置两个或多个不同频率的载波波形。

3.将数字信号与载波波形进行调制,即将逻辑0和逻

辑1映射到不同的载波频率上。

4.经过调制后的信号即为FSK调制信号,可以通过传

输媒介发送出去。

FSK解调

FSK解调是将接收到的FSK调制信号转换回原始的数字信

号的过程。下面是FSK解调的基本步骤:

Verilog实现FSK解调

Verilog实现FSK解调

Verilog实现FSK解调

FSK(Frequency-shift keying)频移键控是利用载波的频率变化来传递数字信息。它是利用基带数字信号离散取值特点去键控载波频率以传递信息的一种数字调制技术。FSK解调就是将频率信号转换成数字信号,完成频率-幅度转换的过程。本文介绍利用Verilog硬件描述语言实现调制电路。

一、原理分析

2FSK信号是用载波频率的变化来表征被传信息的状态的,被解调波的频率随二进制序列0、1状态而变化。如图1,当输入信号频率高时,输出信号为1;当输入信号频率低时,输出信号为0。

图1 调制输入信号与输出信号

二、信号要求与指标

在FSK解调时,需要给输入信号的频率划分高频率段和低频率段,来区分解调后二进制状态1或0。为了简便起见,本文给出的输入信号为方波信号,这里取每12个clk时钟信号后为一个采样点,每次采样时如果输入信号的上升沿数大于等于3,输出信号即为1;反之,输出信号即为0。

三、Verilog设计方案

通过对clk上升沿和cin上升沿计数,cnt为clk计数器,而count为cin的计数器,当cnt==11时,查看count的值,如果大于等于3,那么此时检测到的就是高频率输入信号,所以此时cout输出高电平1,否则输出低电平0。这样就完成了频率-幅度转换,把高频率和低频率利用幅度上区分开来,恢复了数字信号。

四、Verilog代码

实现FSK解调的代码如下(有代码注释):

//解调模块

module fsk(cin,clk,start,cout);

input cin,clk,start;

FSK信号调制与解调技术

FSK信号调制与解调技术

1 引言

1.1 研究的背景与意义

现代社会中人们对于通信设备的使用要求越来越高,随着无线通信技术的不断发展,人们所要处理的各种信息量呈爆炸式地增长。传统的通信信号处理是基于冯·诺依曼计算机的串行处理方式,利用传统的冯·诺依曼式计算机来进行海量信息处理的话,以现有的技术,是不可能在短时间内完成的。而具于并行结构的信息处理方式为提高信息的处理速度提供了一个新的解决思路。

随着人们对于通信的要求不断提高,应用领域的不断拓展,通信带宽显得越来越紧张。人们想了很多方法,来使有限的带宽能尽可能的携带更多的信息。但这样做会出现一个问题,即:信号调制阶数的增加可以提升传送时所携带的信息量,但在解调时其误码率也相应显著地提高。信息量不断增加的结果可能是,解调器很难去解调出本身所传递的信息.如果在提高信息携带量的同时,能够找到一种合适的解调方式,将解调的误码率控制在允许的范围内,同时又不需要恢复原始载波信号,从而降低解调系统的复杂程度,那将是很好的。

通信技术在不断地发展,在现今的无线、有线信道中,有很多信号在同时进行着传递,相互之间都会有干扰,而强干扰信号也可能来自于其它媒介。在军事领域,抗干扰技术的研究就更为必要。我们需要通信设备在强干扰地环境下进行正常的通信工作.

目前常用的通信调制方法有很多种,如FSK、QPSK、QAM等。在实际的通信工程中,不同的调制制式由于自身的特点而应用于不同场合,而通信中不同的调制、解调制式就构成了不同的系统.如果按照常规的方法,每产生一种信号就需要一个硬件电路,甚至一个模块,那么要使一部发射机产生几种、几十种不同制式的通信信号,其电路就会异常复杂,体积重量都会很大。而在接收机部分,情况也同样是如此,即对某种特定的调制信号,必须有一个特定的对应模块电路来对该信号进行解调工作。如果发射端所发射的信号调制方式发生改变,这一解调模块就无能为力了。实际上,随着通信技术的进步和发展,现代社会对于通信技术的要求越来越高,比如要求通信系统具有最低的成本、最高的效率,以及跨平台工作的特性,如PDA、电脑、手机使用时所要求的通用性、互连性等。怎样对多种类型的信号进行智能化处理,而又不增加电路的成本、处理速度以及体积重量等,是我们目前正面临的问题.

fsk调制及解调实验报告

fsk调制及解调实验报告

fsk调制及解调实验报告

一、实验目的

本实验旨在了解FSK调制及解调的原理,掌握FSK调制及解调的方法,并通过实际操作验证其正确性。

二、实验原理

1. FSK调制原理

FSK是频移键控的缩写,是一种数字调制技术。在FSK通信中,将数

字信号转换成二进制码后,用两个不同的频率代表“0”和“1”,然

后将这两个频率按照数字信号的顺序交替发送。接收端根据接收到的

信号频率来判断发送端发出了哪个二进制码。

2. FSK解调原理

FSK解调器是将接收到的FSK信号转换成数字信号的电路。它通过检

测输入电压频率来确定发送方使用了哪个频率,并将其转换成对应的

数字信号输出。

三、实验器材

示波器、函数发生器、计算机

四、实验步骤

1. 连接电路:将函数发生器输出端连接至FSK模块输入端,再将示波

器连接至模块输出端。

2. 设置函数发生器:设置函数发生器输出频率为1000Hz和2000Hz,并使它们交替输出。

3. 测量波形:使用示波器观察并记录模块输出端口上产生的波形。

4. 解调信号:将示波器连接至解调器的输入端,设置解调器参数,观

察并记录输出端口上产生的波形。

五、实验结果

1. FSK调制结果:通过示波器观察到了交替出现的1000Hz和

2000Hz两种频率的正弦波。

2. FSK解调结果:通过示波器观察到了输出端口上产生的数字信号,

与输入信号相同。

六、实验分析

本实验通过对FSK调制及解调原理的了解和实际操作验证,进一步加

深了我们对数字通信技术的认识。在实验中,我们使用函数发生器产

生两个不同频率的信号,并将它们交替发送。在接收端,我们使用FSK解调器将接收到的信号转换成数字信号输出。通过观察示波器上

设计性实验——2FSK调制、解调

设计性实验——2FSK调制、解调

设计性实验2FSK调制、解调实验

一、实验目的

1.掌握用移频键控法产生2FSK信号的原理及硬件实现方法;

2.掌握用过零点检测法解调2FSK信号的原理及硬件实现方法;

3.加深对位同步信号提取原理的理解,了解其硬件实现方法;

4.了解锁相环对消除相位抖动的原理及作用。

二、实验内容

1.2FSK调制(发送)实验。

2.2FSK解调(接收)实验。

3.位同步提取实验。

4.眼图、奈奎斯特准则实验。

5.归零码与位定时实验。

6.眼图与判决时间选取实验。

三、实验仪器及设备

1.20MHZ双踪示波器 GOS-6021 1台

2.函数信号发生器/计数器 SP1641bB 1台

3.直流稳压电源 GPS-X303/C 1台

4.万用表 1块

5.2FSK调制解调实验箱 1个

四、实验原理及电路

(一)实验原理

实现数字频率调制的方法很多,总括起来有两类:直接调频法和移频键控法。本实验使用的是移频键控法,它便于用数字集成电路来实现。

移频键控,或称数字频率调制,是数字通信中使用较早的一种调制方式。数字频率调制的基本原理是利用载波的频率变化来传递数字信息。在数字通信系统中,这种频率的变化不是连续的,而是离散的。比如,在二进制的数字频率调制系统中,可用两个不同的载频来传递数字信息,故移频键控常写作2FSK(Frequency Shift Keying)。

2FSK广泛应用于低速数据传输设备中,根据国际电报和电话咨询委员会(CCITT)的建议,传输速率为1200波特以下设备一般采用2FSK。

2FSK方法简单、易于实现,解调不需要恢复本地载波,可以异步传输,抗噪声和抗衰落性能也较强。因此,2FSK已成为在模拟电话网上利用调制解调制器来传输数据的低速、低成本的一种主要调制方式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

先上程序(verilog语言编写)

`timescale 1ns/1ns // 测试程序

module test;

reg clk1,rst1,clk2,rst2;

reg din1;

wire dout1,ddout1;

modulator my1(.clk(clk1),.rst(rst1),.din(din1),.dout(dout1)); demodulator my2(.clk(clk2),.rst(rst2),.ddin(dout1),.ddout(ddout1));

initial

begin

clk1=0;

forever #25 clk1=~clk1;

end

initial

begin

clk2=0;

forever #10 clk2=~clk2;

end

initial

begin

rst1=1;

#15 rst1=0;

#50 rst1=1;

end

initial

begin

rst2=1;

#5 rst2=0;

#25 rst2=1;

end

initial

begin

#25 din1=1;

#400 din1=1;

#400 din1=0;

#400 din1=1;

#400 din1=0;

#400 din1=1;

#400 din1=0;

#400 din1=1;

#400 din1=1;

#400 din1=0;

#400 din1=1;

#400 din1=1;

#400 din1=1;

#400 din1=0;

#400 din1=1;

#400 din1=0;

#400 din1=0;

#400 din1=1;

#400 din1=0;

#400 din1=0;

#400 din1=0;

#400 din1=1;

#400 din1=1;

#400 din1=0;

#400 din1=0;

#400 din1=1;

#400 din1=0;

#400 din1=0;

#400 din1=0;

#400 din1=0;

#400 din1=1;

#1000 $stop;

end

endmodule

module demodulator(clk,rst,ddin,ddout); //解调input clk,rst;

input ddin;

output ddout;

reg ddout;

reg [3:0]cnt3;

reg temp;

reg [3:0]cnt4;

reg clk1;

always @(posedge clk or negedge rst)

begin

if(!rst)

cnt3<=4'b0000;

else if(!ddin)

cnt3<=cnt3+1;

else

cnt3<=4'b0000;

end

always @(posedge clk or negedge rst) begin

if(!rst)

temp<=0;

else

if(cnt3>6)

temp<=1;

else

temp<=0;

end

always @(posedge clk or negedge rst) begin

if(!rst)

begin

cnt4<=0;

clk1<=0;

end

else

if (cnt4==4'b1001)

begin

clk1<=~clk1;

cnt4<=0;

end

else

cnt4<=cnt4+1;

end

always @(posedge clk1 or negedge rst) begin

if(!rst)

ddout<=0;

else

ddout<=temp;

end

endmodule

module modulator(clk,rst,din,dout); // 调制input clk,rst;

input din;

output dout;

reg [1:0] cnt1;

reg cnt2;

reg f1;

reg f2;

always @(posedge clk or negedge rst)

begin

if (!rst)

begin

cnt1<=2'b00;

f1<=0;

end

else

if(cnt1==2'b11)

begin

cnt1<=2'b00;

f1<=~f1;

end

else

cnt1<=cnt1+1;

end

always @(posedge clk or negedge rst)

begin

if (!rst)

begin

cnt2<=0;

f2<=0;

end

else

if(cnt2==1)

begin

cnt2<=2'b00;

f2<=~f2;

end

else

cnt2<=cnt2+1;

相关文档
最新文档