电子科技大学逆向工程实验报告作业

电子科技大学逆向工程实验报告作业
电子科技大学逆向工程实验报告作业

电子科技大学

学生姓名:马侬

学号:20152*03**0*

指导教师:何兴高

日期:2016.7.15

一.题目名称:简易记事本软件逆向分析

二.题目内容

由于记事本功能简单,稍有经验的程序员都可以开发出与记事本功能近似的小软件,所以在一些编程语言工具书上也会出现仿照记事本功能作为参考的示例。为了便于分析因此选取了一个简易的记事本,因此本实验将着重研究从源程序到机器码的详细过程而不注重程序本身的功能。另一方面简易源程序代码约130多行。本实验目的是了解源程序是怎么一步步变成机器码的又是怎么在计算机上运行起来的。

三.知识点及介绍

利用逆向工程技术,从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等。随着用户需求的复杂度越来越高软件开发的难度也在不断地上升快速高效的软件开发已成为项目成败的关键之一。为了提高程序员的产品率开发工具的选择尤为重要因为开发工具的自动化程度可以大大减少程序员繁琐重复的工作使其集中关注他所面临的特定领域的问题。为此当前的IDE不可避地要向用户隐藏着大量的操作细节而这些细节包含了大量的有价值的技术。

四.工具及介绍:

在对软件进行逆向工程时,不可避免地需要用到多种工具,工具的合理使用,可以加快调试速度,提高逆向工程的效率。对于逆向工程的调试环节来说,没有动态调试器将使用的调试工作很难进行。可以看出,各种有效的工具在逆向工程中占据着相当重要的地位,有必要对它们的用法做一探讨。

PE Explorer简介:PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。

功能极为强大的可视化汉化集成工具,可直接浏览、修改软件资源,包括菜单、对话框、字符串表等;另外,还具备有W32DASM 软件的反编译能力和PEditor 软件的PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理PE 格式的文件如:EXE、DLL、DRV、BPL、DPL、SYS、CPL、OCX、SCR 等32 位可执行程序。该软件支持插件,你可以通过增加插件加强该软件的功能,原公司在该工具中捆绑了UPX 的脱壳插件、扫描器和反汇编器.,出口,进口和延迟导入表的功能,使您可以查看所有的可执行文件使用的外部功能,和其中包含的DLL或库的基础上进

行分类的结果。这里一个非常有用的功能是语法的Viewer,它显示功能的调用语法,它知道和可以让你扩大自己的定义的语法数据库。非常好用。

Dumpbin是VC自带的二进制转储工具可以将PE/COFF文件以文字可读的方式显示出来。Microsoft COFF 二进制文件转储器(DUMPBIN.EXE) 显示有关通用对象文件格式(COFF) 二进制文件的信息。可以使用DUMPBIN 检查COFF 对象文件、标准COFF 对象库、可执行文件和动态链接库(DLL)。具有提供此DLL中所输出的符号的清单的功能。

LINK.exe 将通用对象文件格式(COFF) 对象文件和库链接起来,以创建可执行(.exe) 文件或动态链接库(DLL)。

五.源程序

notepad.cpp:

notepad::notepad(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::notepad)

{

ui->setupUi(this);

this->setWindowTitle("new file");

QObject::connect(ui->NewFileaction, SIGNAL(triggered()),

this, SLOT(NewFile()));

QObject::connect(ui->OpenFileaction, SIGNAL(triggered()),

this, SLOT(OpenFile()));

QObject::connect(ui->SaveFileaction, SIGNAL(triggered()),

this, SLOT(SaveFile()));

QObject::connect(ui->SaveAsFileaction, SIGNAL(triggered()),

this, SLOT(SaveAsFile()));

QObject::connect(ui->Coloraction, SIGNAL(triggered()),

this, SLOT(SetColor()));

QObject::connect(ui->Fontaction, SIGNAL(triggered()),

this, SLOT(SetFont()));

QObject::connect(ui->Aboutaction, SIGNAL(triggered()), this, SLOT(About()));

QObject::connect(ui->Helpaction, SIGNAL(triggered()), this, SLOT(Help()));

}

notepad::~notepad()

{

delete ui;

}

void notepad::changeEvent(QEvent *e)

{

QMainWindow::changeEvent(e);

switch (e->type()) {

case QEvent::LanguageChange:

ui->retranslateUi(this);

break;

default:

break;

}

}

void notepad::NewFile(){

this->setWindowTitle("new file");

ui->Text->clear();

}

void notepad::OpenFile()

{

QString filename = QFileDialog::getOpenFileName

( this, "get file",QDir::currentPath(), "(*.*)");

if (!filename.isEmpty())

{

QFile *file = new QFile;

file->setFileName(filename);

if (file->open(QIODevice::ReadOnly) == true)

{

QTextStream in(file);

ui->Text->setText(in.readAll());

this->setWindowTitle(filename);

}

else

{

QMessageBox::information(this, "ERROR Occurs", "file not exist");

}

file->close();

delete file;

}

}

void notepad::SaveFile()

{

QString filename = this->windowTitle();

// if (https://www.360docs.net/doc/fc7738022.html,pare("new file") != 0)

// {

QFile *file = new QFile;

file->setFileName(filename);

if (file->open(QIODevice::WriteOnly) == true)

{

QTextStream out(file);

outtoPlainText();

file->close();

delete file;

}

else

{

QMessageBox::information(this, "ERROR Occurs", "file open error");

}

// }

}

void notepad::SaveAsFile()

{

QString filename = QFileDialog::getSaveFileName

( this, "save file",QDir::currentPath());

QFile *file = new QFile;

file->setFileName(filename);

if (file->open(QIODevice::WriteOnly) == true)

{

QTextStream out(file);

outtoPlainText();

file->close();

delete file;

}

else

{

QMessageBox::information(this, "ERROR Occurs", "file open error");

}

}

void notepad::SetColor()

{

QColor color = QColorDialog::getColor(Qt::white, this);

if (color.isValid() == true)

{

ui->Text->setTextColor(color);

}

else

{

QMessageBox::information(this, "ERROR Occurs", "set color error");

}

}

void notepad::SetFont()

{

bool ok;

QFont font = QFontDialog::getFont(&ok, QFont("Arial", 18), this, "set font");

if (ok)

{

ui->Text->setFont(font);

}

else

{

QMessageBox::information(this, "ERROR Occurs", "set font error");

}

}

void notepad::About()

{

Dialog mychild;

mychild.exec();

}

void notepad::Help()

{

QDesktopServices::openUrl(QUrl("https://www.360docs.net/doc/fc7738022.html,"));

}

六.过程及分析

1)平台介绍

操作系统:Windows XP Professional with SP3

开发工具:Visual Studio 2005 Professional Edition

开发语言:VC++

源文件:notepad.cpp约130行

2)程序的编译与链接

目标程序运行。整个程序包含9个函数,

源程序被编译成机器码,在这个过程中除了词法分析、语法分析、语义分析、机器码生成外,最需要程序员关注的是程序的链接过程。每个C/C++源文件是一个独立的编译模块,也就是说每个文件会首先被编译成目标文件,如这里的*.obj文件,这个过程是编译器的工作。在目标文件中源程序的函数已被翻译成了机器码。此外目标文件还包含最重要的一个信息就是重定位信息,这里的重定位信息一般是指静态重定位信息。静态重定位信息包含了怎样修改引用数据和子程序的指令以及数据的重定位信息。为什么要包含重定位信息呢?前面已提到,每个源文件是一个独立的编译模块,那么如果在这个源文件中的函数调用了另外一个源文件中的函数或引用了它的变量时,那么在编译本源文件时是无法知道那个函数的地址的。因些在生成这些指令时,只能放占位符这样的信息。

