如何导出Chrome已安装的某扩展Extension App

如何导出Chrome已安装的某扩展Extension App 如何导出Chrome已安装的某扩展以前用过的有些Extend App,市场里面又找不到更好的怎么办? 这个时候就要用到导出了。 打开扩展程序Setting Extensions 界面, 选择开发人员模式Developer mode,找到该扩展,记住每个Extension下方的ID。 点“击打包扩展程序” : Pack Extension 选择扩展路径C:\Users\当前用户名\AppData\Local\Google\Chrome\User Data\Default\Extensions\扩展ID\版本号, 这里要特别说明,虽然chrome提示是选择扩展根目录,但是如果你把目录选择在扩展ID这一层你就错了,你应该选择下一层的版本号这个目录。 然后点击确定,就有提示导出成功,并提示了保存位置,crx文件就可以拿来分享了。

READ MORE

DSP芯片的定点运算

DSP芯片的定点运算 本文排版不恰当,请到新浪爱问下载本文的pdf版,《【豪猪哥】DSP芯片的定点运算1.0》 第3章 DSP芯片的定点运算 3.1数 的定 标 在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位。显然,字长越长,所能表示的数的范围越大,精度也越高。如无特别说明,本书均以16位字长为例。 DSP芯片的数以2的补码形式表示。每个16位数用一个符号位来表示数的正负,0表示数值为正,1则表示数值为负。其余15位表示数值的大小。因此 二进制数0010000000000011b=8195 二进制数1111111111111100b=-4 对DSP芯片而言,参与数值运算的数就是16位的整型数。但在许多情况下,数学运算过程中的数不一定都是整数。那么,DSP芯片是如何处理小数的呢?应该说,DSP芯片本身无能为力。那么是不是说DSP芯片就不能处理各种小数呢?当然不是。这其中的关键就是由程序员来确定一个数的小数点处于16位中的哪一位。这就是数的定标。 通过设定小数点在16位数中的不同位置,就可以表示不同大小和不同精度的小数了。数的定标有Q表示法和S表示法两种。表3.1列出了一个16位数的16种Q表示、S表示及它们所能表示的十进制数值范围。 从表3.1可以看出,同样一个16位数,若小数点设定的位置不同,它所表示的数也就不同。例如: 16进制数2000H=8192,用Q0表示 16进制数2000H=0.25,用Q15表示 但对于DSP芯片来说,处理方法是完全相同的。 从表3.1还可以看出,不同的Q所表示的数不仅范围不同,而且精度也不相同。Q越大,数值范围越小,但精度越高;相反,Q越小,数值范围越大,但精度就越低。例如,Q0的数值范围是-32768到+32767,其精度为1,而Q15的数值范围为-1到0.9999695,精度为 1/32768 = 0.00003051。因此,对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想提高精度,则数的表示范围就相应地减小。在实际的定点算法中,为了达到最佳的性能,必须充分考虑到这一点。 浮点数与定点数的转换关系可表示为: 浮点数(x)转换为定点数(): (这里是先乘再int) 定点数()转换为浮点数(x): (这里是先float再乘) 例如,浮点数 x=0.5,定标 Q=15,则定点数=,式中表示下取整。反之,一个用 Q=15 表示的定点数16384,其浮点数为16384×2-15 =16384/32768=0.5。 表3.1 Q表示、S表示及数值范围 Q表示 S表示 十进制数表示范围 Q15 S0.15 -1≤X≤0.9999695 Q14 S1.14 -2≤X≤1.9999390 Q13 S2.13 -4≤X≤3.9998779 Q12 S3.12 -8≤X≤7.9997559 Q11 S4.11 -16≤X≤15.9995117 Q10 S5.10 -32≤X≤31.9990234 Q9 S6.9 -64≤X≤63.9980469 Q8 S7.8 -128≤X≤127.9960938 Q7 S8.7 -256≤X≤255.9921875 Q6 S9.6 -512≤X≤511.9804375 Q5 S10.5 -1024≤X≤1023.96875 Q4 S11.4 -2048≤X≤2047.9375 Q3 S12.3 -4096≤X≤4095.875 Q2 S13.2 -8192≤X≤8191.75 Q1 S14.

READ MORE

Visual Studio C# Learning Notes

Visual Studio C# Learning Notes This blog will note down all my process about learning Visual Studio C# ----------------------------------------------------------- Notes: ----------------------------------------------------------- ----------------------------------------------------------- Why the console window disappear when I press F5 to debug? F5 启动调试 Ctrl+F5 开始执行(不调试) Console.Write("按任意键继续..."); Console.ReadKey();//或者Console.Read();或者Console.WriteLine(); -----------------------------------------------------------

