DSP课程设计Word格式文档下载.docx
- 文档编号:16551608
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:25
- 大小:285.10KB
DSP课程设计Word格式文档下载.docx
《DSP课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《DSP课程设计Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
一、绪论
由于信号的远距离传输,不可避免地存在信号的延时、干扰、非线性失真等。
因而为了使通信系统有效、可靠地工作,就必须进行同步⋯。
在数字系统中,信号流的最小单元是码元,一般总是以若干个码元组成一个帧,若干个帧组成一个复帧,即组成一个个的“帧”进行传输。
帧同步的任务就是在位同步的基础上识别出这些数字信息(帧)“开头”和“结尾”的时刻,使接收设备的帧定时与接收到的信号中的帧定时处于同步状态。
实现帧同步的常用方法是连贯式插入法,它是指在每帧的开头集中插入特殊的同步码组,该特殊码组要求具有尖锐单峰特性的局部自相关函数,以便于与信息码区别,另外识别器应尽量简单。
目前,一种最常用的帧同步码组是巴克码,而巴克码检出电路的设计则是实现帧同步的核心内容。
本文基于DSPBuilder提出了设计及实现巴克码检出电路的一种新方法。
在通信系统中,同步技术起着相当重要的作用。
通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步系统。
通信系统中的同步可分为载波同步、位同步、帧同步等几大类。
当采用同步解调或相干检测时,接收端需要提供一个与发射端调制载波同频同相的相干载波,获得此相干载波的过程称为载波提取,或称为载波同步。
而在数字通信中,消息是一串连续的信号码元序列,解调时常须知道每个码元的起止时刻。
因此,就要求接收端必须能产生一个用作定时的脉冲序列,以便与接收的每一个码元的起止时刻一一对齐。
在接收端产生与接收码元的重复频率和相位一致的定时脉冲序列的过程称为码元同步或位同步。
数字通信中的消息数字流总是用若干码元组成一个“字”,又用若干“字”组成一“句”。
因此,在接收这些数字流时,同样也必须知道这些“字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。
当通信是在两点之间进行时,完成了载波同步、位同步和帧同步之后,接收端不仅获得了相干载波,而且通信双方的时标关系也解决了,这时,接收端就能以较低的错误概率恢复出数字信息。
巴克码用在通信系统中的帧同步,主要是利用其具有尖锐的自相关函数的特点,便于与随机的数字信息相区别,易于识别,出现伪同步的可能性小。
巴克码是一种具有特殊规律的二进制码组,它是一种非周期序列。
目前已发现的所有巴克码组如下表
n
巴克码组
2
++
3
++--
4
+++--;
++--+
5
+++--+
7
+++----+--
11
+++------+----+--
13
+++++----++--+--+
其中,“+”表示取值为高电平1,“一”表示取值为低电平0。
依要求及上面的巴克码组可知,13位的巴克码发生器应在输入时钟信号或者模拟时钟信号作用下依次产生“1111100110101”的码元序列。
2.帧同步与巴克码
因而为了使通信系统有效、可靠地工作,就必须进行同步。
实现帧同步的常用方法是连贯式插 入法,它是指在每帧的开头集中插入特殊的同步码组,该特殊码组要求具有尖锐单峰特性的局部自相关函数,以便于与信息码区别,另外识别器应尽量简单。
在数字通信系统中,实现帧同步的方法通常有两种:
起止式同步法和集中式插入同步法。
起止式同步比较简单,一般是在数据码元的开始和结束位置加入特定的起始和停止脉冲来表示数据帧的开始和结束。
另外在计算机RS232串口通信中通常也使用类似方法。
而在集中式插入同步法中,要求插入的同步码在接收端进行同步识别时出现伪同步的概率尽可能小,并且要求该码组具有尖锐的自相关函数以便于识别。
同时接收机端的同步码识别器要尽量简单。
目前用得比较广泛的是性能良好的巴克(Barker)码。
二、巴克码原理
1.巴克码
巴克码是一种有限长的非周期数字序列。
一个n位巴克码序列{x1,x2,…,xi,…,xn},其中xi的取值为+1或一1,其局部相关函数R(j)满足下式:
其中:
j表示错开的位数。
当j=0时,R(j)=n;
R(j)为其他值时,R(j)在±
1附近波动,具有尖锐单峰特性的局部自相关函数。
实际使用中的巴克码都在7位以上,过短的码组容易受衰落或干扰的影响。
对于l3位巴克码组{+1,+1,+1,+1,+1,一1,一1,+1,+1,一1,+1,一1,+1},其局部自相关函数为:
由上式可看出,l3位巴克码组的自相关函数具有尖锐的单峰特性。
2.设计原理
序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
在本次设计中首先要设计一个巴克码发生器,然后再设计巴克码检测器。
3.13位巴克码识别器
当一帧信号到来时,首先进入识别器的是巴克码组,用巴克码识别器对该巴克码组进行相关运算,只有当13位巴克码在某一时刻正好全部进入13位寄存器时,13个移位寄存器输出端都输出+1,相加后的最大值输出为+13,其余情况相加结果均小于+13。
对于输入的信息序列,与巴克码组相同的可能性极小。
故识别器的相加输出也只能小于+l3。
若判决器的判决门限电平定为+12,那么就在13位巴克码的最后一位进入识别器时,识别器输出一个同步识别脉冲表示一帧的开头。
13位巴克码识别器的结构如图所示。
三、DSPBuilder设计流程
1.利用DSPBuilder库建立巴克码帧同步检出模型
DSPBuilder是一个面向DSP开发的系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级(算法仿真建模)和RTL(硬件实现)两个设计工具连接起来,都放在Matlab/Simulink图形设计平台上,而将QuartusII作为底层设计工具置于后台,最大程度发挥了各种工具的优势。
除了图形化的系统建模外,DSPBuilder还可以自动完成大部分的设计过程和仿真,直至把设计文件下载至FPGA开发板上。
l3位巴克码识别器实现的DSPBuilder模型如图所示
其中ShiftTaps模块实现输入序列存储,add,sub子系统模块实现±
xixi+j运算,Comparator模块和常数模块实现判决器功能。
在Simulink中通过FromWorkspacel模块从Matla的工作区获得输入序列eleesignal,命令如下:
val=[1111100110101110111110010111101001101110]’
tm=1:
40;
tm=tm’
simin=[tm,va1]
然后调用模型中的TestBench模块,运用第三方仿真软件Modelsim进行仿真,仿真波形如图所示。
仿真结果表明:
当出现13位巴克码组1111100110101时,l3位巴克码识别器就会输出一个同步脉冲。
此时,时钟clk的周期为100Ixs,因为当时钟周期设定值很小时,比如纳秒级别,系统很容易出现冒险竞争现象,因此要将时钟周期的值设定得大一些。
2.加入激励,完成系统仿真,通过Scope模块所得波形图如下
3.由simulink模型转换成VHDL
4.综合
在SignalCompiler中选择QuartusⅡ进行综合
5.利用Modelsim完成功能仿真
6.编译适配
在QuartusⅡ中打开SignalCompiler建立的Quartus项目文件,选择具体器件,锁定管脚,完成适配。
7.下载
四、课程设计心得
本次设计持续了两周时间,时间虽短,但其中的艰辛以及老师孜孜不倦的指导是无法用语言表达的。
这次设计让我对DSP有了更加深刻的了解
在设计过程中,有很多次遇到自己无法解决的问题,我都请教邓老师,老师都耐心的给我讲解出错的原因,以及以后该如何避免这种错误。
看着别人一个个都做成了自己的设计,我心急如焚。
在课余时间,去机房独自做我的题目,可问题还是一个接一个的来,还好邓老师在百忙之中抽出时间来给我指点。
让我终于圆满完成了本次设计。
在此我要感谢邓老师对我孜孜不倦的教导,没有她的帮助,我这次设计根本无法完成。
在她的指点下,我对DSP有了更加深刻的了解,对现代DSP技术里所涉及的MATLAB、QUARTUSⅡ、ModelSim软件有了更加熟练的运用及它们之间的配合。
五、参考文献
[1]王亮兴,达新宇.数字通信原理与技术[M].西安:
西安电子科技大学出版社,2003.
[2]潘松,黄继业,王国栋.现代DSP技术[M].西安:
[3]杨学兵,马林华,李森.一种低密度奇偶校验码帧自同步方法[J].电光与控制,2009,16(6):
81-85.
[4]张伟.用VerilogHDL设计可辨别相位模糊的巴克码识别器[J].现代电子技术,2004,147(7):
45.46.
[5]龙光利.巴克码识别器的设计与FPGA的实现[J].科技广场,2006(4):
110—112.
[6]罗韩君,刘明伟,林亚风.基于Dspbuilder的DDS设计与实现[J].现代电子技术,2008(7):
148-150.
[7]吴继华,王诚.AlteraFPGA/CPLD设计(高级篇)[M].jE京:
电子工业出版社,2004.
[8]杨涤,李立涛,杨旭,等.系统实时仿真开发环境与应用[M].北京:
清华大学出版社,2002.
[9]侯建军,郭勇.SOPC技术基础教程[M].北京:
北京交通大学出版社,20o8.
[1O]刘邹,丁青青.基于Proteus的硬件在回路仿真[J].计算机仿真,2009
(2):
312—328.
六、附录
VHDL程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_signed.all;
librarydspbuilder;
usedspbuilder.dspbuilderblock.all;
librarylpm;
uselpm.lpm_components.all;
Entitybakemais
Port(
clock:
instd_logic;
sclrp:
instd_logic:
='
0'
;
AltBus:
AltBus1:
outstd_logic
);
endbakema;
architectureaDspBuilderofbakemais
signalsclr:
std_logic:
signalA0W:
std_logic;
signalA1W:
std_logic_vector(19downto0);
signalA2W:
std_logic_vector(6downto0);
signalA3W:
signalA4W:
std_logic_vector(2downto0);
signalA5W:
signalA6W:
signalA7W:
signalA8W:
signalA9W:
signalA10W:
signalA11W:
signalA12W:
signalA13W:
signalA14W:
signalA15W:
signalA16W:
signalA17W:
signalA18W:
signalA19W:
signalA20W:
signalA21W:
signalA22W:
signalA23W:
signalA24W:
signalA25W:
signalp3A0L0Add:
signalp3B0L0Add:
signalp3A1L0Add:
signalp3B1L0Add:
signalp3A2L0Add:
signalp3B2L0Add:
signalp3A3L0Add:
signalp3B3L0Add:
signalp3A4L0Add:
signalp3B4L0Add:
signalp3A5L0Add:
signalp3A0L1Add:
std_logic_vector(3downto0);
signalp3B0L1Add:
signalp3A1L1Add:
signalp3B1L1Add:
signalp3A2L1Add:
signalp3B2L1Add:
signalp3A0L2Add:
std_logic_vector(4downto0);
signalp3B0L2Add:
signalp3A1L2Add:
signalp3A0L3Add:
std_logic_vector(5downto0);
signalp3B0L3Add:
--SubSystemHierarchy-SimulinkBlock"
bxn1m"
componentbxn1m
port(
clock:
instd_logic;
sclr:
AltBus:
AltBus1:
outstd_logic_vector(1downto0)
);
endcomponent;
bxn1m1"
componentbxn1m1
bxn1m2"
componentbxn1m2
bxn1m6"
componentbxn1m6
bxn1m7"
componentbxn1m7
bxn1m8"
componentbxn1m8
bxpm"
componentbxpm
bxpm1"
componentbxpm1
bxpm2"
componentbxpm2
bxpm3"
componentbxpm3
bxpm4"
componentbxpm4
instd_logi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 课程设计