当进入链接过程的时假,链接器除了要进行空间分配外,就是要进行符号的解析和

符号的重定位。在汇编级或机器指令级,实质上已经没有了函数的概念了。因为函数本身是作为高级语言的一种抽象,现在目标文件中只是一堆机器码。为了表示一个指令序列或数据空间,用使用了符号这一术语。链接器的空间分配是指根据PE文件格式规范生成可执行文件,在这个过程中如果安排指令和数据以及动态重定位等等的过程。简单地讲,符号解析是指将找到各模块间相互引用的函数符号,符号重定位就是将前面提到的指令占位符号修改成正常的指令。当然还包括数据的重定位,相象一下程序引用了一个动态链接库里的变量。象这些同样要生成重定位信息。

为了减少干扰,将源程序进行Release编译。在工程的Release目录可以看到notepad.obj文件。在"开始">"MicrosoftVisualStudio2005"->"VisualStudioTools"->"Visual

Studio2005 CommandPrompt",启动命令提示符。然后执行dumpbin命令,导出符号信息。

由于导出信息很多,只列出如下几个符号:0D500000000SECT30notype()External|

_WinMain@1601D00000000SECT5notype()External|?GetFileName@@YAXXZ(void__cde clGetFileName(void))07D00000000SECT21notype()External|?WndProc@@YGJPAUHWN D__@@IIJ@Z(long__stdcallWndProc(structHWND__*,unsignedint,unsignedint,long))0250 0000000SECT8notype()External|?FileToEditBox@@YA_NPAUHWND__@@PAD@Z(bool __cdeclFileToEditBox(structHWND__*,char*))

这里源程序中自定义的函数,它的名称已经是面目全非了。这象处理的原因在于,C++的函数重载导致的。函数重载使得,相同函数名称却有不同的函数签明。所以不经过处理,在下层就无法知道确切的函数。因此,为了使每个函数的标识唯一,就要对函数名称进行易容处理(mangle),相反的过程叫作复容处理(demangle)。

3)PE/COFF格式

VC/C++链接器,生成的可执行文件是PE格式,PE格式一类文件的规范,这个规范明确指定了在Windows平台可执行程序文件的内部结构,主机针对x86保护模式的程序。COFF就是目标文件*.obj的格式规范。PE文件另一个名称就是映象文件,说它

是映象文件是因为操作系统的加载器把它加载到内存后,会形成一个它的映象。但内存映象与文件并不一定一致辞。如调试符号信息一般不会被加载到内存,它主要由调试器使用。常见文件就是*.dll和*.exe类型的文件。而*.com并不是PE文件,但它也是可执行文件,它运行的环境是虚拟8086模式,并非保护模式。

由PE格式的布局图。PE文件使用的是一个平面地址空间,所有代码和数据都合并在一起,组成一个很大的结构。主要有:.text是在编译或汇编结束时产生的一种块,它的内容全是指令代码;.rdata是运行期只读数据;.data是初始化的数据块;.bss是未初始化的数据节;.idata包含其它外来DLL的函数及数据信息,即输入表;.rsrc

包含模块的全部资源:如图标、菜单、位图等。

现在使用PEExplorer对编译的notepad.exe程序进行逆向。如图5所示。由图可以知道程序入口点是0x000028DFh。当程序被加载到内存执行时,第一条指令将从这里取得。注意,这个地址是相对虚拟地址(RVM),程序的入口点地址还要道基地址才能得出。

PEExplorer逆向notepad.exe和数据目录

节区头数据,分别是读到了数据目录和区段头信息。

4)调用协定

调用协定规定了函数调用的参数传递方式及返回值的传递方式。它是应用程序二进制兼容的必要面规范。常见的调用协定有如下方式:1__stdcall

用于调用Win32API函数。采用__stdcall约定时,函数参数按照从右到左的顺序入栈,被调用的函数在返回前清理传送参数的栈,函数参数个数固定。由于函数体本身知

道传进来的参数个数,因此被调用的函数可以在返回前用一条retn指令直接清理传递参数的堆栈。2_cdecl:

是C调用约定,按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于传送参数的内存栈是由调用者来维护的(正因为如此,实现可变参数的函数只能使用该调用约定)。另外,在函数名修饰约定方面也有所不同。fastcall

快速调用方式。它的主要特点就是快,因为它是通过寄存器来传送参数的。实际上,它用ECX和EDX传送前两个双字(DWORD)或更小的参数,剩下的参数仍旧自右向左压栈传送,被调用的函数在返回前清理传送参数的内存栈。4参数传递分析在目标程序中有这样一个函数声明如下:

BOOLShowFileInfo(HWNDhwnd,HDChDC,HDROPhDropInfo)

发生调用地方为:

ShowFileInfo(hwnd,hDC,hDropInfo);

可以看到最后一条指令是堆栈平衡用的,传递了三个参数,每个参数的大小都为4个字节,所以大小刚好是0x0Ch。还可以看到第一个压栈的参数是hDropInfo,另外两参数都是用ebp来做基址寻址取到的,说明前两个参数不是局部变量。参数传递方向从右到左依次压栈。

5)堆栈平衡

参数传递后由调用者或被调用者负责平衡堆栈,但函数使用了局部变量,那堆栈又是如何保持平衡的呢?这里引入了一个叫栈帧(StackFrame)的概念。栈帧实质就一个函数栈所用的堆栈空间。每个函数都平衡了,那么整个程序栈也就平衡了。如图8所示,函数体的第一条指令就是保存ebp寄存器,它存的就是上一个函数的栈帧边界。第二条指令就是制定当前函数的栈帧的起始位置。第三条

指令就是为函数分配局部变量的堆栈空间了。函数栈的平衡

根椐VC/C++的调用协定,寄存器EAX、ECX、EDX是易变寄存器,也就是说调用函数不能假定被调用函数不改变它们的值。因此,调用函数想保留它们的值,在调用一个函数之前应自已先把它们保存起来了。另外的5个通用寄存器(EBX、ESP、EBP、ESI、EDI),则是非易变的。被调用函数在使用它们之前必须先保存。

所以上图的汇编指令就不难理解了。函数执行完毕后,只需把先前保存在栈中的EBP弹到ESP就保持了栈的平衡了。情况确实如此。如图9所示,最后一条指令是popebp,然后返回。根据返回指令,还可行知此函数使用的是cdecl调用协定。因为它没有参数的堆栈平衡。函数返回平衡堆栈

七.心得体会

逆向工程是一个实践性很强的课程,通过上机实验使我在本次课程的学习中收获很多,通过对程序的逆向分析,本人对计算机技术有了更深的认识。感谢何兴高老师的谆谆教诲和精彩地讲课,何老师为人随和热情,治学严谨细心。同时希望能进一步学习

更多和逆向工程相关的知识。

基于GEOMAGIC逆向工程实验报告