READ MORE

Matlab中下标,斜体,符号及希腊字母的使用方法

Matlab中下标,斜体,符号及希腊字母的使用方法 reference: http://wenku.baidu.com/view/bf031b92daef5ef7ba0d3cf4.html Example Code: x = [0: 10/12000 :10 - 10/12000]; y = 0.3*sin(x) + 0.5*sin(2*x) + 0.7*sin(4*x); Y = fft(y); Y_abs = abs(Y); w = [0: 2/12000 :1-2/12000]; w =w'; figure;plot(w,Y_abs(1:length(Y_abs)/2)); xlabel('\omega (*\pi rad/sample)'); ylabel('Absolute value of FFT'); title('The fft of the filtered data'); 下面是Matlab官方列出来的Tex代码列表,包含了绝大部分的希腊字母和数学符号。 记得前面加 \ eg: x=0:0.2:2*pi; y=sin(x); plot(x,y);text(2,sin(2),’\alpha_2^\beta') Character Sequence Symbol Character Sequence Symbol Character Sequence Symbol alpha α upsilon υ sim ~ beta β phi Φ leq ≤ gamma γ chi χ infty ∞ delta δ psi ψ clubsuit ♣ epsilon ɛ omega ω diamondsuit ♦ zeta ζ Gamma Γ heartsuit ♥ eta η Delta Δ spadesuit ♠ theta Θ Theta Θ leftrightarrow ↔ vartheta ϑ Lambda Λ leftarrow ← iota ι Xi Ξ uparrow ↑ kappa κ Pi Π rightarrow → lambda λ Sigma Σ downarrow ↓ mu µ Upsilon ϒ circ º nu ν Phi Φ pm ± xi ξ Psi Ψ geq ≥ pi π Omega Ω propto ∝ rho ρ forall ∀ partial ∂ sigma σ exists ∃ bullet • varsigma ς ni ∍ div ÷ tau τ cong ≅ neq ≠ equiv ≡ approx ≈ aleph ℵ Im ℑ Re ℜ wp ℘ otimes ⊗ oplus ⊕ oslash ∅ cap ∩ cup ∪ supseteq ⊇ supset ⊃ subseteq ⊆ subset ⊂ int ∫ in ∈ o ο rfloor ë lceil é nabla ∇ lfloor û cdot · ldots … perp ⊥ neg ¬ prime ´ wedge ∧ times x ∅ rceil ù surd √ mid vee ∨ varpi ϖ copyright © langle ∠ rangle ∠ 下面给出Matlab中下标及希腊字母的使用方法,还有更多的使用方法可以参考matlab帮助

READ MORE

关于3D坐标变换的数学原理

关于3D坐标变换的数学原理 3D坐标变换被广泛应用,在机器人导航和器械臂控制上我们常常需要变换坐标系,参杂平移和旋转,本文对相关的数学原理做一个梳理。 (1)为了便于理解,首先从1维开始探讨。 )))人在车上走,车在地面上行驶。人相对于地面的速度 = 人相对于车的速度+车相对于地面的速度 : 图1:一维坐标变换图示 (2)二维坐标变换的简单情况——只有平移: )))向量(A), 在S1坐标系中有坐标(xa_s1, ya_s1), S1坐标系原点相对于S2坐标系的坐标是(xs1_s2, ys1_s2)。 我们要得到(A)在S2中的坐标(xa_s2,ya_s2),有: )))))))) xa_s2 = xa_s1 + xs1_s2; )))))))) ya_s2 = ya_s1 + ys1_s2. 这里可以看成是在 (xa_s1, ya_s1) 引入一个平移变换(xs1_s2, ys1_s2), 这个平移就相当于一维例子中“车相对于地面的速度”。 (配图2:二维坐标平移变换图示) (3)二维坐标变换的一般情况——平移和旋转: )))向量(A), 在S1坐标系中有坐标(xa_s1, ya_s1), S1坐标系原点相对于S2坐标系的坐标是(xs1_s2, ys1_s2),S1坐标系相对于S2坐标系的旋转角是θ, (逆时针为正方向) 。 我们要得到(A)在S2中的坐标(xa_s2,ya_s2),分两步完成: 图3:二维坐标一般变换,平移和旋转图示 第一步: 旋转,使用欧拉旋转矩阵R(θ) = [ cos(θ) -sin(θ) ; sin(θ) cos(θ)]: [ x_1 ; y_1 ] = [ cos(θ) -sin(θ) ; sin(θ) cos(θ)] * [xa_s1, ya_s1] . 此处矩阵乘法。用MATLAB中的协议表示一个矩阵,分号代表提行。 第二步: 平移, 如上述: [ xa_s2 ; ya_s2 ] = [ x_1 ; y_1 ] + [xs1_s2; ys1_s2].

