速度:低功耗μC尽管具有高MI/s/mA性能,仍然需要一些优化手段来使运行FFT的指令数尽可能少。好在本应用所用的C编译器(IAR的Em-bedded Workbeneh for MAXQ,见www.iar.com)可提供多种级别的优化和设置。高效地使用硬件乘法器可使代码优化到可以接受的水平。
无浮点能力:所选的μC不具备浮点能力(低功耗产品一般都不具备浮点能力)。因此,所有运算都必须采用定点算法。为了表示小数,固插件电感件采用带符号的Q 8.7表示法。这样,在固件中假定:
●第O位至第6位代表小数部分;
●第7位至第14位代表整数部分;
●第15位代表符号位(二的补码)。
这样的安排对于加法和减法没有影响,但在做乘法时必须注意将数据按照Q8.7格式对齐。
所选的数据表示法还要适应FFT算法可能遇到的最大数值,同时又要提供足够的精度。例如,我们的ADC可提供带符号的8位采样,以二的补码表示。如果输入为最大幅度(对于带符号8位采样为127)的直流电压,则其能谱全部包含于X(0)中,用Q8.7表示为32 512。这个数值能够用单个带符号的16位数据表示。
2 固件
以下部分讨论在低功耗μC上执行Radix-2FFT的固件实现。信号采样由ADC读出后被存储在x_n_re数组中。这个数组代表X(n)的电感电容滤波器实模压电感部。虚部存储在x_n_im数组中,在开始运行FFT前初始化为零。完成FFT后,计算结果取代原始采样电感生产厂家数据,被存储在x_n_re和x_n_im中。
2.1 获取采样
FFT算法假定采样是以固定的取样频率获得的。在为FFT获取采样时如果不加小心将会产生一些问题。例如,采样间隔的抖动就会给FFT结果引入误差,应尽力减小。
清单1.两种ADC采样伪码算法
ADC采样循环中的判决语句会造成采样间隔的抖动。例如,系统从ADC读取带符号的8位采样,并将其存储在一组16位变量中。程序清单1中给出了两种伪码算法,执行ADC读取-存储功能。算法l给出的方法会造成采样间隔的抖动,因为负采样比正采样需要更多的时间来读取并存储。
2.2 三角函数表
本FFT算法通过查表(LUT)而非计算得到正弦或余弦函数值。程序清单2给共模电感器出了对于正弦和余弦LUT的声明。实际固件的注释中包含了自动生成这些LUT的源代码,可由程序调用。两个LUT均含有N/2分量,因为旋转因子的索引号变化范围为0至N/2-1(见图2)。
这些LUT中的数组被声明为const,强制编译器将它们存储于代码空间而非数据空间。由于LUT数值须采用Q8.7表示法,它们由正弦和余弦的实际值乘以27后得到。
B0505LM-1W应用电路设计MORNSUN新出品的B0505LM-1W系列产品可以更好地应用在此方案中,这款隔离1000VDC的超小型、高可靠性的DC/DC转换器,其输入电压为5V,输出电压为5V,功率为1W,图1为该产品的一种
印刷输入文件格式与ISO 15930I S O国际印刷标准的实施过程中,从整个生产流程来讲,输入的文件格式审核是第一个环节。印前现在已经是完全数字化了,所以数字文件的标准化,对于文件的传递交换是非常有必要的。
喷墨印刷制备有机薄膜晶体管及其电路的研究进展有机薄膜晶体管具有许多优点,如材料来源广泛、与柔性衬底兼容、成膜技术多、轻型、可低温制造、制造成本低等,广泛应用于全有机有源矩阵显示、记忆组件、智能卡、电子标签、