逆向工程也称反求工程,是指用一定的测量手段对实物或模型进行测量,根据测量数据通过三维几何建模方法重构实物CAD模型的过程。它改变了从图样到实物的传统设计模式,为产品的快速开发和创建设计提供了一条新途径。GEOMAGIC STUDIO 由美国RAINDROP公司出品,是逆向工程中应用最广泛的软件之一!利用 GEOMAGIC STUDIO可轻易根据实物零部件扫描所得的点云数据创建出完美的多边形模型和网格,并自动转换为NURBS曲面,生成准确的数字模型!软件的工作流程与逆向工程技术的工作流程大致相似,其工作流程为点数 据阶段———多边形阶段———成形阶段。点数据阶段主要测量的数据点进行预处理,在多边形阶段主要是通过对多边形的编辑的已达到拟合曲面所需要的的优化数据,成形阶段是根据前一阶段编辑的数据,自动识别特征、创建NURBS曲面。NURBS是Non-Uniform Rational B-Splines的缩写,意为非统一有理B样条。简单地说,NURBS造型总是由曲线和曲面来定义的,所以要在NURBS曲面上生成一条有棱角的边是很困难的。正因为如此,NURBS曲面特别适合做出各种复杂的曲面造型和表现特殊的效果,如人的面貌或流线型的跑车等。 1.点数据处理 扫描仪得到的数据会引入数据误差而且数据量庞大,为了后续工作方便准确进行需要去除数据中的坏点、减少噪音、平滑数据、分块数据整合对齐、在保证精度和特征的条件下进行数据精简。同时由于测量方法和测量设备的影响会出现数据缺口,这就需要对数据进行编辑来补齐数据。数据处理主要有一下几个方面: ●噪声过滤 ●数据光顺 ●数据精简 2.多边形处理阶段 多边形处理阶段是在点云数据封装后通过一系列技术处理得到完整的多边形数据模型,为曲面处理打下基础。 在多边形处理阶段首先要“创建流型”来删除模型中非流型的三角形数据,否则在后续处理中由于存在非流型的三角形而无法继续处理。对于片状的模型可以创建“打开”的流型,对于封闭的多边型模型可以创建“封闭”的流型!本例中叶片模型需要创建“封闭”的流型来删除非流型的三角形。 即使是不同的模型,对于点阶段和多边形阶段的操作都相类似,以上涉及的命令在任何模型点云的处理过程中几乎都会用到。一般情况下,多边形阶段编辑的好坏将决定最终曲面质量的好坏,因为多边形阶段的编辑结果直接进入下一个阶段:成形阶段。 将经过综合处理的点云用Polygon Mesh(多边形网格)进行封装。操作如下,点击Points(点)——Wrap(封装),点击Surface(曲面)选项,点击OK(确定)即得到初始三角网格曲面。多边形处理阶段即是在此基础上进行后续的修饰处理,具体的操作包括: a.孔洞修补。由于扫描过程中在标记处或者点云缺失处存在三角面的孔洞,需要对其进行修补以获得完整的曲面。孔的填充方法有三种: 部孔、边界孔和搭桥。针对模型中不同类型的孔,合理选择填充方法; 另外,对于边界比较杂乱的孔,可采取“先删后补”的方法使曲面模型更加光滑。用边界选择工具将边界上的三角面选中并删除,直到孔洞周边的三角面无翘曲、曲率基本一致。选取“基于曲率填充”选项进行修补,可获得近乎无痕迹的修补效果。某些部位虽无孔洞但三角面杂乱,也可以删掉杂乱三角形再进行修补。 b.去除毛刺。质量不好的点云重叠在一起,得到的三角网格曲面比较粗糙,需要进行光顺处理,以保证曲面质量。操作如下,点击Polygons(多边形)——Remove Spikes(去除毛刺),

逆向工程实验指导书

实验一:逆向工程技术实验三维测量操作 一、实验目的 了解逆向工程的基本原理和工作流程,初步掌握使用柔性关节臂式三坐标扫描仪系统对样件进行测量的方法,并了解利用测量所得的数据进行三维重构的过程。 二、实验的主要内容 样件外形测量与三维重构。 三、实验设备和工具 柔性关节臂式三坐标扫描系统 装有IMAGEWARE软件的计算机 四、实验原理 1、三维测量的方法简介 不同的测量对象和测量目的,决定了测量过程和测量方法的不同。 2、非接触式测量的三角测量原理 激光探头的测量原理目前均以三角法为主。如下图所示,激光由激光二氧化碳激光发生器产生,经聚光透镜(F1)投射到工件表面,由于光束反射作用,部份光源经固定透镜(F2)聚焦后投射在光传感器(D)上。当物体沿y方向上下运动或者探头沿y方向移动,其散射光投射在光传感器的位置(X)亦将改变。 2、柔性关节臂式三坐标扫描仪系统简介 柔性关节臂式三坐标扫描仪系统由柔性关节臂式(FARO)三坐标测量机和Kreon激光扫描系统构成。 Kreon激光扫描系统是基于激光截面三角测量的原理,对工件表面进行非接触式的扫描,在激光线条上采集非常密集的数字化(坐标)点,通过与电子控制器(ECU)的连接,记录激光线与工件相交的位置。摄像机摄取激光线位置获得立体影像,ECU电子控制器对每条激光线条上所记录的600个坐标点在Z轴方向的位置,以初始校正时所记录的绝对零位为依据作重复计算。 3、三坐标测量技术在逆向工程上的应用 测量数据的三维实体重构是目前逆向工程领域研究的“瓶颈”,实际应用中,因原始数据的获取方式、三维重构支撑环境、三维重构方法和目标不同,其理论依据、技术路线、算法和工作内容有较大差异。 数据压缩、曲线曲面的光顺处理噪声去除、数据匀化数据预处理曲面重构特征提取与数据分块 五、实验方法和步骤 1、Kreon激光扫描系统数据处理”-->“SELECT MACHINE”,在对话框中选“FARO Arm.par”,按OK,跟着会出现一个读取ECU的进程。 “Services”-->“Positioning” 将工件放在台面上使扫描头能扫到所有要扫的面。被扫工件应先喷上显像剂 Digitization --> Add digitization:Name(Path) 按Run digitization定义步距、频率等 按Record开始扫描,一个方向扫完后,可用Face检查,未扫到部分再换方向局部补扫。将已扫的结果点云过滤。 将结果输出,保存为逆向工程软件所用的格式文件。 2、在逆向工程软件中处理测量所得的数据,并进行曲面重构,得到计算机三维模型,最后在三维CAD软件中完成样件的三维造型设计。

电子科技大学 汇编 实验报告

计算机专业类课程 实 验 报 告 课程名称:汇编语言程序设计 学院:计算机科学与工程 专业:计算机科学与技术 学生姓名:郭小明 学号:2011060100010 日期:2013年12月24日

电子科技大学 实验报告 实验一 学生姓名:郭小明学号:2011060100010 一、实验室名称:主楼A2-412 二、实验项目名称:汇编源程序的上机调试操作基础训练 三、实验原理: DEBUG 的基本调试命令;汇编数据传送和算术运算指令 MASM宏汇编开发环境使用调试方法 四、实验目的: 1. 掌握DEBUG 的基本命令及其功能 2. 学习数据传送和算术运算指令的用法 3.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程五、实验内容: 编写程序计算以下表达式: Z=(5X+2Y-7)/2 设X、Y的值放在字节变量VARX、VARY中,结果存放在字节单元VARZ中。 1.编辑源程序,建立一个以后缀为.ASM的文件. 2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。 3.连接目标程序,产生可执行程序。

4.用DEBUG程序调试可执行程序,记录数据段的内容。 六、实验器材(设备、元器件): PC机,MASM软件平台。 七、实验数据及结果分析: 程序说明: 功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。其中X 与Y 是已知量,Z是待求量。 结构:首先定义数据段,两个DB变量VARX与VARY(已经初始化),以及结果存放在VARZ,初始化为?。然后定义堆栈段,然后书写代码段,代码段使用顺序程序设计本程序,重点使用MOV和IMUL以及XOR,IDIV完成程序设计。详细内容见程序注释。 程序清单:

