Quantcast
Channel: 电子创新网 - 电子创新网
Viewing all 7030 articles
Browse latest View live

Python NLP入门教程

$
0
0

本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库。NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库。

什么是NLP?
简单来说,自然语言处理(NLP)就是开发能够理解人类语言的应用程序或服务。

这里讨论一些自然语言处理(NLP)的实际应用例子,如语音识别、语音翻译、理解完整的句子、理解匹配词的同义词,以及生成语法正确完整句子和段落。

这并不是NLP能做的所有事情。

NLP实现
搜索引擎: 比如谷歌,Yahoo等。谷歌搜索引擎知道你是一个技术人员,所以它显示与技术相关的结果;

社交网站推送:比如Facebook News Feed。如果News Feed算法知道你的兴趣是自然语言处理,就会显示相关的广告和帖子。

语音引擎:比如Apple的Siri。

垃圾邮件过滤:如谷歌垃圾邮件过滤器。和普通垃圾邮件过滤不同,它通过了解邮件内容里面的的深层意义,来判断是不是垃圾邮件。

NLP库
下面是一些开源的自然语言处理库(NLP):

  • Natural language toolkit (NLTK);
  • Apache OpenNLP;
  • 阅读全文


    基于Testbench的FPGA实物自动化测试环境设计

    $
    0
    0

    作者:高 虎,封二强,赵 刚,2018年电子技术应用第4期

    摘 要: 针对FPGA软件测试过程中仿真测试和实物测试的不足,提出了一种基于仿真测试用例的实物自动化测试环境,将用于仿真测试的Testbench进行解析处理,形成能够用于FPGA实物测试的传输信号,通过执行器将此信号转换为作用于被测FPGA芯片的实际信号,并采集被测FPGA芯片的响应,实现对FPGA的实物自动化测试。采用实物自动化测试环境验证平台对设计架构进行了验证,取得了良好的效果。

    0 引言

    随着FPGA设计规模的不断扩大,因FPGA软件设计而造成的质量问题也越来越突出,成为影响装备质量的重要因素[1-2]。而测试是当前解决该问题的最有效手段,因此,越来越多的型号装备产品定型过程对FPGA软件测试提出了新的要求[3]。

    阅读全文

    学习FPGA需要注意的几个重要问题

    $
    0
    0

    如何学好FPGA呢,很多人很困惑,多数停留在基础位置徘徊,我就这方面问题给大家谈几点自己的看法。

    1. 基础问题

    FPGA的基础就是数字电路和HDL语言,想学好FPGA的人,建议床头都有一本数字电路的书,不管是那个版本的,这个是基础,多了解也有助于形成硬件设计的思想。

    在语言方面,建议初学者学习Verilog语言,VHDL语言语法规范严格,调试起来很慢,Verilog语言容易上手,而且,一般大型企业都是用Verilog语言。

    2. EDA工具问题

    熟悉几个常用的就可以的,开发环境QuartusII ,或ISE 就可以了,这两个基本是相通的,会了哪一个,另外的那个也就很Easy了。功能仿真建议使用Modelsim ,如果你是做芯片的,就可以学学别的仿真工具,做FPGA的,Modelsim就足够了。综合工具一般用Synplify,初学先不用太关心这个,用Quartus综合就OK了

    3. 硬件设计思想问题

    对于初学者,特别是从软件转过来的,设计的程序既费资源又速度慢,而且很有可能综合不了,这就要求我们熟悉一些固定模块的写法,可综合的模块很多书上都有,语言介绍上都有,不要想当然的用软件的思想去写硬件。

    4. 学习习惯问题

    阅读全文

    嵌入式开发之CPU的那些事...

    $
    0
    0

    cpu是数字处理系统中的一个重要环节。在我看来,单片机、微处理器、dsp都可以称作是cpu,只是它们的侧重点有所不同罢了。具体来说,传统意义上的单片机更偏重于嵌入式的计算,比如说我们经常使用的51、avr、arm芯片中不仅仅含有了运算和控制功能,它还涵盖了定时器、串口、并口、usb、i2c总线等外部资源。dsp呢,cpu一般只是作为dsp的一个核存在,它通常还会包含另外一个核,专门用于数字信号的处理工作。而微处理器,也就是我们经常说的pc上的处理器,它的工作比较单一,专注于计算和控制功能的处理,因此一般来说在这方面的性能上面,单片机和dsp都是不能和它相比的,有了南桥芯片和北桥芯片的帮助,pc的微处理器就可以专注于自己的本职工作了,效率上面也会有一个很大的提高。

    对于朋友们来说,生活中遇到的最多的cpu其实是x86的cpu。当然,如果有哪位朋友喜欢apple之类的玩具,也会知道一些arm的相关事情。剩下的就是一些专用领域的cpu了,比如说在通信行业用到的比较多的powerpc芯片,在高性能服务器用的到的sun sparc芯片,在科学计算领域使用到的mips芯片。所以,无论遇到什么芯片,对于应用层开发的朋友都是一样的,只是在一些小地方需要还有一些注意的地方。比如说,
    (1)数据的对齐方式
    (2)数据的字节序问题
    (3)函数参数的压栈问题
    (4)cpu的乱序执行问题

    阅读全文

    嵌入式er日常!证明自己,下决心学好嵌入式技术

    $
    0
    0

    从今天开始我下定决心要学好嵌入式技术,为啥呢?被鄙视了!!被本应该崇拜我的人鄙视了!!!

    研究生阶段我曾经很迷茫。研一的时候中科院开设了很多的计算机课程,因为实验室方向的原因我选了不少计算机安全的课。不过,研一的时候参与了中科院遥感所的一个图像检索的任务,我将重点放在Java和图像处理的学习与研发上。而研二进了实验室之后,我的研究课题与前端网络摄像机有关,这需要使用嵌入式与Linux技术。对嵌入式一窍不通的我不得不在很多入门级的技术上花了不少功夫。幸运的是当时实验室有位大牛,能够在技术上给我很大的帮助,更幸运的是我的研究课题不需要太高深的嵌入式技术(TI的平台已经将底层封装好了,实验室的大牛帮我把环境等都配置好了),所以在别人看来我做课题的进展最快,效果最好,技术最牛,但是我一直感觉心里发虚。

    阅读全文

    ZYNQ基础系列(六) DMA基本用法

    $
    0
    0

    DMA 环路测试
    涉及到高速数据传输时,DMA就显得非常重要了,本文的DMA主要是对PL侧的AXI DMA核进行介绍(不涉及PS侧的DMA控制器)。AXI DMA的用法基本是:PS通过AXI-lite向AXI DMA发送指令,AXI DMA通过HP通路和DDR交换数据,PL通过AXI-S读写DMA的数据。

    实验思路
    首先设计一个最基本的DMA环路

    实验思路是:首先PS通过AXI-lite配置DMA的工作模式,然后,PS将数据写入DDR,再然后,PS控制DMA读出之前写入的数据,将数据流写入FIFO(读完后DMA会向PS发送中断),再然后,PS控制DMA将FIFO的数据流再通过AXI总线写回DDR(写完后DMA会向PS发送中断),PS判断写入的数据和读出的数据是否一致,完成实验

    搭建硬件环境
    1.新建工程、原理图文件等
    2.加入实验需要的IP核

    阅读全文

    Modelsim中使用TCL脚本编写do文件实现自动化仿真

    $
    0
    0

    作者:NingHeChuan(宁河川)

    通常我们使用Modelsim进行仿真,是通过图形界面点点点来进行操作,殊不知Modelsim完美支持TCL脚本语言及批处理命令do文件。简单来说就是从你修改完代码后到你重新编译把需要的信号拉出来查看,现在只需要一个动作即可完成。大大提高了工作效率,博主之前也是点点点了好久,最后发现有这么好的仿真技巧,真是相见恨晚。

    下面列举一些常见的TCL脚本命令
    Run do文件的一些常用命令

    #打开现有工程

    project open C:/Users/jayash/Desktop/sim/ImageProcess

    #新建一个库

    vlib my_lib

    #将其映射到work

    vmap my_lib work

    #删除制定库

    vmap -del my_lib

    #添加指定设计文件

    project addfile src/Verilog/test.v

    #编译工程内所有文件

    project compileall

    #编译指定verilog文件

    vlog src/Verilog/test.v

    #编译指定的vhdl文件,同时检查可综合性

    阅读全文

    理解和设计通信系统中的差分滤波器

    $
    0
    0

    当提到通信系统时,比起单端电路,差分电路总是能提供更加 优良的性能。它们具有更高的线性度、抗共模干扰信号性能等。但是,对于差分电路还是有很多谜团。某些RF工程师认为很难设计、测试和调试它们。对于差分滤波器尤其如此。是时候揭开差分滤波器设计的神秘面纱了。

    要做到这一点,我们要从通信系统接收链中的IF级滤波器开 始。我们将介绍基本滤波器的一些重要规格概念、几类常用滤 波器的响应、切比雪夫1型滤波器应用,以及如何从单端滤波器 设计开始,然后将其转化为差分滤波器设计。我们还将考察一 个差分滤波器设计示例,并讨论有关如何优化差分电路PCB设计的若干要点。

    RF信号链应用中差分电路的优点
    用户利用差分电路可以达到比利用单端电路更高的信号幅度。 在相同电源电压下,差分信号可提供两倍于单端信号的幅度。 它还能提供更好的线性度和SNR性能。

    图1. 差分输出振幅

    图1. 差分输出振幅

    阅读全文


    基于ZYNQ的Retinex实时图像去雾

    $
    0
    0

    作者:董梦莎,张尤赛,王亚军;2018年电子技术应用第4期

    摘 要: 雾霾天气严重影响户外视频系统的图像质量。随着户外视频系统的广泛和深入的应用,迫切需要能够进行实时处理的小型化的嵌入式图像去雾系统。提出一种基于ZYNQ的Retinex实时图像去雾方法,在HSV颜色空间对亮度分量V进行Retinex算法去雾处理;采用ARM+FPGA软硬件协同的方式,由ARM完成算法控制功能及图像的颜色空间转换、对数等简单运算;在FPGA中采用高斯核函数与二维图像卷积的并行算法估计环境光的照度。实验结果表明,提出的方法在保证去雾效果的情况下,具有处理速度快、小型化、可嵌入、可移植和功耗低等优点,能够满足户外视频系统的性能要求。

    0 引言

    由于雾霾天气会造成户外视觉系统所获取的图像质量严重退化,不仅模糊不清、对比度降低,而且还会出现严重的色彩偏移和失真,从而影响户外视觉系统的稳定性和准确性[1-2]。因此,对雾霾天气引起的降质图像进行有效、快速的去雾处理显得极为重要。

    阅读全文

    老司机分享一些FPGA学习的经验

    $
    0
    0

    从开始学FPGA到现在粗略算来的话,已经有3个多月了,就目前而言,我并不确定自己算不算高手们所说的入门了。但是不管现在的水平如何,今天就总结一下自己学习它的感受或一些认识吧。
    首先,先说一下自己的在学习中所发现自己的不足之处:
    1. 不会总结。
    2. 学习的良好习惯没养成。
    在写FPGA的基本模块时,遇到的问题有许多,譬如,写代码时的警告,特别是一些不能忽视的警告,每次遇到时,总是还要检查一会儿才能改过来,或者有的警告已经出现了几次,但是就是解决不掉。每次在学一个模块时,只要是看懂了,它的一些重点就没有及时的记录在本子上,只有个别的想起来时,才会做笔记。每做完一个模块,没有及时记录下自己从这个模块中学到了什么。上面的不足,都是在写模块的过程中,自己逐渐暴露出来的。我很庆幸自己的一些问题能及时的被发现,虽然年前的学习将暂告一段落,但是,在年后的学习中,我一定会时刻记得自己以前在学习上出现了怎样的不足,避免类似的事情再次发生。像遇到警告时,都要记录下来,通过改正后,要注释,写下警告的原因,定期看一下。我上次写的一个代码就没有注释现在自己都看不懂了 http://www.51hei.com/mcu/967.html,每次写模块的时候,都要记下重点知识,即使是自己懂得的,好记性都是比不过烂笔头的。

    阅读全文

    从迷茫到转机,一个嵌入式工程师的成长经历

    $
    0
    0

    所有的新手或者毕业生对于技术领域都是迷茫的,我是学电子信息的,本科。当年毕业的时候,外企热得不得了,外企有先进的管理体制5s,有着现代化的电子设备,有着很高的福利。那个时候,每个人都以进外企工作为荣,我也不例外。

    不论是当年还是现在外企要的条件都很高,能进去都是件很不容易的事,但我最终凭借出色的英语表达能力进了外企。

    我的职位是设备工程师,薪水是税后1500,五险一金,公司提供午餐和班车。这在一般人看来很一般,可是对于一贫如洗的我来说(我从小就是单亲,没见过钱),这个待遇已经可以让我蹦起来了。

    上班了,我努里的工作着,积极地对待着我这来之不易的工作。可到第5个月的时候,我发现不对劲了。设备出现问题,无非是改改参数,换换零件。有时,大家为了体现自己的价值争着按一个按钮。有两个技术员,初中毕业,在干着和我一样的活,只是因为他们学历比我低,比我少拿600块钱。模电和单片机根本就用不上的。

    天啊,难道学历的价值就体现在这里?原来是个弼马温。玉帝,如来,俺老孙让你们给骗了!我本打算辞职,但想了想还是应该干到合同到期比较好,毕竟我们才签了1年合同,再忍几个月合同就到期了。于是,干满一年,我辞职了。

    辞职以后,我没有立即找工作,我在家温习了3个月的C语言,然后开始找电路设计的工作。我经常遇到这样的答复:
    单位:“你干过开发吗?”我:“没有”

    阅读全文

    掌握这些,就能成为嵌入式开发多面手!

    $
    0
    0

    合格的嵌入式开发者应是多面手,应具备各方面的技能,包括从硬件到软件到应用(电力系统保护,自动化,控制,人工智能,机器学习等),从单板到系统整机,从技术到管理,甚至吹拉弹唱也需要了解一点,做项目管理时可以提升团队气氛和丰富业余生活。

    嵌入式知识和技能体系庞大,样样精通者凤毛鳞角,一般都是一专多能,各类技能多少都能说上一点。按照嵌入式开发层次关系,整理嵌入式开发者技能大全如下:

    1、处理器

    MCU架构及开发。MCU俗称单片机,把中央处理器(CentralProcess Unit,CPU)的频率和规格作适当删减,并将内存(Memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD等驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同的组合控制。常见的MCU包括Intel的C51/C8051F系列,Motorola的68K系列,MicroChip的PIC系列等。

    MPU架构及开发。MPC指微处理单元,一般不带外围器件(如存储器阵列等),是高度集成的通用结构的处理器。典型如Intel的X86系列、飞思卡尔的PowerPC系列、P1系列,ARM架构处理器等。

    阅读全文

    新手如何学习嵌入式系统

    $
    0
    0

    这段时间很多关注者问起怎样学习嵌入式,对于一个刚开始接触嵌入式的朋友来说,这的确是个问题。在这里笔者就给大家讲讲怎样利用【IT指路灯】来学习嵌入式系统。
    学习嵌入式之前我们需要了解什么是嵌入式。
    (官方说法)嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。举些例子,手机、电子时钟、智能报警装置、自动监控器、出租车计费器等等都属于嵌入式系统。
    嵌入式系统是硬件和软件的综合体,这里来看看嵌入式系统的具体框图,以手机为例吧。

    (硬件篇)
    1、基本电路知识
    嵌入式硬件也是需要许多电路搭建起来的,学习嵌入式之前必须对电路基本知识有一定基础。了解常用的基本器件,基本仪器使用,具有一定的电路分析能力。这样你才能看得懂嵌入式系统的硬件电路图,才能为后续开发奠定基础。
    具体操作:回复CD查看主菜单,再回复109进入视频下载菜单,下载模拟电路教学视频,再回复104进入硬件技术。学习元器件基础、常用电路等知识。

    2、基本语言知识

    阅读全文

    深度学习——你需要了解的八大开源框架

    $
    0
    0

    深度学习(Deep Learning)是机器学习中一种基于对数据进行表征学习的方法,深度学习的好处是用非监督式或半监督式的特征学习、分层特征提取高效算法来替代手工获取特征(feature)。作为当下最热门的话题,Google、Facebook、Microsoft等巨头都围绕深度学习重点投资了一系列新兴项目,他们也一直在支持一些开源深度学习框架。

    目前研究人员正在使用的深度学习框架不尽相同,有 TensorFlow、Torch 、Caffe、Theano、Deeplearning4j等,这些深度学习框架被应用于计算机视觉、语音识别、自然语言处理与生物信息学等领域,并获取了极好的效果。

    下面让我们一起来认识目前深度学习中最常使用的八大开源框架:

    一.TensorFlow

    阅读全文

    宽带数字预失真系统的时域信道补偿

    $
    0
    0

    作者:宋宾、何松柏、彭俊、邹文慢,中国电子科技大学,四川成都

    同相/正交(I/Q)不匹配已经被证明是限制基于零中频架构的DPD实现平台的一个主要因素。本文提出一种在宽带数字预失真系统(DPD)中宽带信道不平衡的时域补偿算法。相比于广泛使用的频域补偿方法,本文提出的时域补偿算法计算复杂度较低。实验结果表明,该方法对于20MHz和60MHz基带信号经过收发链路后归一化均方误差(NMSE)分别改善了10.9dB和11.3dB。同时,本文提出的补偿模型对于20MHz和60MHz基带信号进行预失真后,邻信道功率比(ACPR)分别提高了6dB和8dB。

    本文转载自:actMWJC


    【科普】Xilinx Spartan-6 管脚分配

    $
    0
    0

    1. Spartan-6系列封装概述
      Spartan-6系列具有低成本、省空间的封装形式,能使用户引脚密度最大化。所有Spartan-6 LX器件之间的引脚分配是兼容的,所有Spartan-6 LXT器件之间的引脚分配是兼容的,但是Spartan-6 LX和Spartan-6 LXT器件之间的引脚分配是不兼容的。

    表1:Spartan-6系列FPGA封装

    表1:Spartan-6系列FPGA封装

    阅读全文

    ZCU102开发(1):运行基于ubuntu文件系统的Linux

    $
    0
    0

    在ubuntu 14.04上使用GParted软件将SD卡分为两个区,

    一个为fat32 BOOT区,用于放boot.bin, Image, system.dtb文件

    另一个为ext4格式rootfs区,用于放文件系统


    编译器做准备,armv8需要aarch64 toolchain,
    sudo apt-get install gcc-aarch64-linux-gnu

    设置环境变量
    export CROSS_COMPILE=aarch64-linux-gnu-

    uboot下载2017.2版本,按默认编译,生成u-boot.elf

    https://github.com/Xilinx/u-boot-xlnx/releases

    阅读全文

    部分可重配置设计流程 — 部分比特流版本检查

    $
    0
    0

    作者:David Dye,赛灵思高级产品营销经理

    部分可重配置会涉及到将配置数据下载到正在运行的系统中。 尽管在芯片和比特流中内置了一些保护措施,比如器件ID,从而确保识别正确的部分,但是作为用户设计的一部分,仍有一些技术需要理解和实现。 设计人员应遵循这些建议,以确保部分可重配置的安全和可预测性。

    • 在进行重新配置操作之前需要对可重配置分区(RP)内的一些活动程序进行关闭,如果可重配置功能没有进行完整的传输或者没有对最近的请求作出回复,那么整个系统可能会挂起。

    解决方案:在你的设计中务必确保在重新配置之前RP分区内所有活动都已经完成,在设计中对每个分区内都实现请求—通知握手操作,这样系统就不会挂起,信息也不会丢失。

    • 对RP分区进行隔离,这样任何动态的变化都不会对静态设计产生任何负面的影响,目前还无法预测RP分区在进行动态配置时会有哪些行为方式,如果一些浮动信号从RP分区“逃出去”,那么一些虚假事件就会对静态设计产生负面影响。

    解决方案:最佳的操作方案就是断开该分区与静态设计之间的连接直到可重配置操作完成,PR Controller IP通过选通任何接口端口可以用于隔离RP分区,或者自定义逻辑模块(2选1多路复用器,具有复位或启动门控的寄存器等)都可以实现这个功能。

    阅读全文

    Xilinx Uboot网卡驱动分析

    $
    0
    0

    1、MAC控制器、网卡、PHY、MDIO、mii、gmii、rgmii概念扫盲

    网卡在功能上包含OSI模型的两个层,数据链路层和物理层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。网卡中负责数据链路的芯片叫做MAC控制器,负责物理层的芯片叫做PHY。所以,一个网卡由MAC控制器和PHY组成。

    MAC控制器与PHY连接使用MII(Medium independent interface)媒体独立接口,这个接口是IEEE-802.3定义的以太网行业标准定义的接口,包括一个数据接口和一个MAC和PHY之间的管理接口即MDIO。MII标准接口用于连接MAC和PHY,媒体独立表示不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备接到当前MAC控制器上都可以正常工作。

    阅读全文

    ZYNQ基础系列(七) LWIP数据通路 -- PL数据->PS->PC机(TCP)

    $
    0
    0

    LWIP数据通路

    实验准备:

    基础概念
    以太网MAC是一个基础模块,它使得我们可以实现一个TCP/IP协议栈,协议使得应用可以基于网络来通信。如果想要解析一个TCP/IP协议栈,需要了解以下层次:
    • 第一层——物理层:(描述物理连接)主要由外部物理层芯片实现
    • 第二层——数据链路层:(描述物理层上数据传输的途径)可以由PS的MAC实现
    • 第三层——网络层:(描述不同网络间数据传输的途径)提供网络路由和寻址层,可以使IPv4或者IPv6
    • 第四层——传输层:(提供终端用户间的数据传输)TCP
    • 第五层——应用层:应用层操作数据

    阅读全文

    Viewing all 7030 articles
    Browse latest View live