READ MORE

更好理解贝叶斯定律(Bayes Law)和卡曼滤波器(Kalman Filter)原理

更好理解贝叶斯定律(Bayes Law)和卡曼滤波器(Kalman Filter)原理 在概率理论中,我们都学习过 贝叶斯理论: P(A|B) = P(A)P(B|A) / P(B)。它的意义在模式识别和卡曼滤波中是基础。理解它,是学习高级算法的前提。至于模式识别和卡曼滤波等很有价值的方法的超级意义,请您自己查阅。 写本文也帮助作者更好理解贝叶斯定律。若想学,请静心。 1. 理解贝叶斯理论: 这里有事件A: 下雨 事件B: 刮风 我们的问题是: 在刮风的条件下,下雨的概率是多少? 问题就被人们抽象成了:P(A|B)=? 要解决这个问题有两个途径: a. 在所有刮风的日子里,记录是否下雨。——如果我们知道刮风同时下雨的天数,和刮风的天数。就可以解决。 但是这种方法的理论表达式就是:P(A|B) = P(AB) / P(B). 在P(AB)未知时,我们需要利用下面的方法。 b. 有人通过研究查找,得到一些现成知识,利用这些知识,和贝叶斯定律求解。——这是贝叶斯定律的方法。 下面讨论如何利用“贝叶斯定律的方法”来求解上述问题。 我们具有的知识是: * 在过去的几千万年来,人们在下雨的时候,都记录了刮风的日子。所以我们知道: P(B|A) * 在过去的几千万年来,人们都记录了下雨的日子。所以我们知道: P(A) * 在过去的几千万年来,人们都记录了刮风的日子。所以我们知道: P(B) 唯独没有人记录刮风同时下雨的日子。 上述三条都是我们的知识。利用这3条知识,我们就可以知道 P(A|B) = P(A)P(B|A) / P(B) 所以,总结一下,贝叶斯理论就是在P(AB)未知的情况下,利用我们已有的知识,解决 P(A|B)=? 的一种方法。——这是我的一种解释方式。 2. 卡曼滤波器原理: 参考: 英文版wikipedia 和 中文版维基百科 视频: 教程:卡曼滤波器和MATLAB例程

READ MORE

关于DSP中浮点与定点运算的C语言编程方法

关于DSP中浮点与定点运算的C语言编程方法 最近也是在玩DSP,在ADI公司生产的DSP芯片BF527上做DSP工作。 关于在嵌入式开发中需要做DSP工作,我们常常需要用定点运算来提高处理效率,降低功耗。 定点和浮点计算各有长短,此处有篇文章出自ADI公司网站,讨论了定点和浮点的trade off权衡利弊。 请参考: http://www.analog.com/en/content/Fixed-Point_vs_Floating-Point_DSP/fca.html 至于浮点编程,个人理解是用float一路编程到底就够了,挺粗放的,但是本人在做fft的c语言实现时候遇到高阶FFT的浮点运算导致硬件错误的问题,估计跟处理时间过长有关,没有深究。故此文是想学习一下如何用定点编程的方式完成数字信号处理的问题,为日后做高阶复杂多维的数字信号处理运算编程打好基础。 关于DSP中浮点定点编程,有个写得很好的教材:第3章 DSP芯片的定点运算.doc 此处转载一位afreez的仁兄的贡献:特此感谢! ================================ 作者:afreez 北京-中关村 联系方式:afreez.gan@gmail.com (欢迎与作者交流) 初次发布时间:2006-12-08 初次发布在: http://blog.csdn.net/ganxingming/ 不经本人同意,不得用语商业或赢利性质目的,否则,作者有权追究相关责任! 与afreez一起学习DSP中浮点转定点运算–前言 与afreez一起学习DSP中浮点转定点运算–浮点与定点概述 与afreez一起学习DSP中浮点转定点运算–浮点数的存储格式 与afreez一起学习DSP中浮点转定点运算–定点数的加减乘除运算 与afreez一起学习DSP中浮点转定点运算–定点数模拟浮点数运算及常见的策略 与afreez一起学习DSP中浮点转定点运算–举例及编程中的心得 解决了个困扰了2天的问题,定点运算问题

READ MORE

MIT电子系教学计划、C语言FFT算法实现、kbhit()函数getch函数等