电子科大电子技术实验报告

电子科技大学 电子技术实验报告 学生姓名:班级学号:考核成绩:实验地点:仿真指导教师:实验时间: 实验报告内容:1、实验名称、目的、原理及方案2、经过整理的实验数据、曲线3、对实验结果的分析、讨论以及得出的结论4、对指定问题的回答 实验报告要求:书写清楚、文字简洁、图表工整,并附原始记录,按时交任课老师评阅实验名称:负反馈放大电路的设计、测试与调试

一、实验目的 1、掌握负反馈电路的设计原理,各性能指标的测试原理。 2、加深理解负反馈对电路性能指标的影响。 3、掌握用正弦测试方法对负反馈放大器性能的测量。 二、实验原理 1、负反馈放大器 所谓的反馈放大器就是将放大器的输出信号送入一个称为反馈网络的附加电路后在放大器的输入端产生反馈信号,该反馈信号与放大器原来的输入信号共同控制放大器的输入,这样就构成了反馈放大器。单环的理想反馈模型如下图所示,它是由理想基本放大器和理想反馈网络再加一个求和环节构成。 反馈信号是放大器的输入减弱成为负反馈,反馈信号使放大器的输入增强成为正反馈。四种反馈类型分别为:电压取样电压求和负反馈,电压取样电流求和负反馈,电流取样电压求和负反馈,电流取样电流求和负反馈。 2、实验电路

实验电路如下图所示,可以判断其反馈类型累电压取样电压求和负反馈。 3.电压取样电压求和负反馈对放大器性能的影响 引入负反馈会使放大器的增益降低。负反馈虽然牺牲了放大器的放大倍数,但它改善了放大器的其他性能指标,对电压串联负反馈有以下指标的改善。 可以扩展闭环增益的通频带 放大电路中存在耦合电容和旁路电容以及有源器件内部的极间电容,使得放大器存在有效放大信号的上下限频率。负反馈能降低和提高,从而扩张通频带。 电压求和负反馈使输入电阻增大 当 v一定,电压求和负反馈使净输入电压减小,从而使输入电流 s

3D打印实验报告

3D打印实验报告 姓名: _____________________ 学号: _____________________ 指导老师: __________________ XXXX 大学XXXX 学院 20XX年1月 一、实验目的 1.学习并了解3D打印方法的原理。 2.学会3D打印的方法并能制造出产品。 二、实验内容及原理 3D打印是一种通过材料逐层添加制造三维物体的变革性、数字化增材制造技术,它将信息、材料、生物、控制等技术融合渗透,将对未来制造业生产模式与人类生活方式产生重要影响。目前3D打印机主要采用两种技术,第一种是通过沉积原材料制造物体,第二种是通过黏合原材料制造物体。 第一种我们称之为“选择性沉积打印机”一一将原材料沉积为层,这类打印机通过打印头注射、喷洒或挤压液体、胶状物或粉末状的原材料。家庭或办公室应用的通常是沉积型3D打印机,这是因为激光或工业热风枪相对来说容易产生危险。 第二种是将原材料黏合在一起的打印机通常是利用激光或在原材料中加入某种黏合剂来实现,这类打印机被称作“选择性黏合打印机”一一利用热或光固化粉末或光敏聚合物。 3D打印机可以打印自己设计的模型,也可以打印通过逆向工程技术获得的物体模型,该技术的核心内容是根据测量数据建立实物或样件的数字化模型。零件的数字化是通过特定 的测量设备和测量方法获取零件表面离散点的几何坐标数据,在这基础上进行复杂曲面的建模、评价、改进和制造。常见的测量技术主要有接触式测量和和光学测量。这里主要介绍光学测量中的结构光测量法。 结构光测量法是将一定图案的光投影到物体表面上,从而增强物体表面各点之间的可区分性,降低图像点对匹配的难度,提高匹配算法的精度和可靠性。如图是结构光双目测量系

逆向工程技术

逆向工程关键技术及应用实例 介绍了逆向工程技术的定义及其工作流程,整个流程分为数据采集、数据处理和曲面重构三个部分。根据理论学习和自身实践经验对逆向工程的关键技术做了一些探讨。并以摩托车装饰板模型的曲面重建为例,用激光扫描仪获取三维点云数据,在CATIA中对点云进行数据处理,实现曲面重构,说明了逆向工程的整个设计应用流程。 1 引言 逆向工程技术是一门新兴的技术,它是在获得实物模型信息的基础上,通过一些软件如CATIA, Surfacer, Pro/E等,在消化、吸收实物原型的前提下,对实物模型进行修改和再设计,从而创造新产品。因此它是一项开拓性、实用性和综合性很强的技术,目前已经得到了广泛的应用,如飞机、汽车等行业。 逆向工程一般包括以下几个阶段:数据采集、数据处理、曲面重构。其一般流程如图1所示。其中数据采集是前提,数据处理和曲面重构是逆向工程的关键,曲面重构尤为重要。 图1基于实物模型重建的逆向工程技术流程图 2 数据采集 数据采集又称模型数字化,即指通过坐标测量机(Coordinate Measuring Machine,简称CMM)或激光扫描仪等测量装置获取实物表面特征点三维坐标值的过程。数据采集是逆向工程的第一环节,也是非常重要的一个环节,数据采集的质量和效率直接影响着后期的模型重建的进程,关系着整个逆向工程的成败。数据采集的流程如图2所示。 图2 数据采集流程图 随着科学技术的不断进步,数据采集出现了多种方法,如图3所示。

3 数据处理 三维测量系统可采集到复杂曲面上大量密集的原始测量数据,这些数据是物体表面各点坐标,这些数据之间通常没有相应的显式拓扑关系,其中还包含大量无用的数据,同时由于环境的影响如噪声、振动等会出现一些误差数据,因此在进行曲面重构前必须进行数据处理。 图3 数据采集方法分类 数据处理一般包括以下几个方面:数据重定位、噪声去除、数据精简、数据插补、数据分割。 有时由于被测对象无法一次测全数据,可能需要分几次测量,每次测量都是在不同的坐标系下进行。数据重定位就是将在不同定位状态(即不同的坐标系)下测得的数据整合到一个坐标系下。 由于受测量设备精度、扫描速度、操作者的经验和被测零件表面质量等诸多因素的影响,会产生测量误差数据点,习惯上称为噪声点。在进行曲面构造之前必须去除噪声点,否则最后构建出来的实体形状将由于噪声点的存在而与原实体大相径庭。最简单的噪声去除方法是人机交互,通过图形显示,判别明显坏点,在数据序列中将这些点删除。此种方法简单,但是对于数量比较大的点云就不适宜了。国内出现了很多关于去除噪声点的算法,主要有高斯滤波、均值滤波和中值滤波等方法。 数字化实物模型得到的是大量离散数据的集合,数据量非常巨大,并且存在大量的冗余数据。对于曲面重构来说,没有必要需要这么多的数据,而且如此庞大的测量点集,有时候会严重影响曲面重建的效率和质量,因此非常有必要进行数据精简。对于不同类型的点云可采用不同的精简方式。散乱点云可以通过随机采样的方法来精简;对于扫描线点云和多边形点云可采用等间距缩减、倍率缩减、等量缩减、弦高差等方法;网格化点云可用等分布密度和最小包围区域法进行数据缩减。 数据插补就是利用周围点的信息插值出缺损处的坐标最大限度获得样件模型的数据信息,希望数据点间有一定的拓扑关系。逆向工程的数据插补方法主要有实物填充法、造型设计法以及曲线、曲面插值补充法。 数据分割(Point Data Segmentation)是根据组成实物外形曲面的子曲面的类型,将属

