编程之美 编程之美——微软技术面试心得(勤练算法功底强,求职入职心不慌)
标签: 编程
上传时间: 2013-06-17
上传用户:3233
采用现场可编程门阵列(FPGA)可以快速实现数字电路,但是用于生成FPGA编程的比特流文件的CAD工具在编制大规模电路时常常需要数小时的时间,以至于许多设计者甚至通过在给定FPGA上采用更多的资源,或者以牺牲电路速度为代价来提高编制速度。电路编制过程中大部分时间花费在布线阶段,因此有效的布线算法能极大地减少布线时间。 许多布线算法已经被开发并获得应用,其中布尔可满足性(SAT)布线算法及几何查找布线算法是当前最为流行的两种。然而它们各有缺点:基于SAT的布线算法在可扩展性上有很大缺陷;几何查找布线算法虽然具有广泛的拆线重布线能力,但当实际问题具有严格的布线约束条件时,它在布线方案的收敛方面存在很大困难。基于此,本文致力于探索一种能有效解决以上问题的新型算法,具体研究工作和结果可归纳如下。 1、在全面调查FPGA结构的最新研究动态的基础上,确定了一种FPGA布线结构模型,即一个基于SRAM的对称阵列(岛状)FPGA结构作为研究对象,该模型仅需3个适合的参数即能表示布线结构。为使所有布线算法可在相同平台上运行,选择了美国北卡罗来纳州微电子中心的20个大规模电路作为基准,并在布线前采用VPR399对每个电路都生成30个布局,从而使所有的布线算法都能够直接在这些预制电路上运行。 2、详细研究了四种几何查找布线算法,即一种基本迷宫布线算法Lee,一种基于协商的性能驱动的布线算法PathFinder,一种快速的时延驱动的布线算法VPR430和一种协商A
上传时间: 2013-05-18
上传用户:ukuk
纹理映射在计算机图形计算中属于光栅化阶段,处理的是像素,主要的特点是数据的吞吐量大,对实时系统来说转换的速度是一个关键的因素,人们寻求各种加速算法来提高运算速度。传统的方法是用更快的处理器,并行算法或专用硬件。随着数字技术的发展,尤其是可编程逻辑门阵列(FPGAs)的发展,提供了一种新的加速方法。FPGAs在密度和性能上都有突破性的发展,当前的FPGA芯片已经能够运算各种图形算法,而在速度上与专用的图形卡硬件相同。因此,FPGA芯片非常适合这项工作。 本文主要工作包括以下几个方面: 1、本文提出了一种MIPmapping纹理映射优化方法,改进了MIPmapping映射细化层次算法及纹理图像的存储方式,减少纹理寻址的计算量,提高纹理存储的相关性。详细内容请阅读第三章。 2、提出了一种MIPmapping纹理映射优化方法的硬件实现方案,该方案针对移动设备对功耗和面积的要求,以及分辨率不高的特点,在参数空间到纹理地址的计算中用定点数来实现。详细内容请阅读第四章。 3、实现了纹理映射流水线单元纹理地址产生电路,及纹理滤波电路的FPGA设计,并给出设计的综合和仿真结果。详细内容请阅读第五章4、实现了符合IEEE 754单精度标准的乘法、乘累加及除法运算器电路。乘法器采用改进型Booth编码电路以减少部分积数量,用Wallace对部分积进行压缩;乘累加器采用multiply-add fused算法,对关键路径进行了优化;除法器为基于改进型泰勒级数展开的查找表结构实现,查找表尺寸只有208字节,电路为固定时延,在电路尺寸、延时及复杂度方面进行了较好的平衡。
上传时间: 2013-04-24
上传用户:yxvideo
回波消除器广泛应用于公用电话交换网(PSTN)、移动通信系统和视频电话会议系统等多种语音通信领域。在PSTN系统中,由于线路阻抗不匹配,远端语音信号通过混合线圈时产生一定泄漏,一部分信号又传回远端,产生线路回波,回波的存在会严重影响语音通信质量。本文主要针对线路回波进行研究,设计并实现了满足实用要求的基于FPGA平台的回波消除器。 首先,对回波产生原理和目前几种常用回波消除算法进行了分析,在研究自适应回波消除器的各个模块,特别是深入分析各种自适应滤波算法和双讲检测算法,综合考虑各种算法的运算复杂度和性能的情况下,这里采用NLMS算法实现自适应回波消除器。针对传统双讲检测算法在近端语音幅度较低情况下容易产生误判的情况,给出一种基于子带滤波器组的改进双讲检测算法。 本文首先使用C语言实现回波消除器的各个模块,其中包括自适应滤波器、远端检测、双讲检测、非线性处理和舒适噪声产生模块。经过仿真测试,相关模块算法能够有效提高回波消除器性能。在此基础上,本文使用硬件描述语言Veillog HDL,在QuartusⅡ和ModelSim软件平台上实现各功能模块,并通过模块级和系统级功能仿真以及时序仿真验证,最终在现场可编程门阵列(Field Programmable Gate Arrav,FPGA)平台上实现回波消除系统。本文详细阐述了基于FPGA的设计流程与设计方法,并描述了自适应滤波器、基于分布式算法FIR滤波器、除法器和有限状态机的设计过程。 根据ITU-T G.168标准提出的测试要求,本文埘基于FPGA设计实现的自适应回波消除系统进行大量主客观测试。经过测试,各项性能指标均达到或超过G.168标准的要求,具有良好的回波消除效果。
上传时间: 2013-06-18
上传用户:qwe1234
普通GPS接收机在特殊环境下,如在高楼林立的城市中心,林木遮挡的森林公路,特别是在隧道和室内环境的情况下,由于卫星信号非常微弱,载噪比(Carrier Noise Ratio,C/No)通常都在34dB-Hz以下,很难有效捕获到卫星信号,导致无法正常定位。恶劣条件下的定位有广阔的发展和应用前景,特别是在交通事故、火灾和地震等极端环境下,快速准确定位当事者所处位置对于降低事态损失和营救受伤者是极为重要的。欧美和日本等发达国家也都制定了相应的提高恶劣条件下高灵敏度定位能力的发展政策。而高灵敏度GPS接收机定位的关键在于GPS微弱信号的处理。 本课题的主要研究内容是针对GPS微弱信号改进处理方法。针对传统GPS接收机信号捕获中的串行搜索方法提出了基于批处理的微弱信号捕获方法,来提高低信噪比情况下微弱信号的捕获能力,实现快速高灵敏度的准确捕获;针对捕获微弱信号处理大量数据导致的运算量激增,运用双块零拓展(Double Block Zero Padding,DBZP)处理方法减少运算量同时缩短捕获时间。针对传统GPS接收机延迟锁相环跟踪算法提出了基于卡尔曼滤波的新型捕获算法,减小延迟锁相环失锁造成的信号跟踪丢失概率,来提高恶劣环境下低信噪比信号的跟踪能力,实现微弱信号的连续可靠跟踪。通过提高GPS微弱信号的捕获与跟踪能力,进而使GPS接收机在恶劣环境下卫星信号微弱时能够实现较好的定位与导航。 通过拟合GPS接收机实际接收到的原始数据,构造出不同载噪比的数字信号,分别对提出的针对微弱信号的捕获与跟踪算法进行仿真比较验证,结果表明,对接收机后端信号处理部分作出的算法改进使得GPS接收机可以更好的处理微弱信号,并且具有较高的灵敏度和精度。文章同时针对提出的数据处理特征使用FPGA技术对算法主要的数据处理部分进行了初步的构架实现并进行了板级验证,结果表明,利用FPGA技术可以较好的实现算法的数据处理功能。文章最后给出了结论,通过提出的基于批处理和基于DBZP方法的捕获算法以及基于卡尔曼滤波的信号跟踪算法,可以有效地解决微弱GPS信号处理的难题,进而实现微弱信号环境下的定位与导航。
上传时间: 2013-04-24
上传用户:变形金刚
在超深亚微米技术工艺下,布局成为超大规模集成电路物理设计中至关重要的一步。由于现场可编程门阵列(Field Programable Gate Array,FPGA)布线资源的预先确定性,使得FPGA的布局更为重要。本文以建立高性能、低拥挤的布局为目标,从FPGA芯片结构和布局算法两方面进行了深入研究。论文提出了一种通用的层次式FPGA(HFPGA)结构模型及布局模型,并且给出了该模型的数学计算公式;提出将元件之间的层次距离转化为线长的方法,实现了基于线网模型的高精度布局算法:提出利用矩形的对角线元件之间层次来代替线长,从而达到优化线长的同时提高布通率的快速布局算法。实验结果表明,两种算法均在北卡罗来纳微电子中心(MCNC)学术芯片测试案例上取得了较理想的布局实验效果,为下一步的布线工作建立了良好的基础接口,并且完成了初始布线的工作。本FPGA结构模型的提出和布局算法的实现也都为工业界提供了借鉴价值。
上传时间: 2013-04-24
上传用户:nbdedu
随着GPS(Global Positioning System)技术的不断发展和成熟,其全球性、全天候、低成本等特点使得GPS接收机的用户数量大幅度增加,应用领域越来越广。但由于定位过程中各种误差源的存在,单机定位精度受到影响。目前常从两个方面考虑减小误差提高精度:①用高精度相位天线、差分技术等通过提高硬件成本获取高精度;②针对误差源用滤波算法从软件方面实现精度提高。两种方法中,后者相对于前者在满足精度要求的前提下节约成本,而且便于系统融合,是应用于GPS定位的系统中更有前景的方法。但由于在系统中实现定位滤波算法需要时间,传统CPU往往不能满足实时性的要求,而FPGA以其快速并行计算越来越受到青睐。 本文在FPGA平台上,根据“先时序后电路”的设计思想,由同步没计方法以及自顶向下和自下而上的混合设计方法实现系统的总体设计。从GPS-OEM板输出的定位信息的接收到定位结果的坐标变换,最终到kalman滤波递推计算减小定位误差,实现实时、快速、高精度的GPS定位信息采集处理系统,为GPS定位数据的处理方法做了新的尝试,为基于FPGA的GPS嵌入式系统的开发奠定了基础。具体工作如下: 基于FPGA设计了GPS定位数据的正确接收和显示,以及经纬度到平面坐标的投影变换。根掘GPS输出信息标准和格式,通过串口接收模块实现串口数掘的接收和经纬度信息提取,并通过LCD实时显示。在提取信息的同时将数据格式由ASCⅡ码转变为十进制整数型,实现利用移位和加法运算达到代替乘法运算的效果,从而减少资源的利用率。在坐标转换过程中,利用查找表的方法查找转化时需要的各个参数值,并将该参数先转为双精度浮点小数,再进行坐标转换。根据高斯转化公式的规律将公式简化成只涉及加法和乘法运算,以此简化公式运算量,达到节省资源的目的。 卡尔曼滤波器的实现。首先分析了影响定位精度的各种误差因素,将各种误差因素视为一阶马尔科夫过程的总误差,建立了系统状态方程、观测方程和滤波方程,并基于分散滤波的思想进行卡尔曼滤波设计,并通过Matlab进行仿真。结果表明,本文设计的卡尔曼滤波器收敛性好,定位精度高、估计误差小。在仿真基础上,实现基于FPGA的卡尔曼滤波计算。在满足实时性的基础上,通过IP核、模块的分时复用和树状结构节省资源,实现数据卡尔曼滤波,达到提高数据精度的效果。 设计中以Xilinx公司的Virtex-5系列的XC5VLX110-FF676为硬件平台,采用Verilog HDL硬件描述语言实现,利用Xilinx公司的ISE10.1工具布局布线,一共使用44438个逻辑资源,时钟频率达到100MHZ以上,满足实时性信号处理要求,在保证精度的前提下达到资源最优。Modelsim仿真验证了该设计的正确性。
上传时间: 2013-04-24
上传用户:二驱蚊器
本文分析了仪表放大器 PGA204/ 205 的工作和增益编程原理,介绍了几个增益编程的例子,并对使用中的具体问题做了说明。
上传时间: 2013-07-09
上传用户:林鱼2016
51单片机C语言编程手册,51单片机C语言编程手册
上传时间: 2013-05-16
上传用户:Divine
Si4432编程指南(中文),Coolbor Xie 翻译自 AN415
上传时间: 2013-06-30
上传用户:wang0123456789