Reed-Solomon码(简称RS码)是一种具有很强纠正突发和随机错误能力的信道编码方式,在深空通信、移动通信、磁盘阵列以及数字视频广播(DVB)等系统中具有广泛的应用。 本文简要介绍了有限域基本运算的算法和常用的RS编码算法,分析了改进后的Euclid算法和改进后的BM算法,针对改进后的BM算法提出了一种流水线结构的译码器实现方案并改进了该算法的实现结构,在译码器复杂度和译码延时上作了折衷,降低了译码器的复杂度并提高了译码器的最高工作频率。在Xilinx公司的Virtex-Ⅱ系列FPGA上设计实现了RS(255,239)编译码器,证明了该方案的可行性。
上传时间: 2013-06-11
上传用户:奇奇奔奔
在机器人学的研究领域中,如何有效地提高机器人控制系统的控制性能始终是研究学者十分关注的一个重要内容。在分析了工业机器人的发展历程和机器人控制系统的研究现状后,本论文的主要目标是针对四关节实验室机器人特有的机械结构和数学模型,建立一个新型全数字的基于DSP和FPGA的机器人位置伺服控制系统的软、硬件平台,实现对四关节实验室机器人的精确控制。 本论文从实际情况出发,首先分析了所研究的四关节实验室机器人的本体结构,并对其抽象简化得到了它的运动学数学模型。在明确了实现机器人精确位置伺服控制的控制原理后,我们对机器人控制系统的诸多可行性方案进行了充分论证,并最终决定采用了三级CPU控制的控制体系结构:第一级CPU为上位计算机,它实现对机器人的系统管理、协调控制以及完成机器人实时轨迹规划等控制算法的运算;第二级CPU为高性能的DSP处理器,它辅之以具有高速并行处理能力的FPGA芯片,实现了对机器人多个关节的高速并行驱动;第三级CPU为交流伺服驱动处理器,它实现了机器人关节伺服电机的精确三闭环误差驱动控制,以及电机的故障诊断和自动保护等功能。此外,我们采用比普通UART速度快得多的USB来实现上位计算机.与下位控制器之间的数据通信,这样既保证了两者之间连接方便,又有效的提高了控制系统的通信速度和可靠性。 机器人系统的软件设计包括两个部分:一是采用VC++实现的上位监控软件系统,它主要负责机器人实时轨迹规划等控制算法的运算,同时完成用户与机器人系统之间的信息交互;二是采用C语言实现的下位DSP控制程序,它主要负责接收上位监控系统或者下位控制箱发送的控制信号,实现对机器人的实时驱动,同时还能够实时的向上位监控系统或者下位控制箱反馈机器人的当前状态信息。 研究开发出来的四关节实验室机器人控制器具有控制实时性好、定位精度高、运行稳定可靠的特点,它允许用户通过上位控制计算机实现对机器人的各种设定作业的控制,也可以让用户通过机器人控制箱现场对机器人进行回零、示教等各项操作。
上传时间: 2013-06-11
上传用户:edisonfather
在现代电网中,随着超高压、大容量、远距离输电线路的不断增多,对电力系统的安全稳定运行提出了更高、更严格的要求。距离保护作为线路保护的基本组成部分,其工作特性对电力系统的安全稳定运行有着直接和重要的影响。为了适应现代超高压电网稳定运行的要求,微机保护装置在硬件和软件上都提出了越来越高的要求。 高速数字信号处理芯片(DSP)技术的发展,为开发一种速度快、处理能力强的微机保护系统奠定了基础。在这样的背景下,我们采用DSP芯片和ARM处理器,设计了一个并列式双处理器微机保护系统。该系统采用一个DSP芯片负责控制数据采集、采样数据处理,实现保护功能。ARM微处理器承担人机接口管理,通过串行通信方式实现与DSP端口之间的数据通信,丰富的通讯接口,使得与上位机的通讯、下载程序定值灵活方便。新的微机保护装置不断推出,投入运行的微机保护装置不允许用来进行试验、培训,该装置还可作为试验教学系统,供学生学习认识微机保护装置的内部结构,并可自行设计保护算法、编制程序,通过上位机下载到实验装置,完成相应保护功能的测试。 本文实现了微机保护方案的整体软硬件设计,内容包括DSP2812微处理器芯片,ARM7微处理器LPC2220芯片,开关量输入/输出电路、数据采集电路、通讯和网络接口电路、人机界面的显示板电路,文中对各部分电路的功能、特点以及器件的选择、引脚连接进行了详细介绍。系统采用模块化设计,采用双CPU并行处理模式,针对基于LPC2220微处理器的监控管理系统,完成了最小系统设计,详细完成了启动电路的设计。 本文初步设计了人机操作界面,给出了软件设计的流程图,将实时操作系统μC/OS-Ⅱ与模块化硬件设计相结合,共同构成一个可以重复利用的软硬件数字系统平台,除了可以最大限度地提高开发的效率、减少资源的浪费外,还可以通过长期对于该平台的研究,逐步优化平台软硬件资源,提高其性能,并满足日益复杂的应用需求。
上传时间: 2013-04-24
上传用户:superhand
在机器人学的研究领域中,如何有效地提高机器人控制系统的控制性能始终是研究学者十分关注的一个重要内容。在分析了工业机器人的发展历程和机器人控制系统的研究现状后,本论文的主要目标是针对四关节实验室机器人特有的机械结构和数学模型,建立一个新型全数字的基于DSP和FPGA的机器人位置伺服控制系统的软、硬件平台,实现对四关节实验室机器人的精确控制。 本论文从实际情况出发,首先分析了所研究的四关节实验室机器人的本体结构,并对其抽象简化得到了它的运动学数学模型。在明确了实现机器人精确位置伺服控制的控制原理后,我们对机器人控制系统的诸多可行性方案进行了充分论证,并最终决定采用了三级CPU控制的控制体系结构:第一级CPU为上位计算机,它实现对机器人的系统管理、协调控制以及完成机器人实时轨迹规划等控制算法的运算;第二级CPU为高性能的DSP处理器,它辅之以具有高速并行处理能力的FPGA芯片,实现了对机器人多个关节的高速并行驱动;第三级CPU为交流伺服驱动处理器,它实现了机器人关节伺服电机的精确三闭环误差驱动控制,以及电机的故障诊断和自动保护等功能。此外,我们采用比普通UART速度快得多的USB来实现上位计算机.与下位控制器之间的数据通信,这样既保证了两者之间连接方便,又有效的提高了控制系统的通信速度和可靠性。 机器人系统的软件设计包括两个部分:一是采用VC++实现的上位监控软件系统,它主要负责机器人实时轨迹规划等控制算法的运算,同时完成用户与机器人系统之间的信息交互;二是采用C语言实现的下位DSP控制程序,它主要负责接收上位监控系统或者下位控制箱发送的控制信号,实现对机器人的实时驱动,同时还能够实时的向上位监控系统或者下位控制箱反馈机器人的当前状态信息。 研究开发出来的四关节实验室机器人控制器具有控制实时性好、定位精度高、运行稳定可靠的特点,它允许用户通过上位控制计算机实现对机器人的各种设定作业的控制,也可以让用户通过机器人控制箱现场对机器人进行回零、示教等各项操作。
上传时间: 2013-04-24
上传用户:极客
纠错码技术是一种通过增加一定冗余信息来提高信息传输可靠性的有效方法。RS码是一种典型的纠错码,在线性分组码中,它具有最强的纠错能力,既能纠正随机错误,也能纠正突发错误,在深空通信、移动通信、磁盘阵列、光存储及数字视频广播(DVB)等系统中具有广泛的应用。 DVD是一种高容量的存储媒质。DVD技术的应用很广泛,在数字技术中占有重要地位。DVD系统中采用里德-所罗门乘积码(RS-PC:Reed-Solomon ProductCode)进行纠错,RS码译码器在伺服芯片中具有重要作用。 FPGA在开发阶段具有安全、方便、可随时修改设计等不可替代的优点,在电子系统中采用FPGA可以极大的提升硬件系统设计的灵活性,可靠性,同时提高硬件开发的速度和降低系统的成本。FPGA的固有优点使其得到越来越广泛的应用,FPGA设计技术也被越来越多的设计人员所掌握。 本文首先介绍了编码理论和常用的RS编译码算法,提出RS编码器实现方案,详细分析了译码器的ME算法和改进BM算法的实现,针对ME算法提出了一种流水线结构的纠删纠错RS译码器实现方案,在译码器复杂度和延时上作了折衷,降低了译码器的复杂度并提高了最高工作频率,利用有限域乘法器的特性对编译码电路进行优化。这些技术的采用大大的提高了RS编译码器的效率,节省了RS编译码器占用的资源。在Xilinx公司的Virtex-II系列FPGA上设计并成功实现了RS(208,192)编译码器。
上传时间: 2013-07-20
上传用户:xinshou123456
飞机特征点图像的识别是航空试飞领域中计算机视觉研究的重要课题,在基于图像的视频安全监控、自动识别与智能人机交互方面有着重要的研究价值。其检测算法经过长时间的发展,已经取得了显著的成绩。本文中对Paul Viola提出的基于积分图像和AdaBoost的检测方法进行了深入研究、改进,并针对实际问题成功应用到飞机特征点图像的快速检测中。
上传时间: 2013-11-04
上传用户:日光微澜
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
防窃电远程监控管理系统的现场服务终端安装在二次侧,他同步抄读安装在二次侧的电能表数据。无线数据采集器安装在变压器前的一次侧高压端,它与现场服务终端进行无线通讯,把数据发送给现场服务终端。现场服务终端通过比对从二次侧抄读的多功能表数据和一次侧采集器发送过来的数据,判别是否异常。 这种分布式设计方式把二次侧的所有窃电行为都能实时准确地判别出来。
上传时间: 2013-10-22
上传用户:yl8908
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230