电子科大TCPIP第三次实验报告材料

实用文档 电子科技大学实 验 报 告 名:学生姓号:学TCP/IP协议名课程称: 教指导师:2016 年 11 日期:月 26 日 OSPF实验项目名称:协议的多区域特性分:告报评教师签字:

实用文档 一、实验原理 OSPF 协议(RFC 2328)是一个基于链路状态路由选择的内部网关协议:路由器仅 在网络拓扑变化时使用洪泛法(flooding)将自己的链路状态更新信息扩散到整个自治系统中。为了增强 OSPF 协议的可伸缩能力(Scalability),OSPF 协议引入了区域的概念来有效并及时的处理路由选择。OSPF 区域是包含在 AS 中的一些网络、主机和路由器的集合,自治系统中所有 OSPF 区域必须连接到一个主干区域(Area 0)上。 区域内的 OSPF 路由器(内部路由器,IR)使用洪泛法(flooding)传送本区域内的链路状态信息,区域边界的 OSPF 路由器(区域边界路由器,ABR)将本区域的信息汇总发给其他区域,自治系统边界的 OSPF 路由器(自治系统边界路由器,ASBR)将自治 系统外的路由(外部路由)发布在自治系统中。主干区域中的 OSPF 路由器也称为“主干路由器”(BR)。ABR 不能向 OSPF 残桩区域(Stub Area)通告外部路由。在多址网络中,为了避免不必要的链路状态洪泛,需要选举 1 个指定路由器(DR)和 1 个备份指定路由器(BDR)。OSPF 协议有 5 种类型的报文,它们被直接封装在 IP 分组中多播发送。 - 问候(Hello)报文:用来建立并维护 OSPF 邻接关系。在建立了邻接关系后, OSPF 路由器会定期发送 Hello 报文,来测试邻站的可达性。 - 数据库描述(DBD)报文:描述 OSPF 路由器的链路状态数据库的概要信息,即数据库中每一行的标题,它在两台相邻路由器彼此建立邻接关系时发送的。 - 链路状态请求(LSR)报文:由需要若干条特定路由信息的路由器发送出的,它的回答是 LSU 报文。新接入的路由器在收到 DBD 报文后,可以使用 LSR 报文请求关于某些路由的更多信息。 - 链路状态更新(LSU)报文:OSPF 的核心。OSPF 路由器使用 LSU 报文通告链路状态更新信息(即链路状态通告,LSA)每一个 LSU 报文可包含几个 LSA。, OSPF 协议的 LSA 有 5 种常用类型:路由器链路 LSA、网络链路 LSA、汇总链路到网络 LSA、汇总链路到 ASBR LSA 和外部链路 LSA。 5 种类型的 LSA这由不同类型的 OSPF 路由器产生,在特定类型的区域范围内扩散。 - 链路状态确认(LSAck)报文:用来确认每一个收到的 LSU 报文,使得 OSPF 协议的路由选择更加可靠。 二、实验目的 1、掌握 OSPF 协议中区域的类型、特征和作用 2、掌握 OSPF 路由器的类型、特征和作用 实用文档 3、掌握 OSPF LSA 分组的类型、特征和作用 4、理解 OSPF 区域类型、路由器类型和 OSPF LSA 分组类型间的相互关系

华科_计算机系统实验报告

课程实验报告课程名称:计算机系统基础 专业班级: 学号: 姓名: 指导教师: 报告日期:年月日 计算机科学与技术学院

目录 实验1: (1) 实验2: (7) 实验3: (24) 实验总结 (34)

实验1:数据表示 1.1 实验概述 实验目的:更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。 实验目标:加深对数据二进制编码表示的了解。 实验要求:使用有限类型和数量的运算操作实现一组给定功能的函数。 实验语言:c。 实验环境:linux 1.2 实验内容 需要完成bits.c中下列函数功能,具体分为三大类:位操作、补码运算和浮点数操作。 1)位操作 表1列出了bits.c中一组操作和测试位组的函数。其中,“级别”栏指出各函数的难度等级(对应于该函数的实验分值),“功能”栏给出函数应实现的输出(即功能),“约束条件”栏指出你的函数实现必须满足的编码规则(具体请查看bits.c中相应函数注释),“最多操作符数量”指出你的函数实现中允许使用的操作符的最大数量。 你也可参考tests.c中对应的测试函数来了解所需实现的功能,但是注意这些测试函数并不满足目标函数必须遵循的编码约束条件,只能用做关于目标函数正确行为的参考。 表1 位操作题目列表

2)补码运算 表2列出了bits.c中一组使用整数的补码表示的函数。可参考bits.c中注释说明和tests.c中对应的测试函数了解其更多具体信息。 表2 补码运算题目列表 3)浮点数操作 表3列出了bits.c中一组浮点数二进制表示的操作函数。可参考bits.c中注释说明和tests.c中对应的测试函数了解其更多具体信息。注意float_abs的输入参数和返回结果(以及float_f2i函数的输入参数)均为unsigned int类型,但应作为单精度浮点数解释其32 bit二进制表示对应的值。 表3 浮点数操作题目列表

先进制造技术实验报告

题目:先进制造技术实验 学院:工学部_____ 学号:__ 姓名:_____ 班级: 13机工__ 指导教师:李庆梅_____ 日期: 2016年5月28日

实验一 三坐标机测量 一、实验目的 通过三坐标测量机的演示性实验,了解三坐标测量机在先进制造工艺技术中所起的作用。 二、实验要求 (1)了解三坐标测量机的组成; (2)了解三坐标测量机的测量原理; (3)了解反求工程的概念。 三、实验原理及设备 图1为Discovery Ⅱ D-8 型桥式三坐标测量机外形图,三坐标测量机的三组导轨相互垂直,形成了 X,Y,Z 三个运动轴,各方向的行程分别由高分辨率精密光栅尺测量,从而组成了机器的空间直角坐标系统,原点位于测量机左前上方。测量工件时,探头(测头)相对坐标系运动,用它来探测处于坐标系内的任 何待测工件表面,即可确定该测点的空间坐标值, 经计算机采集 得到测点数据,按程序规定的要求探测若干点后, 计算机即可对采样数据进行处理,从中计算出被测几何要素的尺寸、形状误差和 在坐标系中的位置, 在对若干要素探测后, 计算机可根据不同的测量要求计算出这些几何要素间的位置尺寸和位置误差。 Discovery Ⅱ D-8 型三坐标测量机配有MeasureMax+(Version 6.4)测量软件,该软件功能强大,内容丰富,整个测量操作过程可由计算机控制自动完成,也可以由操纵杆(见图2.)配合计算机完成部分手动操作。

图2 操作杆四、实验步骤 图3 测量操作流程