Java 学习个人笔记(二)(March 19,2013 ) 原创 发布博客 2013.03.20 · 999 0 秘密显示技术:戴上眼镜才能看到你的内容 翻译 发布博客 2013.02.21 · 7319 0 麻省理工学院-电子与计算机科学系:专业设置及各专业教学计划 转载 发布博客 2013.02.19 · 3183 1 C语言编译的顺序。关于 .c 文件 .h 文件的用法。Makefile文件简单概念。 原创 发布博客 2013.01.19 · 3664 0 C语言实现FFT算法 - 开发手记 原创 发布博客 2013.01.19 · 3054 1 linux下kbhit()函数 getch函数。 原创 发布博客 2013.01.17 · 1852 0

READ MORE

Java 学习个人笔记(二)(March 19,2013 )

Java 学习个人笔记(二)(March 19,2013 ) – Java 学习个人笔记(二)– 写这个个人笔记完全是出于记录自己所学,方便本人日后参考,可能很零散。这个笔记是建立在C语言编程基础上,本人学习Java只学习它与C语言不同的地方,或者我在C编程过程中很少用到的地方。所用的教材是Youtube一位达人做的视频:Java编程简明教程 by Thenewboston(Youtube) 每次开一贴,学习Java笔记都记在这里。所写内容都是个人菜鸟级的理解,肯定有疏漏不足。 Anyway, 您的回复讨论支持是我前进的动力! ================= March 19, 2013 ========================= 2.1很久没有回来,开始之前,先理解“面向对象编程”的几个关键的概念: Object is the set of a class. Object is the fundamental Element of your program. Your processing code and data is packed into Class, so that your program can be used repeatly , flexibly and extentable . 【类】(Class)定义了一件事物的【抽象】特点。通常来说,类定义了事物的属性state, 和它可以做到的功能(它的行为Method)。 【对象】(Object)是类的【实体反应】。类是对象的抽象, 对象是类的具体表现形式。 【方法】(Method,可看成能力)是定义一个类可以做(can)的,但不一定会(will)去做的事。 【消息传递】(Message Passing)一个对象通过接受消息、处理消息、传出消息或使用其他类的方法来实现一定功能,这叫做消息传递机制。 【继承】继承性(Inheritance)是指,在某种情况下,一个类会有“子类”。子类具备父类的所有功能特点。一个父类可以有多个子类,子类之间的功能不能互用。最重要的特征,继承机制解决的软件的重用问题 至于封装性(Encapsulation),多态性/多型(Polymorphism), 抽象性(Abstraction),请参阅:1、wikipedia面向对象程序设计。 2、面向对象程序设计的4个主要特点 When you design a class, think about the objects that will be created from that class type.

READ MORE

秘密显示技术:戴上眼镜才能看到你的内容

秘密显示技术:戴上眼镜才能看到你的内容 参考:http://news.discovery.com/tech/hack-lcd-monitor-111130.htm 翻译: 黑掉你自己: 一个超级隐秘的LCD显示器 Nov 30,2011 by NIC HALVERSON 假如你有一些 paint thinner(油漆稀释剂) , 一副眼镜, 一个box cutter 和一个旧的LCD电脑显示器。 快点,你该做什么?让我告诉你。 你去所有的MacGyver 并且做了一个超级隐秘的私人显示器,他能让你的秘密agent电脑用裸眼侦查起来不可见。 对,真的。不再需要把你的过时的监视器带到 Salvation Army。一个 Instrucable 的用户最近展示了怎样黑掉一个老的LCD显示器,做一个屏幕内容,它只能在戴着特殊眼镜才能看到。不戴眼镜就是一片白。看看怎么做的: LCD显示器是由2层薄膜构成 – polarized and anti-glare(极化和防眩光)。用你的box cutter刀片去掉这两层薄膜。剥离磨砂的anti-glare涂层,因为它不必要。同样的,去掉极化膜,但是不要丢弃,因为它是让你的骇客计划成功的秘密材料。 下一步,用你的anti-glare(涂料稀释剂),或者其他的溶剂solvent,软化保留在玻璃上的adhesive(粘胶)。你可能需要多试几次你的溶剂的材质,但是用户dimovi提出了一种方法:建议把几层纸巾铺在屏幕上,把它们浸在溶剂中,放在那儿。在你完成了用塑料或者木头除掉残留的粘胶以后,重新装配显示器。 用你的太阳镜 - 或者其他任何的框架 - 去掉透镜。用你刚才取下来的极化膜放在镜框上。成了! 极化膜通常是用来从可见内容上滤掉显示器的背景光的。如果没有它,显示器看起来就全是背景光,一片空白。但是带上你的新眼镜,你秘密私人显示的内容就全部显示(revealed)出来了。 看看应用视频: 《视频: Youtube-LYNX ANARCHY 全球第一个隐形广告》http://v.youku.com/v_show/id_XNTE2ODc3OTY0.html

READ MORE