通原GMSK调制系统实验报告

发布时间 : 星期四 文章通原GMSK调制系统实验报告更新完毕开始阅读

地址逻辑模块实现如下:

上面箭头表示时钟输入,下面箭头表示随机序列{an}经预编码后形成的{bn},对它进行五位移存,通过L一个四象限计数器,再经一个模为8的计数器。故一共抽出2的10次方即1024个点。在Matlab中用三个嵌套的for循环实现。

正、余弦表表示将1024个点取cos和sin值,写入该表。可建立一个1*1024的矩阵来显示。

仿真时,只需取出1024个点的正、余弦值量化后,写入正、余弦表,再将其根据芯片的地址进行扩容,即可进行仿真、下载。

2.2地址逻辑仿真

地址逻辑设计电路框图

clockmgdfCLKINPUTVCCCLKA3A4A5DATAOUTPUTA3A4A5OUTPUTOUTPUTOUTPUTDATAinst1addrlogicA5DATAA6A7A8A9A10A11A12OUTPUTOUTPUTOUTPUTA6A7A8OUTPUTOUTPUTA9A10OUTPUTOUTPUTA11A12inst

仿真波形

A3,A4,A5是时钟的分频,A6、A7代表的是L,它主要以在0-3内的递增或

递减或0突变为3突变为0,而A8、A9、A10、A11、A12代表的是移位寄存器的五位信息码,A12、A11、A10、A9都分别是其下一个延时之后的结果,而data是m伪随机序列。

2.3.硬件调试步骤

1) 用编程器将量化后的码表的二进制bin数据文件下载到ROM中,在将下载成

功的芯片插在TX2000EDA通信实验板上,注意芯片的位置和方向; 2) 将TX2000EDA通信实验板上的JTAG接口与计算机相连; 3) 将双路稳压电源调整为±16V;

4) 接通电源,用示波器观察余弦cos?低通滤波器(LPF)的输出波形,与Matlab

仿真眼图相比较。

三、心得、体会

这次通原实验感觉和去年小学期做的单片机有相似之处,都是类似软硬件相结合的小项目。通过这次实验,我对GMSK调制器的工作原理有了深入理解,对matlab、VHDL和UltraEdit等软件的使用有了新的体会,同时也接触了“GMSK调制器”通信系统实验箱。但更有意义的是,在实验过程中,我学会了如呵查找资料、如何自学、如何与他人交流取长补短以及如何高效解决接踵而来的问题等,这无疑是极好的锻炼,从中也有巨大的收获。

这里我想说说实验中遇到的问题及解决方式。

1、第一节实验课上,老师便布置了实验中的第一个任务——理解g(t)、?(t)等函数的推导过程以及GMSK系统的工作原理。印象中这是第一次做大实验前,老师明确要求我们自主、彻底地理解实验原理,之前的某些实验我都是在似懂非懂的情况下就开始编写程序了。上学期的通原课有学过GMSK,但并非重点内容,了解有限,所以我花了一节课的时间去看实验指导书里的实验原理部分,依然有些疑问,后来通过与老师同学的交流,思路逐渐清晰起来。事实证明,磨刀不误砍柴工,彻底理解了实验原理让我在接下来的时间里少走了不少弯路。今后无论是做实验还是其他项目,都应该在一开始就理解基本的理论知识和原理,匆匆忙忙地开始工作有可能会浪费宝贵的时间及精力。

2、在实验室的墙壁上,完整地给出了g(t)函数的代码,原本我以为这一模块可以高枕无忧了,在写?(t)函数时,需要调用g(t),才发现那段代码采用的函数是离散的,而我的思路确实编写连续的函数,有了冲突。我只好重头编写Q(t)和g(t)。这件小事给了我比较深刻的印象,即使是现成的成果都要理解后才能采用,不可有偷懒侥幸心理。实验做完后,我看了其他采用离散型函数的同学的程序,感觉很有启发,以后编写代码也可以尝试离散函数的方法,某种程度上其更加简洁。

3、生成bin文件后,下载到板子上有问题,非常混乱的图。不管是高八位,还是低八位,都不正确。我反复看程序,试了一遍有一遍,还是没有找到问题所在。在与同学交流后发现中,我的数据存放的格式有问题,我先循环L,再循环bn和t,自然就出错了。这此也是简单的修改了几行代码,先循环bn,再循环L和t。

4、在出眼图的模块里,一开始眼图总是出现错误,只有中间一段是正确的。在很长时间里我都认为是前面正弦余弦表出了问题,把检查的精力放在那里,反复检查却没发现错误,后来我用断点一步步执行程序,才发现是眼图最后几行代码里的一个变量名少了一个字母,而我为检查这个错误浪费了一个多小时。为此我得到两点教训,一是在学习工作里应更加细致认真,尽量避免低级错误,二是要养成良好的编程习惯,提高代码的可读性,比如在起变量名时更加形象具体等。细节往往也有巨大的能量。

联系合同范文客服:xxxxx#qq.com(#替换为@)