实验二快速原型制造 一、实验目的 目前快速原形制造技术已成为各国制造科学研究的前沿学科和研究焦点。通过快速成型机演示性实验,了解快速原型制造在先进制造工艺技术中所起的作用。 二、实验要求 (1)了解快速成型机的组成; (2)了解快速成型机的实体成型原理; (3)通过参观实验室现有快速成型零件,了解快速原型制造的应用。 三、实验原理及设备 快速成形制造工艺采用离散/堆积成型原理成型,首先利用高性能的CAD软件设计出零件的三维曲面或实体模型;再根据工艺要求,按照一定的厚度在Z 向(或其它方向)对生成的CAD模型进行切面分层,将三维电子模型变成二维平面信息(离散过程),然后对层面信息进行工艺处理,选择加工参数,系统自动生成刀具移动轨迹和数控加工代码;并对加工过程进行仿真,确认数控代码的正确性;再利用数控装置精确控制激光束或其它工具的运动,在当前工作层(三维)上采用轮廓扫描,加工出适当的截面形状;将各分层加工的每个薄层自动粘接,最后直至整个零件加工完毕。可以看出,快速成形技术是个由三维转换成二维(软件离散化),再由二维到三维(材料堆积)的工作过程。 快速原形制造技术的主要工艺方法有光敏液相固化法LSA( Stero Lithography Apparatus),选区片层粘接法LOM(Laminated Object Manufacturing),选区激光烧结法SLS(Selective Laser Sintering)和熔丝沉积成型FDM(Fused Deposition Modeling)。本实验采用熔丝沉积成型FDM工艺方法进行快速原形制造,该方法使用ABA丝为原料,利用电加热方式将ABA丝熔化,由喷嘴喷到指定的位置固化。一层层地加工出零件,该方法设备简单,零件精度较高,污染小。 图1为结构图,它由喷头、喷咀、导杆、Z轴丝杆、Z工作台、成型材料盒、支撑材料盒、废料桶、显示面板(Prodigy Plus型机的控制面板在材料盒

逆向工程技术现状及发展前景

逆向工程技术现状及发展前景 概念 逆向工程也称反求工程或反向工程,是根据已存在的产品或零件原型构造产品或零件的工程设计模型,并在此基础上对已有的产品进行剖析、理解和改进,是对已有设计的二次设计。 分类 从广义讲,逆向工程可分以下三类: 1)实物逆向:它是在已有产品实物的条件下,通过测绘和分折,从而再创造;其中包括功能逆向、性能逆向、方案、结构、材质等多方面的逆向。实物逆向的对象可以是整机、零部件或组件。 2)软件逆向:产品样本、技术文件、设计书、使用说明书、图纸、有关规范和标准、管理规范和质量保证手册等均称为技术软件。软件逆向有三类:既有实物,又有全套技术软件;只有实物而无技术软件;没有实物,仅有全套或部分技术软件。 3)影像逆向:设计者既无产品实物,也无技术软件,仅有产品的图片、广告介绍或参观后的印象等,设计者要通过这些影像资料去构思、设计产品,该种逆向称为影像逆向。 工艺过程 逆向工程系统主要由三部分组成: 产品实物几何外形的数字化、CAD 模型重建、产品或模具制造。逆向工程中的关键技术是据采集、数据处理和模型的重建。 (1) 数据采集:数据采集是逆向工程的第一步,其方法的得当直接影响到是否能准确、快速、完整地获取实物的二维、三维几何数据, 影响到重构的CAD 实体模型的质量, 并最终影响产品的质量。 (2) 数据处理:对于获取的一系列点数据在进行CAD 模型重建前, 必须进行格式转换、噪声滤除、平滑、对齐、归并、测头半径补偿和插值补点等处理。 (3) 模型重建:将处理过的测量数据导入CAD系统, 依据前面创建的曲线、曲面构建出原型的CAD 模型。 逆向工程技术过程图解:

电子科大-系统结构实验-解决数据冒险

实 验 报 告 课程名称:计算机系统结构实验学院:计算机科学与工程学院专业:计算机科学与技术 指导教师:好老师 学生姓名:爱学习的小学生 20实验成绩: 日期:2017年5月19日

电子科技大学计算机学院实验中心 电子科技大学 实验报告 一、实验项目名称:解决数据冒险 二、实验室名称:主楼A2-412 实验时间:2017年5月19日 三、实验目的 在给出的流水线代码基础上,增加内部前推数据通路、暂停流水线数据通路和关闭写使能信号的数据通路,解决普通的数据冒险和load数据冒险,通过完成本次实验,更好地理解和掌握解决数据冒险的原理,学以致用,增强编写程序的能力。 四、实验原理 (一)数据冒险的定义 由于流水线上指令重叠执行,改变了原来串行执行的读/写操作数顺序,使得后面依赖前面指令结果的指令得不到准备好的数据,这样的现象叫做数据冒险(数据相关)。 回顾数据冒险的程序例子 I1: add r1,r2,r3 I2: sub r4,r1,r5 I3: and r6,r7,r1 I4: or r8,r1,r9 I5: addi r10,r1,100

I1下面有3条指令不能从寄存器r1读出正确的数据。 (二)数据冒险的解决方案 1、暂停流水线 如上图所示,暂停流水线到最初的指令执行完毕,可以解决数据冒险,但是会涉及到两个问题,即“如何检测出数据冒险”和“如何暂停流水线”。 如何检测数据冒险 a.比较器; I1指令写目的寄存器rd,I2和I3的源操作数是寄存器rs1或rs2中的数据,I2、I3的rs1或rs2与I1的目的寄存器号rd相等时才有可能发生数据冒险。 b.操作码参与检测; 由于指令格式中源寄存器号rs2与立即数部分重叠,而立即数是不会出现冒险的,因此,指令操作码必须要参与检测(区分是寄存器操作数还是立即数)。 c.WREG信号也应参与检测(实际上,WREG也是从操作码中得出的);

电子科技大学逆向工程实验报告作业

电子科技大学 实 验 报 告 学生姓名:马侬 学号:20152*03**0* 指导教师:何兴高 日期:2016.7.15

一.题目名称:简易记事本软件逆向分析 二.题目内容 由于记事本功能简单,稍有经验的程序员都可以开发出与记事本功能近似的小软件,所以在一些编程语言工具书上也会出现仿照记事本功能作为参考的示例。为了便于分析因此选取了一个简易的记事本,因此本实验将着重研究从源程序到机器码的详细过程而不注重程序本身的功能。另一方面简易源程序代码约130多行。本实验目的是了解源程序是怎么一步步变成机器码的又是怎么在计算机上运行起来的。 三.知识点及介绍 利用逆向工程技术,从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等。随着用户需求的复杂度越来越高软件开发的难度也在不断地上升快速高效的软件开发已成为项目成败的关键之一。为了提高程序员的产品率开发工具的选择尤为重要因为开发工具的自动化程度可以大大减少程序员繁琐重复的工作使其集中关注他所面临的特定领域的问题。为此当前的IDE不可避地要向用户隐藏着大量的操作细节而这些细节包含了大量的有价值的技术。 四.工具及介绍: 在对软件进行逆向工程时,不可避免地需要用到多种工具,工具的合理使用,可以加快调试速度,提高逆向工程的效率。对于逆向工程的调试环节来说,没有动态调试器将使用的调试工作很难进行。可以看出,各种有效的工具在逆向工程中占据着相当重要的地位,有必要对它们的用法做一探讨。 PE Explorer简介:PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。 功能极为强大的可视化汉化集成工具,可直接浏览、修改软件资源,包括菜单、对话框、字符串表等;另外,还具备有W32DASM 软件的反编译能力和PEditor 软件的PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理PE 格式的文件如:EXE、DLL、DRV、BPL、DPL、SYS、CPL、OCX、SCR 等32 位可执行程序。该软件支持插件,你可以通过增加插件加强该软件的功能,原公司在该工具中捆绑了UPX 的脱壳插件、扫描器和反汇编器.,出口,进口和延迟导入表的功能,使您可以查看所有的可执行文件使用的外部功能,和其中包含的DLL或库的基础上进行分类

逆向工程技术的应用

