欢迎来到天天文库
浏览记录
ID:6376581
大小:64.50 KB
页数:4页
时间:2018-01-12
《实验一、线性移位寄存器实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验一、实验报告姓名:何璟学号:1208060099实验日期:2014.10.8一、实验名称:线性移位寄存器二、实验目的1、了解线性移位寄存器产生伪随机序列的原理。2、伪随机寄存器的软件实现。3、同一个反馈函数不同初始值下的输出序列。4、同一个初始值在不同反馈函数下的输出序列。三、实验基本方法用C语言编写一个32位线性移位寄存器,其输出的伪随机序列显示在屏幕上。四、实验步骤1、编程实现32位线性移位寄存器。2、观察输出序列前1000——2000位的随机性。3、改变反馈函数,再观察输出序列前1000
2、——2000位的随机性。4、改变初始值,再观察输出序列前1000——2000位的随机性。5、将寄存器改成8位,找到一个m序列。**五、实验结果1、程序设计的思想,及程序原代码。计算为随机序列按钮的程序代码voidCSy1View::OnButton1(){//TODO:Addyourcontrolnotificationhandlercodehereunsignedintlfsr,fsc=0x94411889;//反馈函数unsignedintt1,s,f,fs;inti,j,c0=0,c1=0;
3、//0和1个数UpdateData(TRUE);lfsr=m_shuru;m_ed="";fs=lfsr&fsc;for(i=0;i<2000;i++){fs=lfsr&fsc;t1=lfsr&0x80000000;if(t1==0){c0++;m_ed=m_ed+"0";}else{m_ed=m_ed+"1";c1++;}f=0;//反馈函数计算for(j=0;j<32;j++){if(fs&0x1!=0)//最低位f=f^1;elsef=f^0;fs=fs/2;}lfsr=lfsr*2+f;/
4、/移位}m_c0.Format("%d",c0);m_c1.Format("%d",c1);UpdateData(FALSE);}改变反馈函数voidCSy1View::OnButton1(){//TODO:Addyourcontrolnotificationhandlercodehereunsignedintlfsr,fsc=0x23193324;//反馈函数unsignedintt1,s,f,fs;inti,j,c0=0,c1=0;//0和1个数UpdateData(TRUE);lfsr=m_
5、shuru;m_ed="";fs=lfsr&fsc;for(i=0;i<2000;i++){fs=lfsr&fsc;t1=lfsr&0x80000000;if(t1==0){c0++;m_ed=m_ed+"0";}else{m_ed=m_ed+"1";c1++;}f=0;//反馈函数计算for(j=0;j<32;j++){if(fs&0x1!=0)//最低位f=f^1;elsef=f^0;fs=fs/2;}lfsr=lfsr*2+f;//移位}m_c0.Format("%d",c0);m_c1.F
6、ormat("%d",c1);UpdateData(FALSE);}1、报告观察结果。改变初始值改变反馈函数1、对观察结果的分析。2、分析8位寄存器产生的m序列。***打**号的选做。
此文档下载收益归作者所有