首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
综合设计
»
EDA
» 基于FPGA的MSK调制器设计与实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于FPGA的MSK调制器设计与实现
发短消息
加为好友
forsuccess
当前离线
UID
871057
帖子
6281
精华
0
积分
3141
阅读权限
90
在线时间
282 小时
注册时间
2012-2-21
最后登录
2015-6-23
论坛元老
UID
871057
性别
男
1
#
打印
字体大小:
t
T
forsuccess
发表于 2012-5-1 00:49
|
只看该作者
基于FPGA的MSK调制器设计与实现
设计
,
数控
,
振荡器
摘要:介绍了MSK信号的优点,并分析了其实现原理,提出一种MSK高性能数字调制器的FPGA实现方案;采用自顶向下的设计思想,将系统分成串/并变换器、差分编码器、数控振荡器、移相器、乘法电路和加法电路等6大模块,重点论述了串/并变换、差分编码、数控振荡器的实现,用原理图输入、VHDL语言设计相结合的多种设计方法,分别实现了各模块的具体设计,并给出了其在QuartusII环境下的仿真结果。结果表明,基于FPGA的MSK调制器,设计简单,便于修改和调试,性能稳定。
关键词:MSK;FPGA;差分编码器;数控振荡器
在QPSK调制技术中,假定每个符号的包络都是矩形,已调信号的包络是恒定的,此时无论基带信号还是已调信号其频谱都是无限的。但是实际的信道总是有一定的带宽的,因此在发送QIXSK信号时通常要通过带通滤波器进行限带。限带后的信号已经不能再保持包络恒定,相邻符号间发生相移时,限带后包络会明显变小,甚至出现包络为0的现象。这种现象在非线性信道中是不希望出现的,虽然经过非线性放大器能够减弱包络起伏,但是这样却使信号的频谱扩展,其旁瓣会干扰邻近频道的信号,造成限带时的带通滤波器失去作用。
正是为了解决这个问题,我们引入了在非线性限带信道中使用的恒包络调制方法——最小移频键控(MSK)调制技术。
1 实现原理
MSK就是一种能产生恒定包络、连续相位信号的调制方式。它是二进制连续相位移频键控(CPFSK)的一种特殊情况,即调制指数(移频系数)h=0.5,相位在码元转换时刻是连续的。MSK信号可表示为:
式中,φk(t)为附加相位函数,假设初始相位为φk(0);ωc为载波角频率;Ts为码元间隔;
为频偏;φk为第k个码元中的相位常数;ak为第k个码元数据;ak取值为±1。这表明,MSK信号的相位是分段线性变化的,同时在码元转换时刻相位仍是连续的,所以有:
由式(5)和MSK相位网格图可看出,φk为截矩,其值为π的整数倍,利用三角等式并注意到sinφk=0,有:
根据以上分析,可以得出MSK调制器的框图如图1所示。
2 主要模块的FPGA实现
2.1 串/并转换的实现
顺序输入的二进制信息经过串/并变换器,变换成速率减半的双比特序列,可采用两个D触发器来实现,其原理如图2所示。其中DFFin st和DFFinst3构成一个两位移位寄存器,将串行输入信号变成并行输出信号:DFFinst4和NOTinst8构成二分频器,实现速率减半;DFFinst1和DFFinst2为锁存器,使信号同步输出。图3为串/并变换器S_P的仿真结果,其中AB为变换后的双比特码元。由图可以看出,当输入DataAB为01010101时,在延时约80 ns后,输出DataA为0000,DataB为1111。
2.2 差分编码器的实现
差分编码器的功能就是实现绝对码变换为相对码,在相码中,1、0分别用相邻码元电平是否发生跳变来表示。若用相邻电平发生跳变来表示码元1,则称为传号差分码,记做NRZ码。绝对码-相对码之间的关系为:bk=ak⊕bk-1 (7)
采用VHDL设计的主体代码如下:
经编译后生成元件,其波形仿真图如图4所示,由图可以得到:当start为低电平时,两路输出信号都为0;当start信号为高电平时,对输入信号(datain_a)有:datain_a=011111111001,此时dataout_a=010101010001,对输入信号(datain_b)有:datain_b=011110111101,此时Dataout_b=010100101001,由此可以得出,元件QDSP_PL实现了由绝对码到相对码的变换。
2.3 NCO的实现
2.3.1 NCO的实现原理
数控振荡器在数字中频中相对来说是比较复杂的,也是决定数字中频性能的主要因素之一,NCO的目标是产生一个理想的正弦波或余弦波,如式(8)。
式中,fL0为本地振荡频率;fs为输入信号的采样频率。正弦波样本可以用实时计算的方法产生,但这只适用于信号采样频率很低的情况。在超高速的信号采样频率的情况下,NCO实时计算的方法是不可能实现的,此时,NCO产生正弦波样本的最有效、最简便的方法就是查表法,即事先根据不同正弦波相位计算好相应的正弦值,并按相位角度作为地址存储相应的正弦值数据,工作时,在每输入一个信号采样样本时,NCO就增加一个
的相位增量,然后,按照
相位累加角度作为地址,取出该地址上的数值并输出到数字混频器,与信号样本相乘,其原理框图如图5所示。通过改变频率控制字,可以改变相位累加器的累加值,从而改变寻址的步进,实现不同的频率输出。
2.3.2 相位累加器的FPGA实现
相位累加器由N位加法器与N位寄存器级联构成。每来一个时钟fc,加法器将频率控制字K与寄存器输出的累加相位数据相加,再把相加后的结果送至寄存器的数据输入端。相位累加器输出的数据就是合成信号的相位,当相位累加器累加到最大值时会产生一次溢出,完成一个周期的动作。溢出频率就是NCO输出的信号频率。可用VHDL语言实现相位累加器的设计,其主要代码如下:
8位相位累加器的仿真波形如图6所示。由波形图可以看出,当k=08时,在每一个有效脉冲的作用下,输出的数值比前一个输出的数值大8;当k=09时,输出的数值比前一个输出的数值大9;结果证明,该程序实现了相位的累加。
2.3.3 正弦ROM表的FPGA实现
用相位累加器输出的数据作为波形存储器的取样地址,完成相位序列(相位码)向幅度序列(幅度码)的转换。这里用ROM构造一个查找表。N位的寻址ROM相当于把一个周期的正弦波形信号离散成具有2N个幅值的序列,若波形ROM有D位数据位,则2N个幅值以D位二进制数值固化在FPGA的ROM中,按照给定地址的不同可以输出相应相位的正弦信号的幅度编码。
本文ROM表采用64个采样点。其波形仿真如图图7所示,从图中可以看出,地址位从00H变化到20H时,输出信号值从FFH变到00H,正好为正弦波的四分之一个周期,结果证明:通过查询该ROM表,可以生成不同频率的正弦波。
把上述各部分所生的symbol在QuartusII7.2提供的BlockDiagram/SchematicFile中用Graphic Editor编辑连接起来,就形成了图1的虚线所示的部分,编译后进行整体模块仿真,经过器件编程,可将整体模块程序烧写到合适的FPGA芯片中,再配以相应的D/A器件及其他外围电路,调试后即完成设计。
3 结束语
用FPGA来实现MSK信号调制器,电路简单,设计灵活,便于修改和调试,可靠性高。特别是对数控振荡器的设计,正弦函数的ROM表格,直接采用VHDL的CASE语句实现,避免了调用ROM块,降低了系统的设计规模,减少了系统对逻辑资料的需求;另外Altera公司的QuatusII7.2 应用软件具有较强大的开放性和综合性,它可以利用其它各种EDA资源以及先进的设计方法,使其功能更加完善和强大。它可以实现从简单的接口电路设计到复杂的状态机,甚至“Sys-temon Chip”。它的可编程特性带来了电路设计的灵活性,缩短了产品的“Time ToMarket”。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
FPGA/CPLD可编程逻辑
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议