逆向工程技术的应用 仿制、仿造已经成为了我国一部分企业的固定生产方式,针对市场热门产品的仿造品屡见不鲜,逆向工程的广泛应用在其中起到了不可忽视的作用。于是,经常有人将逆向工程和非法仿制联系在一起,甚至提出了知识产权保护等法律层面的问题。实际上,逆向工程代表了一种非常高效的产品设计思路和方法。本文从逆向工程设计的概念出发,阐述了现代制造业中逆向工程的概念以及逆向工程在模具制造等行业中的作用。本文对于我们正确认识逆向工程技术有一定的意义。 一、引言 在国外,逆向工程已经作为一种先进的设计方法被引入到新产品的设计开发工作中。我国也有许多企业应

用逆向工程技术,对竞争对手的产品进行改进,以避开艰苦的原型设计阶段,这是一种产品的再设计过程。所谓产品再设计,就是通过观察和测试某一种产品,对其进行初始化,然后拆开产品,逐一分析单个零件的组成、功能、装配公差和制造过程。这些工作的目的就是要充分理解产品的制造过程,并以此为基础在子系统和零件层面上,优化设计出一种更好的产品。美国的许多工程学院开设了逆向工程课程,教授学生用再设计代替原型设计,作为解决设计问题的一种方法。近年来,在汽车、电子产品等领域人们越来越多地采用逆向工程技术,来部分替代使用多年的原型设计方法。 二、逆向工程的概念 逆向工程(Reverse Engineering,RE)是对产品设计过程的一种描述。在工程技术人员的一般概念中,产品设计过程是一个从无到有的过程:设计人员首先构思产品的外形、性能和大致的技术参数等,然后利用CAD技术建立产品的三维数字化模型,最终将这个模型转入制造流程,完成产品的整个设计制造周期。这样的产品设计过程我们可以称之为“正向设计”。

电子科大实验报告撰写格式规范

实验报告撰写格式规范 一、一般格式和顺序 1、封面: (1)题目:应能概括整个论文最重要的内容,具体、切题、不能太笼统,但要引人注目;题名力求简短,严格控制在25字以内。 (2)导师:指导教师的署名一律以批准招生的为准,如有变动应正式提出申请并报研究生院备案,且只能填写指导教师一名。 (3)学生姓名和学号。 2、摘要:论文第一页为中文摘要,约500-800字左右。 内容应包括工作目的、研究方法、成果和结论,语言力求精炼。 3、目录:应是实验报告的提纲,也是实验报告组成部分的小标题,其内容从第一章开始。 4、主要符号表:如果实验报告中使用了大量的物理量符号、标志、缩略词、专门计量单位、自定义名词和术语等,应编写成注释说明汇集表。假如上述符号和缩略词使用数量不多,可以不设专门的汇集表,而在论文中出现时加以说明。 5、引言(第一章):在实验报告正文前,内容为:该研究工作的实用价值或理论意义;实验报告所要解决的问题。 6、正文:是实验报告的主体。按照仿真的步骤来逐一完成。 7、结论(最后一章):应明确、精炼、完整、准确,使人只要一看结论就能全面了解实验报告的意义、目的和工作内容。 8、工作分工:阐述每个成员的工作。 9、参考文献:如有,在这里列出。 二、论文的书写 1、语言表述 (1)论文应层次分明、数据可靠、文字简练、说明透彻、推理严谨,立论正确,避免使用文学性质的带感情色彩的非学术性词语。 (2)论文中如出现一个非通用性的新名词、新术语或新概念,需立即解释清楚。 2、层次和标题 (1)层次要清楚:标题要重点突出,简明扼要。 (2)层次代号的格式如下: 第一章××××(居中书写) 1.1 ×××× 1.1.1 ×××× 3、页眉和页码 页眉: (1)对摘要、目录等前置部分,页眉全用各部分内容的标题。

电子科技大学通信原理实验实验报告2

电子科技大学通信学院 最佳接收机(匹配滤波器) 实验报告 班级 学生 学号 教师任通菊

最佳接收机(匹配滤波器)实验 一、实验目的 1、运用MATLAB软件工具,仿真随机数字信号在经过高斯白噪声污染后最佳的恢复的方法。 2、熟悉匹配滤波器的工作原理。 3、研究相关解调的原理与过程。 4、理解高斯白噪声对系统的影响。 5、了解如何衡量接收机的性能及匹配滤波器参数设置方法。 二、实验原理 对于二进制数字信号,根据它们的时域表达式及波形可以直接得到相应的解调方法。在加性白高斯噪声的干扰下,这些解调方法是否是最佳的,这是我们要讨论的问题。 数字传输系统的传输对象是二进制信息。分析数字信号的接收过程可知,在接收端对波形的检测并不重要,重要的是在背景噪声下正确的判断所携带的信息是哪一种。因此,最有利于作出正确判断的接收一定是最佳接收。 从最佳接收的意义上来说,一个数字通信系统的接收设备可以看作一个判决装置,该装置由一个线性滤波器和一个判决电路构成,如图1所示。线性滤波器对接收信号进行相应的处理,输出某个物理量提供给判决电路,以便判决电路对接收信号中所包含的发送信息作出尽可能正确的判决,或者说作出错误尽可能小的判决。 图1 简化的接收设备 假设有这样一种滤波器,当不为零的信号通过它时,滤波器的输出能在某瞬间形成信号的峰值,而同时噪声受到抑制,也就是能在某瞬间得到最大的峰值信号功率与平均噪声功率之比。在相应的时刻去判决这种滤波器的输出,一定能得到最小的差错率。 匹配滤波器是一种在最大化信号的同时使噪声的影响最小的线性滤波器设计技术。注意:该滤波器并不保持输入信号波形,其目的在于使输入信号波形失 t输出信号值相对于均方根(输出)噪声值达到真并滤除噪声,使得在采样时刻 最大。

逆向工程技术的内容及其应用范围

一、逆向工程技术的内容及其应用范围 随着计算机技术的发展,CAD技术已成为产品设计人员进行研究开发的重要工具,其中的三维造型技术已被制造业广泛应用于产品及模具设计、方案评审、自动化加工制造及管理维护各个方面。在实际开发制造过程中,设计人员接收的技术资料可能是各种数据类型的三维模型,但很多时候,却是从上游厂家得到产品的实物模型。设计人员需要通过一定的途径,将这些实物信息转化为CAD模型,这就应用到了逆向工程技术(Reverse Engineering)。 所谓逆向工程技术,是指用一定的测量手段对实物或模型进行测量,根据测量数据通过三维几何建模方法重构实物的CAD模型的过程。逆向工程技术与传统的正向设计存在很大差别。传统的产品设计一般需要经过图1所示的设计过程。而逆向工程则是从产品原型出发,进而获取产品的三维数字模型,使得能够进一步利用CAD/ACE/CAM以及CIMS等先进技术对其进行处理。它的设计流程如图2所示,与图1的不同之处在于设计的起点不同,相应的设计自由度和设计要求也不相同。 一般来说,产品逆向工程包括形状反求、工艺反求和材料反求等几个方面,在工业领域的实际应用中,主要包括以下几个内容: (1)新零件的设计,主要用于产品的改型或彷型设计。 (2)已有零件的复制,再现原产品的设计意图。 (3)损坏或磨损零件的还原。 (4)数字化模型的检测,例如检验产品的变形分析、焊接质量等,以及进行模型的比较。 逆向工程技术为快速设计和制造提供了很好的技术支持,它已经成为制造业信息传递的重要而简洁途径之一。 二、逆向工程技术实施的条件 1.逆向工程技术实施的硬件条件 在逆向工程技术设计时,需要从设计对象中提取三维数据信息。检测设备的发展为产品三维信息的获取提供了硬件条件。目前,国内厂家使用较多的有英国、意大利、德国、日本等国家生产的三坐标测量机和三维扫描仪。就测头结构原理来说,可分为接触式和非接触式两种,其中,接触式测头又可分为硬测头和软测头两种,这种测头与被测头物体直接接触,获取数据信息。非接触式测头则是应用光学及激光的原理进行的。近几年来,扫描设备有了很大发展。例如,英国雷尼绍公司的CYCLON2高速扫描仪,可实现激光测头和接触式扫描头的互换,激光测头的扫描精度达0.05mm,接触式扫描测头精度可达0.02mm。可对易碎、易变形的形体及精细花纹进行扫描。德国GOM公司的ATOS扫描仪在测量时,可随意绕被测物体进行移动,利用光带经数据影象处理器得到实物表面数据,扫描范围可达8m×8m。ATOS扫描不仅适于复杂轮廓的扫描,而且可用于汽车、摩托车内外饰件的造型工作。此外,日本罗兰公司的PIX-30网点接触式扫描仪,英国泰勒·霍普森公司的TAL YSCAN 150多传感扫描仪等,集中体现了检测设备的高速化、廉价化和功能复合化等特点。为实现从实物——建立数学模型——CAD/CAE/CAM一体化提供了良好的硬件条件。不同的测量对象和测量目的,决定了测量过程和测量方法的不同。在实际三坐标测量时,应该根据测量对象的特点以及设计工作的要求确定合适的扫描方法并选择相应的扫描设备。例如,材质为硬质且形状

