资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
基于FPGA的MSK调制器设计与实现
谢丽君1 谭立志2
( 1.长沙职业技术学院 湖南 长沙 410003; 2.株洲职业技术学院 湖南 株洲 41 )
摘要: 介绍了MSK信号的优点, 并分析了其实现原理, 提出一种MSK高性能数字调制器的FPGA实现方案; 采用自顶向下的设计思想, 将系统分成串/并变换器、 差分编码器、 数控振荡器、 移相器、 乘法电路和加法电路等六大模块, 重点论述了串/并变换、 差分编码、 数控振荡器的实现, 用原理图输入、 VHDL语言设计相结合的多种设计方法, 分别实现了各模块的具体设计, 并给出了其在QuartusII环境下的仿真结果。结果表明, 基于FPGA的MSK调制器, 设计简单, 便于修改和调试, 性能稳定。
关键词: MSK, FPGA, 差分编码器, 数控振荡器
中图分类号: TP29 文献标志码: A 文章编号:
Design and Realization of MSK Modulation Based on FPGA Technique
XIE Lijun1 TAN Lizhi2
( 1.Changsha Professional Technology college, Changsha,410003,china;2.Zhuzhou Professional Technology college,zhu zhou,41 ,china;)
Abstract: This article introduced the advantage of MSK,and analyzed the implementation principle.the proposed a high-preformance MSK digital modulator’s implementation method based on FPGA;The system is divied into serial / parallel conversion、 differential encoding、 NCO、 phase shifter、 multiplication circuit and adder using Top-to-Down design; And achieved the specific design of each module by schematic and VHDL; The simulation and experiment of FPGA design were given with QuartusII. Result shows,the MSK modulator based on FPGA,simple in design,convenient to modify or debug,and it operates stable.
Key words: MSK,FPGA, Differential Encoding .NCO
0 引言
在QPSK调制技术中, 假定每个符号的包络都是矩形, 已调信号的包络是恒定的, 此时无论基带信号还是已调信号其频谱都是无限的。可是实际的信道总是有一定的带宽的, 因此在发送QPSK信号时一般要经过带通滤波器进行限带。限带后的信号已经不能再保持包络恒定, 相邻符号间发生相移时, 限带后包络会明显变小, 甚至出现包络为0的现象。这种现象在非线性信道中是不希望出现的, 虽然经过非线性放大器能够减弱包络起伏, 可是这样却使信号的频谱扩展, 其旁瓣会干扰邻近频道的信号, 造成限带时的带通滤波器失去作用。
正是为了解决这个问题, 我们引入了在非线性限带信道中使用的恒包络调制方法———最小移频键控( MSK) 调制技术。[1]
1实现原理[2]
MSK就是一种能产生恒定包络、 连续相位信号的调制方式。它是二进制连续相位移频键控(CPFSK)的一种特殊情况, 即调制指数(移频系数)h=0.5, 相位在码元转换时刻是连续的。MSK信号可表示为 : ( 1) 其中:
( 2)
式中, 为附加相位函数, 假设初始相位为; 为载波角频率; 为码元间隔; 为频偏; 为第k个码元中的相位常数; 为第k个码元数据; 取值为±1。这表明, MSK信号的相位是分段线性变化的, 同时在码元转换时刻相位仍是连续的, 因此有:
( 3) 或者: ( 4)
由式( 1) 和( 4) 可得: ( 5)
由式( 5) 和MSK相位网格图可看出, 为截矩, 其值为π的整数倍, 利用三角等式并注意到, 有 ( 6) 根据以上分析, 能够得出MSK调制器的框图如图1所示。
图 1 MSK调制器方框图
Fig.1 The MSK principle
2 主要模块的FPGA实现
2.1 串/并转换的实现
顺序输入的二进制信息经过串/并变换器, 变换成速率减半的双比特序列, 可采用两个D触发器来实现, 其原理如图2所示。其中DFFinst和DFFinst3构成一个两位移位寄存器, 将串行输入信号变成并行输出信号; DFFinst4和NOTinst8构成二分频器, 实现速率减半; DFFinst1和DFFinst2为锁存器, 使信号同步输出。图 5为串/并变换器 S_P 的仿真结果, 其中 AB为变换后的双比特码元。由图能够看出, 当输入DataAB为01010101时, 在延时约80ns后, 输出DataA为0000, DataB为1111。[3]
图 2 串/并转换原理图
Fig.2 The series-parallel conversion principle
图 3 串/并转换仿真波形图
Fig.3 The simulation diagram of series-parallel conversion
2.2 差分编码器的实现[4]
差分编码器的功能就是实现绝对码变换为相对码, 在相码中, 1、 0分别用相邻码元电平是否发生跳变来表示。若用相邻电平发生跳变来表示码元1, 则称为传号差分码, 记做NRZ码。绝对码-相对码之间的关系为: ( 7) 。采用VHDL设计的主体代码如下[5]:
process (clk,datain_a,datain_b)
begin
if clk 'event and clk='1' then
if start='0' then q<=0;a<='0';b<='0';
elsif q<=0 then q<=1;a<=a xor datain_a;dataout_a<=a xor datain_a;
b<=b xor datain_b; dataout_b<=b xor datain_b;
elsif q=3 then q<=0;
else q<=q+1;
end if;
end if;
end process;
end behav;
经编译后生成元件, 其波形仿真图如图 4所示, 由图能够得到: 当start为低电平时, 两路输出信号都为0; 当start信号为高电平时, 对输入信号( datain_a) 有: datain_a=, 此时dataout_a=, 对输入信号( datain_b) 有: datain_b=, 此时Dataout_b=, 由此能够得出, 元件QDSP_PL实现了由绝对码到相对码的变换。
图 4 绝对码到相对码变换仿真图
Fig.4 The simulation diagram of absolute code change to relative
2.3 NCO的实现
2.3.1 NCO的实现原理
数控振荡器在数字中频中相对来说是比较复杂的, 也是决定数字中频性能的主要因素之一, NCO的目标是产生一个理想的正弦波或余弦波, 如式(1):
( n=0,1,2……) (8)
式中, 为本地振荡频率; 为输入信号的采样频率。正弦波样本能够用实时计算的方法产生, 但这只适用于信号采样频率很低的情况。在超高速的信号采样频率的情况下, NCO实时计算的方法是不可能实现的, 此时, NCO产生正弦波样本的最有效、 最简便的方法就是查表法, 即事先根据不同正弦波相位计算好相应的正弦值, 并按相位角度作为地址存储相应的正弦值数据, 工作时, 在每输入一个信号采样样本时, NCO就增加一个的相位增量, 然后, 按照相位累加角度作为地址, 取出该地址上的数值并输出到数字混频器, 与信号样本相乘, 其原理框图如图5所示 [6] 。经过改变频率控制字, 能够改变相位累加器的累加值, 从而改变寻址的步进, 实现不同的频率输出。
图5 NCO原理框图
Fig5.NCO principle diagram
2.3.2 相位累加器的FPGA实现[6]
相位累加器由N位加法器与N位寄存器级联构成。每来一个时钟fc, 加法器将频率控制字K与寄存器输出的累加相位数据相加, 再把相加后的结果送至寄存器的数据输入端。相位累加器输出的数据就是合成信号的相位, 当相位累加器累加到最大值时会产生一次溢出, 完成一个周期的动作。溢出频率就是NCO输出的信号频率。可用VHDL语言实现相位累加器的设计, 其主要代码如下:
architecture art of sum88 is
signal temp : std_logic_vector( 7 downto 0 );
begin
process(clk,en,reset) is
begin
if reset='1' then
temp<="00000000";
else
if clk'event and clk='1' then
if en='1' then
temp<= temp+k;
end if;
end if;
end if;
out1<= temp;
end process;
end art;
8位相位累加器的仿真波形如图6所示。由波形图能够看出, 当k=08时, 在每一个有效脉冲的作用下, 输出的数值比前一个输出的数值大8; 当k=09时, 输出的数值比前一个输出的数值大9; 结果证明, 该程序实现了相位的累加。
图 6 8位相位累加器的仿真波形如图
Fig·6 The diagram showing the stimulated wave of 8 bit Phase-Accumulator
2.3.3 正弦ROM表的FPGA实现
用相位累加器输出的数据作为波形存储器的取样地址, 完成相位序列(相位码)向幅度序列(幅度码)的转换。这里用ROM构造一个查找表。N位的寻址ROM相当于把一个周期的正弦 波形信号离散成具有2N个幅值的序列, 若波形ROM有D位数据位, 则2N个幅值以D位二进制数值固化在FPGA的ROM中, 按照给定地址的不同能够输出相应相位的正弦信号的幅度编码。
本文ROM表采用64个采样点。其波形仿真如图室7 所示, 从图中能够看出, 地址位从00H变化到20H时, 输出信号值从FFH变到00H, 正好为正弦波的四分之一个周期, 结果证明: 经过查询该ROM表, 能够生成不同频率的正弦波。
图7 正弦波形的仿真图
Fig·7 The diagram showing a quarter of the stimulated sin wave
把上述各部分所生的symbol在QuartusII7.2提供的BlockDiagram/SchematicFile中用Graphic Editor编辑连接起来, 就形成了图1的虚线所示的部分, 编译后进行整体模块仿真, 经过器件编程, 可将整体模块程序烧写到合适的FPGA芯片中, 再配以相应的D/A器件及其它外围电路, 调试后即完成设计。
3结束语
用FPGA来实现MSK信号调制器, 电路简单, 设计灵活, 便于修改和调试, 可靠性高。特别是对数控振荡器的设计, 正弦函数的ROM表格, 直接采用VHDL的CASE语句实现, 避免了调用ROM块, 降低了系统的设计规模, 减少了系统对逻辑资料的需求; 另外, Altera公司的QuartusII7.2应用软件具有较强大的开放性和综合性, 它能够利用其它各种EDA资源以及先进的设计方法, 使其功能更加完善和强大。它能够实现从简单的接口电路设计到复杂的状态机, 甚至”Sys-temon Chip”。它的可编程特性带来了电路设计的灵活性, 缩短了产品的”Time ToMarket”。
参考文献
[1] 吉利萍 MSK调制技术研究[J] 计算机工程应用技术 .18(4919-4920)
JI Li-ping Research of MSK Modulation Technology[J] Computer application technology .18(4919-4920)
[2] 王兴亮 达新宇 林家薇 王 瑜 数字通信原理与技术[M]西安 西安电子科技大学出版社 .7( 180-181)
Wang Xingliang Da Xinyu Lin Jiawei Wang Yu Principle and technology of digital communication[M]
Xi’an Xi'an Electronic and Science University press .7( 180-181)
[3] 周维龙, 姚晓玲。 基于FPGA的QPSK调制器的设计与实现[J] 湖南冶金职业技术学院学报
.4( 99-101)
Zhou Weilong ,Yao Xiaoling. Design and Realization of QPSK Modulation Based on FPGA [J]Journal of Huan Metallurgical Professional Technology College .4( 99-101)
[4] 刘国华,李二喜. 基于FPGA的QDPSK调制器的设计与实现[J]电子设计工程 .19( 22-25)
Liu Guohua Li-Er’xi。Design and Realization of QDPSK Modulation Based on FPGA[J]Electronic Design Engineering .19( 22-25)
[5] 段吉海, 黄智伟。基于CPLD/FPGA的数字通信系统建模与设计[M]北京 电子工业出版社 .5( 228-229)
Duan Jihai,Huang Zhiwei.The Modeling and Design of Digital Communication System Based on CPLD/FPGA [M] BeiJin Publishing House of Electronics Industry .5( 228-229)
[6] 杨威,左月明,刘洋等 利用FPGA实现DDS信号发生器的研究[J]山西农业大学学报( 自然科学版) .27(3)(329-332)
YANG Wei et The Research on Using FPGA to Realize DDS Signal Generator[J] SHANXI AGRIC UNIV (Natural Science Edition) .27(3)(329-332)
作者简介:
1, 谢丽君, 1973年出生, 女, 长沙, 本科, 讲师、 高级技师, 当前主要研究方向为电工电子和电气控制。
2, 谭立志, 1971年7月出生, 男, 株洲, 硕士, 当前主要研究方向为电路与系统。
展开阅读全文