Hexo博客修改Archive页面显示文章数量

之前配置的Swiftype站内搜索功能很不稳定,经常因为网络问题无法返回搜索结果,所以要找写过的某篇文章就不太方便。为解决这个问题,有一个方法是在Archive页面上不分页,然后就可以用浏览器自带的搜索功能来搜索标题了。

默认情况下,Hexo无法对主页、Archive页面、标签页面每页显示文章数量进行单独设置,所以需要安装hexo-generator-archive插件来实现这个功能。

Population Count算法

所谓Population Count算法,即是指计算一个二进制数中1的个数的算法。具体来说,就是任意给定一个无符号整数N,求N的二进制表示中1的个数,比如N = 5(0101)时,返回2;N = 15(1111)时,返回4。

这个问题是一个经典的面试题目,在实际中也有应用。关于这个问题,以下两篇博客文章中有较详细的论述:

详解二进制数中1的个数
算法-求二进制数中1的个数

在此,仅对其中一些较为常规和较为巧妙的方法做一总结,并比较一下他们的执行效率。

Matlab调用Origin作图

Matlab作出的图普遍没有Origin作出的美观好看,而且导出为eps或emf格式后会有各种奇怪的Bug。目前普遍采用的一种方法是,将Matlab数据导出为mat文件后再导入Origin中手工作图,这种方式需要不少重复性劳动,并不是一种很完美的解决方案。
前几天偶然看到Origin提供了COM接口可供Matlab调用,于是就研究了下可否用Matlab调用Origin来生成所需的emf格式图片,最终经过一番折腾,基本完成了这个目标。

三相逆变器电流采样方案总结

当使用三相逆变器进行电机控制时,经常需要获取相电流以进行闭环控制,这就涉及到一个电流采样问题。尽管现在有许多电流检测方法,但低成本、大批量应用中常见的只有三种,其它都是昂贵的实验室系统、新兴技术或很少使用的方法[1]。常用技术包括:采样电阻、霍尔元件与电流互感器。这些技术又可进一步细分,详见下图:

本文将具体介绍这些方案。

C2000 DSP基本数据类型

一般情况下,在大部分平台上,一个字节(byte)是指8bit,char占用8bit的空间,int占用32bit的空间。然而,在TI C2000 DSP上,情况确不是这样的。在C2000系列DSP上,byte = 16 bits,char = short = int = 16 bits,long = 32 bit,long long = 64bit

C2000 ePWM模块

以TMS320F28030为例,其它型号可能有差异,不过大同小异。

在TI C2000 DSP中,PWM模块是一个独立的模块,并没有算作通用定时器的一部分,这也充分体现了C2000系列用于控制系统的定位。整个ePWM模块可以视为由若干个独立的ePWM子模块组成,每个ePWM子模块对应2个互补输出的通道——EPWMxA及EPWMxB。这样的设计减少了各PWM通道间的耦合关系,使用起来更为方便灵活。