逆向实训总结

反求总结 我们在机房进行UG反求已经一个星期了,同时也结束了反求的课程。在这一星期来我从中学到了不少,从测点到画图。在第一天,老师先告诉我们什么时候是反求:反求工程(Reverse Engineering,RE),也称逆向工程、反向工程,是指用一定的测量手段对实物或模型进行测量,根据测量数据通过三维几何建模方法重构实物的CAD模型的过程,是一个从样品生成产品数字化信息模型,并在此基础上进行产品设计开发及生产的全过程。通过反求工程复现实物的CAD模型,使得那些以实物为制造基础的产品有可能在设计与制造的过程中,充分利用CAD、CAM等先进技术。由于反求工程的实施能在很短的时间内准确、可靠地复制实物样件,利用一些逆向设计软件(如:UG、Pro/ENGINEER、CATIA、Surfacer、CopyCAD、Trace 等)进行逆向造型。刚开始其实我并不懂老师所讲的,直到自己亲自动手才明白。 UG的逆向造型按照测点→连线→构面→构体。 这次实训的具体安排是:第一天老师布置课题,我们熟悉零件,并按要求熟悉三坐标测量机的工作原理,了解三维测量的方法,测量三维零件。第二天,我们就在机房三位造型,熟悉三维曲面造型的软件功能,对三维测量数据进行分析,确定三维曲面的造型方法,创建三维曲线。第三天,我们还是在机房进行三维造型,创建三维曲面和零件实体造型,修改零件结构等。第四天基本上和第三天的一样。第五天,三维造型,并要求生成二维产品图纸,然后把相关项目资料上交给老师进行考核。我们组分到的是叫拓朴03的零件。刚开始看到这个模型。 在第一天,老师首先带领我们去实习工厂进行测点,到了之后,老师介绍了三坐标测量仪的基本操作方法:测量前先检查CLY三坐标测量仪的各运动部件,选择测头,并安装侧头(注意:在安装侧头时,不得损坏头)。接通测量仪的电源。同时启动计算机。将被测件固定在工作台上,调整侧头方位,使所需测试的所有各点都能检测到为止。在测出工件各点位置数据后,要对数据进行处理,因此,要对被测数据的格式进行转换,以便于软件之间的数据交互使用。选择三维测量-数据输出,可以输出TXT IGES,DXF等格式。AUTOCAD可以用DXF 格式输出。转换成这种格式和后,就可以有其他软件打开多有被测量数值。尽心数据处理,可以确定被测零件的特征或尺寸。通常,里哦你个三坐标测量仪多测得的零件,属于三维立体曲面,所测得点为三维空间点,未来以后三维点造型而做准备。另一种情况是要测零件的某个尺寸值,这种情况需要进行数值分析,并得出该尺寸的实测值,实测后必须作好记录,并对所测零件作出分析或作三维造型。 还有三个注意事项1三坐标测量仪是很重要的设备,在应用三坐标测量仪的过程中,必须要按操作规程尽享操作,对不允许操作的地方不得擅自动用,防止损坏设备2将测量数据保存好,以防止数据损失。3测量结束后,必须将测量头拿下,放入保防箱内,并把三坐标仪的各运动部件固定住。然后切断电源。 我们在打点时一般原则是在曲率变化比较大的地方打点要密一些,平滑的地方则可以稀一些。我们一组人分工合作,两人进行仪器的操作其他的则在旁边观察哪个位置需要打点,哪个位置要打多一些,但是我们在操作过程中还不是很好,感觉打的点不够平整。打完点之后,我们就回去研究图的画法 这是我们测的点云:

电子科技大学实验报告撰写模板

电子科技大学 实验报告 ( 2018 - 2019 - 2 ) 学生姓名:学生学号:指导老师: 实验学时:1.5h 实验地点:基础实验大楼425 实验时间:2019.4.9 14:30—16:00 报告目录 一、实验课程名称:电路实验I 1.实验名称:BJT放大器设计与测试 二、实验目的: 1. 了解BJT管的基本放大特性。 2. 掌握BJT共射放大电路的分析与设计方法。 3. 掌握放大电路静态工作点的测试方法。 4. 掌握放大电路放大倍数(增益)的测试方法。 5. 掌握放大电路输入、输出电阻的测试方法。 6. 掌握放大电路幅频特性曲线的测试方法。 三、实验器材(设备、元器件): GDS1152A型数字示波器一台。 EE1641B1型函数发生器一台。

通用面包板一个。 1kΩ电阻;10mH电感;0.047μF电容若干。 四、实验原理:

3、测试方法 (1)静态工作点调整与测试 对直流电压的测量一般用数字万用表。测量静态工作点时测出晶体管各管脚对地的电压。 (2)放大倍数的测试 用晶体管毫伏表或者示波器直接测量输出、输入电压,由 Av=vo/vi 即可得到。(3)放大器输入电阻的测试

在放大器输入端口串入一个取样电阻R,用两次电压法测量放大器的输入电阻Ri。 (4)放大器输出电阻的测试 在放大器输出端口选择一个合适的负载电阻RL,用两次电压法分别测量空载与接上负载时的输出电压,计算输出电阻Ro。 (5)放大器频率特性的测试 用点频法测试法测量放大器的频率特性,并求出带宽。 五、实验内容: (1)静态工作点的测试 (2)电压增益测试 (3)输入电阻测试 (4)输出电阻测试 (5)幅频特性测试 六、实验数据及结果分析: 1、静态工作点调整与测试 令VCC=+12V,用万用表测量VE、VB、VC,计算VBE、IEQ、VCE,数据记入表格中。 2、放大倍数的测试 用函数发生器输出一个正弦波信号作为放大器的输入信号,设置信号频率 f =1kHz,(有效值)Ui=5mV,测量U0 ,计算放大器的电压放大倍数(增益)Av。数据填入表中,定量描绘输出波形图。

相关文档
最新文档