电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

数字函数范文

来源:莲生三十二作者:开心麻花2025-09-191

数字函数范文(精选8篇)

数字函数 第1篇

在“2009年4月工资发放表”工作簿中建立工作表“金额数字大写转换表”,如图所示:

根据财政部制定的《会计基础工作规范》关于对金额数字大写写法的规定,金额数据为整数如:96.00元时,大写写成“玖拾陆元整”;金额小数部分如:0.50元时,大写写成“伍角整”;金额小数部分如:0.08元时,大写写成“捌分”;金额小数部分如:0.58元时,大写写成“伍角捌分”。因此,在A4-A7单元格列举出4种小数金额情况的实例;在B4单元格输入公式"=INT(B2)",在B5单元格输入公式"=B2-INT(B2)",在B6单元格输入公式"=INT(10*B2)-10*INT,(B2)",在B7单元格输入公式"=100*B2-10*INT(10*B2)",将金额数字分解成整数部分、第一位小数数字和第二位小数数字。然后使"C4=B4,C5=B5,C6=B6,C7=B7",选择C4、C5、C6、C7单元格,设置[单元格格式][特殊][中文数字大写],分别列出金额数字的整数部分、第一位小数数字、第二位小数数字的大写形式。在D4单元格输入公式"=TEXT (C4,"[DB-Num2]")&“元”&TEXT(C6,"[DBNum2]")&“角”&TEXT(C7,"[DB-Num2]")&“分”,在D5单元格输入公式"=TEXT(C4,"[DBNum2]")&“元整”,在D6单元格输入公式"=TEXT (C4,"[DBNum2]")&“元”&TEXT(C6,"[DBNum2]")&“角整”,在D7单元格输入公式"=TEXT(C4,"[DBNum2]")&“元”&“零”&TEXT(C7,"[DBNum2]")&“分”,列出4种小数金额不同的大写转换形式。最后,在D6单元格输入公式:"=IF(B5=0,D5,IF(B6=0,D6,IF(B7=0,D7,D4)))",应用条件函数进行选择判断,使金额数字转换成符合会计规则的标准大写形式。

在B2单元格中输入公式"=ROUND('4月工资'!J12,2)",在4月工资表格工资合计大写单元格中输入公式“=金额数字大写转换表!D2”,建立“4月工资”表格工资合计金额小写单元格、工资合计金额大写单元格与“金额数字大写转换表”相应单元格的数据链接,自动完成工资表金额大写的标准转换。在“金额数字大写转换表”中执行[格式][工作表][隐藏]命令,可以隐藏“金额数字大写转换表”。利用金额数字大写转换表格,可以方便实现工资表、会计数据的管理与打印,显著提高工作效率。

参考文献

[1]本书编委会.Excel 2003电子表格处理[M].北京:电子工业出版社,2006.9.

[2]Excel研究组.Excel 2007函数与公式应用大全[M].北京:电子工业出版社,2008.3.

数字函数 第2篇

实现递归函数有哪些方法呢?如何用递归函数实现数字累加?这篇文章就主要介绍php递归函数三种实现方法及如何实现数字累加,需要的朋友可以参考下,

递归函数在编程中是比较常用的一类函数,其特点是函数自身可以调用自身,但是必须在调用自身前有条件判断,否则会导致无限调用下去。本文列出了三种递归函数实现方法,第一种利用引用做参数,第二种利用全局变量,第三种利用静态变量,理解此类问题需要有点基础,包括对全局变量,引用,静态变量的理解,也需对他们的作用范围有所理解。在这不废话了,具体介绍请看下文。

第一种方法:利用引用做参数

先不管引用做不做参数,必须先明白引用到底是什么?引用不过是指两个不同名的变量指向同一块存储地址。本来每个变量有各自的存储地址,赋值删除各行其道。

现在可好,两个变量共享一块存储地址。$a=&$b;。实际上指的是$a不管不顾自己原来的存储地址,非要和$b共享一室了。因而任何对存储地址数值的改变都会影响两个值。

函数之间本来也是各行其是,即便是同名函数。递归函数是考虑将引用作为参数,成为一个桥梁,形成两个函数间的数据共享。虽然两个函数见貌似操作的是不同地址,但是实际上操作的是一块儿内存地址。

代码如下:

function test($a=0,&$result=array){

$a++;

if ($a<10) {

$result[]=$a;

test($a,$result);

}

echo $a;

return $result;

}

上面的例子非常简答,以a<10作为判断条件,条件成立,则把a赋给result[];将result的引用传入函数,会将每一次递归产生的a添加到结果数组result。因而本例生成的$result数组是Array ( [0] =>1 [1] =>2 [2] =>3 [3] =>4 [4] =>5 [5] =>6 [6]=>7[7] =>8 [8] =>9 ) 。

本例比较有意思的是echo a的值。相信很多人认为是12345678910吧,其实不然,是1098765432。为什么呢?因为函数还没执行echo a前就进行了下一次的函数递归。

真正执行echo a是当a<10条件不满足的时候,echo a,返回result,对于上一层而言,执行完递归函数,开始执行本层的echo $a,依次类推。

第二种方法:利用全局变量

利用全局变量完成递归函数,请确保你确实理解什么是全局变量。global在函数内申明变量不过是外部变量的同名引用。变量的作用范围仍然在本函数范围内。改变这些变量的值,外部同名变量的值自然也改变了。但一旦用了&,同名变量不再是同名引用。利用全局变量实现递归函数没必要理解到这么深的一层,还保持原有对全局变量的看法就可以顺理成章理解递归函数。

代码如下:

function test($a=0,$result=array()){

global $result;

$a++;

if ($a<10) {

$result[]=$a;

test($a,$result);

}

return $result;

}

第三种方法:利用静态变量

我们常常在类中见到static,今天我们把它利用到递归函数中,

请记住static的作用:仅在第一次调用函数的时候对变量进行初始化,并且保留变量值。

举个栗子:

代码如下:

function test(){

static $count=0;

echo $count;

$count++;

}

test();

test();

test();

test();

test();

请问这一段代码的执行结果是多少?是00000么?必然不是。是01234。首先第一次调用test(),static对$count进行初始化,其后每一次执行完都会保留$count的值,不再进行初始化,相当于直接忽略了static $count=0; 这一句。

因而将static应用到递归函数作用可想而知。在将需要作为递归函数间作为“桥梁”的变量利用static进行初始化,每一次递归都会保留“桥梁变量”的值。

代码如下:

function test($a=0){

static $result=array();

$a++;

if ($a<10) {

$result[]=$a;

test($a);

}

return $result;

}

总结

所谓递归函数,重点是如何处理函数调用自身是如何保证所需要的结果得以在函数间合理“传递”,当然也有不需要函数之间传值得递归函数,例如:

代码如下:

function test($a=0){

$a++;

if ($a<10) {

echo $a;

test($a);

}

}

下面通过一段代码演示一下php使用递归函数实现数字累加的方法。

代码如下所示:

代码如下:

function summation ($count) {

if ($count != 0) :

return $count + summation($count-1);

endif;

}

$sum = summation(10);

print “Summation = $sum”;

?>

函数·指数函数与对数函数 第3篇

1. 已知[x,y]为正实数,则( )

A. [2lgx+lgy=2lgx+2lgy]

B. [2lg(x+y)=2lgx?2lgy]

C. [2lgx?lgy=2lgx+2lgy]

D. [2lg(xy)=2lgx?2lgy]

2. 已知一元二次不等式[f(x)<0]的解集为[x|x<-1或x>12],则[f(10x)>0]的解集为( )

A. [x|x<-1或x>lg2]

B. [x|-1

C. [x|x>-lg2]

D. [x|x<-lg2]

3. 函数[f(x)=ax+1(a>0,a≠1)]的值域为[[1,+∞)],则[f(-4)]与[f(1)]的关系是( )

A. [f(-4)>][f(1)] B. [f(-4)=][f(1)]

C. [f(-4)<][f(1)] D. 不能确定

4. 函数[f(x)=lg(|x|-1)]的大致图象是( )

[A B C D]

5. 设[a=log36,b=log510,c=log714],则( )

A. [c>b>a] B. [b>c>a]

C. [a>c>b] D. [a>b>c]

6. 已知函数[f(x)=lnx,0

A. [f(a)a

B. [f(a)a

C. [f(b)b

D. [f(c)c

7. 已知函数[f(x)=lg(ax-bx)+x]中,[a,b]满足[a>1>b>0],且[a=b+1],那么[f(x)>1]的解集为( )

A. [(0,1)] B. [(1,+∞)]

C. [(1,10)] D. [(10,+∞)]

8. 下列命题:①在区间[(0,+∞)]上,函数[y=x-1],[y=x12],[y=(x-1)2],[y=x3]中有三个是增函数;②若[logm32,]则方程[f(x)=12]有2个实数根.其中正确命题的个数为( )

A. 1 B. 2 C. 3 D. 4

9. 已知函数[f(x)=|lgx|,010.]若[a,b,c]互不相等,且[f(a)=f(b)=f(c),]则[abc]的取值范围是( )

A. [(1,10)] B. [(5,6)]

C. [(10,12)] D. [(20,24)]

10. 已知[log12(x+y+4)

A. [(-∞,10]] B. [(-∞,10)]

C. [[10,+∞)] D. [(10,+∞)]

二、填空题(每小题4分,共16分)

11. 对任意的非零实数[a,b],若[a?b=b-1a,a

12. 已知函数[f(x)=|2x-1|],[af(c)>f(b)],则下列结论中,一定成立的是 .

①[a<0],[b<0],[c<0] ②[a<0],[b≥0],[c>0] ③[2-a<2c] ④[2a+2c<2]

13. 函数[y=1log0.5(2x-1)+(4x-3)0]的定义域为 .

14. 设函数[f(x)=2x,x≤0,log2x,x>0,][f[f(-1)]=] .

三、解答题(共4小题,44分)

15. (10分)已知函数[f(x)=13ax2-4x+3].

(1)若[a=-1],求[f(x)]的单调区间;

(2)若[f(x)]有最大值3,求[a]的值.

16. (12分)已知函数[f(x)=loga(3-ax)].

(1)当[x∈[0,2]]时,函数[f(x)]恒有意义,求实数[a]的取值范围;

(2)是否存在这样的实数[a],使得函数[f(x)]在区间[[1,2]]上为减函数,并且最大值为1?如果存在,试求出[a]的值;如果不存在,请说明理由.

17. (10分)已知函数[f(x)=lgkx-1x-1(k∈R且][k>0)].

(1)求函数[f(x)]的定义域;

(2)若函数[f(x)]在[[10,+∞)]上是单调增函数,求[k]的取值范围.

18. (12分)已知函数[f(x)=lg(ax-bx)(a>1>b>0)].

(1)求[y=f(x)]的定义域;

(2)在函数[y=f(x)]的图象上是否存在不同的两点,使得过这两点的直线平行于[x]轴;

(3)当[a,b]满足什么条件时,[f(x)]在[(1,+∞)]上恒取正值.

数字函数 第4篇

关键词:n进制,数字倒数和函数,均值

1引言及结论

在文献[1]中美国数论专家F.Smarandache提出了初等数论及集合论中105个未解决的问题让大家研究, 其中第21个问题是“研究十进制中数字之和数列的性质”。文献[2,3]将这一问题一般化, 主要研究了n进制中数字之和函数及数字平方和、立方和函数的均值, 文献[4]主要研究数字之积函数的均值。本文在这些基础上, 通过推理论证给出了n进制中数字倒数和函数a (m, n) 的均值。为叙述方便, 我们引入如下定义:

定义 设n (n≥2) 为一给定的正整数, 对任一正整数m, 假定mn进制中表示为

m=a1nk1+a2nk2++asnks

其中1ain-1;i=1, 2, , s;k1>k2>>ks≥0。

a (m, n) =1a1+1a2++1as, 并令

A (N, n) =m<Νa (m, n) 。

为计算方便, 令φ (1n) =i=1n-11i, 在这一记号下, 我们有下列定理

定理1 设N=a1nk1+a2nk2++asnks

其中1ai<n;i=1, 2, , s;k1>k2>>ks≥0。

A (Ν, n) =i=1s (aiki01-e (1-n) t1-e-tdt+n01-e (1-ai) t1-e-tdt+nai01-e (1-i) t1-e-tdt) nki-1

特别当n=2时, 我们有如下推论。

推论 设N=2k1+2k2++2ks, 其中 k1>k2>>ks≥0。

A (N, n) =i=1s (ki2ki-1+ (i-1) 2ki) 。

2引理的证明

为了完成定理的证明, 我们需要引入下面三个引理, 首先有

引理1[5] 设rn, 则r=1n1r=01-e-nt1-e-tdt

引理2A (nk, n) =m<nka (m, n) =knk-1∫∞01-e (1-n) t1-e-tdt

证明A (nk, n) =m<nka (m, n) =m<nk-1a (m, n) +

nk-1m<2nk-1a (m, n) +2nk-1m<3nk-1a (m, n) ++

(n-1) nk-1mnka (m, n)

因为ink-1m< (i+1) nk-1a (m, n) =om<nk-1a (m+ink-1, n) =om<nk-1 (a (m, n) +1i) =

m<nk-1a (m, n) +1ink-1

由上式得

A (nk, n) =nA (nk-1, n) +nk-1φ (1n)

同理nA (nk-1, n) =n2A (nk-2, n) +nk-1φ (1n) ;

nk-2A (n2, n) =nk-1A (n, n) +nk-1φ (1n)

所以A (nk, n) =nk-1A (n, n) + (k-1) nk-1φ (1n)

又因为A (n, n) =1+12++1n-1=φ (1n)

由引理2得 A (nk, n) =knk-101-e (1-n) t1-e-tdt

于是完成了引理2的证明。

引理3A (bnk, n) =bknk-101-e (1-n) t1-e-tdt+nk∫∞01-e (1-b) t1-e-tdt, 其中b为自然数。

证明A (bnk, n) =m<bnka (m, n) =m<nka (m, n) +nkm<2nka (m, n) ++ (b-1) nkm<bnka (m, n) 。

因为inkm< (i+1) nka (m, n) =0m<nk (a (m, n) +1i) =

m<nka (m, n) +1ink=A (nk, n) +1ink

由上式和引理2得

A (bnk, n) =bA (nk, n) +nkφ (1b) =bknk-1φ (1n) +nkφ (1b)

所以 A (bnk, n) =bknk-1∫∞01-e (1-n) t1-e-tdt+nk∫∞01-e (1-b) t1-e-tdt

于是完成了引理3的证明。

3定理的证明

有了以上三个引理, 容易给定定理的证明, 事实上由引理3, 有

由引理3得

A (Ν, n) =i=1s (aikinki-1φ (1n) +nkiφ (1b) ) +

i=1sj=1i-11ajainki=i=1snki-1 (aikiφ (1n) +φ (1b) ) +i=1sj=1i-11ajainki=i=1s (aiki01-e (1-n) t1-e-tdt+n01-e (1-ai) t1-e-tdt+nai01-e (1-i) t1-e-tdt) nki-1

于是完成了定理的证明。

参考文献

[1]Smarandache F.Only problems, not solutions.Chicago:Xiqu Pub-lishing House, 1993:22—26

[2]杨倩丽, 李海龙.关于n进制中数字之和函数均值的计算.西北大学学报 (自然科学版) , 2002;32 (4) :361—366

[3]杨倩丽, 李海龙.关于n进制及其有关计数函数.纯粹数学与应用数学, 2002;3 (18) :13—15

[4]李海龙, 杨倩丽.n进制中非零数字之积函数的均值公式.数学的实践与认识, 2002;32 (4) :683—686

数字函数 第5篇

对一个时域信号进行有限时间片段的分析时, 如果对数字信号进行直接截短, 就会导致频谱泄露, 从而导致信号分析出现差错, 影响信号分析的精度, 以至难以满足应用要求[1,2,3]。 对此,国内外学者提出了一系列改进数字信号截短的方法。 文献[4-5] 研究了频谱泄露的原因以及加窗函数后频谱泄露的特性。 文献[6] 对海明窗(Hamming Window) 、 汉宁窗(Hanning Window) 在信号截短中的时谱特性进行比较分析。 文献[7] 分析矩形窗( Rectangular Window ) 、 海明窗、 汉宁窗和布莱克曼窗( Blackman Window ) 对截短时域和空域信号产生的影响。然而, 这些研究都局限在理论和仿真分析, 其对应的方案尚未结合FPGA硬件应用需要。

为了解决工业产品设计中的频谱泄露问题, 文中基于FPGA硬件系统,对集成矩形窗、海明窗、 汉宁窗和布莱克曼窗四个窗函数的系统进行优化设计,在频谱泄露特性、速度和硬件资源等方面对现有的设计方案进行了较大的优化,从而提高了系统的综合性能。

1 窗函数的设计

该方法的基本思路是:首先利用坐标旋转数字计算(CORDIC) 迭代方法产生余弦函数, 然后利用式(1) ~ 式(4)分别所表示矩形窗、 海明窗、 汉宁窗和布莱克曼窗函数实现基于FPGA的矩形窗、 海明窗、 汉宁窗和布莱克曼窗的信号截短方案。

由式(1)~式(4) 可见, 为了实现这些窗函数, 首先要解决余弦函数中相位的求解, 其次计算余弦函数, 最后完成加减运算。 其中,CORDIC迭代算法提供一种逼近的方法求得余弦值。

限制该算法中的旋转相位 θi, 使得tanθi= 2- i, 即 θi=tan- 12- i。 CORDIC迭代可用如式( 5 ) 所示的方程组表示:

其中,di=+1 ,zi≥0;di=-1 ,zi<0 , 用于确定旋转方向。 依据迭代公式,设计硬件结构,框图如图1 所示。

在圆周旋转模式中,i取值越大输出精度越高,令i=n时能满足设计要求, 那么经过n次迭代后:

通过设置x0= K总和y0= 0 就可以计算xn= cosz0和yn=sinz0了,其中,z0为输入相位, K总= cosθ0× cosθ1× … × cosθn。

2 窗函数的优化

2 . 1 CORDIC迭代参数优化

CORDIC是系统的核心模块, 由式( 6 ) 可知这是一个迭代的过程, 为了使CORDIC算法模块能够辨认并计算本设计的最小刻度相位,同时考虑节省迭代对应的资源开销,最后一次迭代所对应的旋转相位只要满足小于该最小刻度相位即可。 约定文中设计的系统采样点数是256 点至16 M点之间任意可选, 当信号长度N为16 M点时,可获得本设计的最小刻度相位0.000 021 458°。 经过式(6) 的计算可得, 在i=22 时, 即第22 次迭代所对应的旋转相位0.000 013 660° 小于最小刻度相位, 故将文中方案迭代次数确定为23。

为了将最小刻度相位能够用二进制进行较精确地表示, 由相位因子可知二进制位宽应至少为25位。 而CORDIC算法模块的相位输入范围为0~π/2, 且输入相位是有符号数。 在保证精度的情况下从节省资源的角度出发,CORDIC算法模块将相位位宽确定为24位,输出余弦值的位宽也定为24 位。

2 . 2 窗函数的结构优化

进一步分析式(1)~式(4) 四个窗函数的表达式, 发现这些表达式具有相同的结构,因此可以将它们合并为一条通用的表达式,如式(7)所示:

不同窗函数对应不同的窗系数A、B、C,各窗函数对应的具体系数由式(1)~式(4) 可以得出, 在设计时, 这些窗系数可由一个两位二进制变量的值来确定。

由于在任一时刻只有一个窗函数在工作。 此特点满足了资源共享的条件,因此可以对方案所需的资源进行共享优化,4 种窗函数使用相同的CORDIC和乘法器,图2(a)和图2(b)分别为优化前和优化后的电路结构。

从图中可以看出, 优化后的结构可以大大减少FPGA内部的硬件消耗。

表1 为设计优化前后在FPGA器件中布局布线所消耗的资源情况,可见优化后设计所消耗的各类资源比优化前减少了20%~51%。

2 . 3 速度的优化设计

整个设计采取了恰当的流水线技术对速度进行优化, 其基本思路是: 在组合逻辑较长的路径上插入几级寄存器,从而大大提高了数据的吞吐量。 经过增加流水线级数的方法, 时钟周期比流水线设计前小, 从而提高运行速度。 图3 为迭代过程流水线设计之前和之后的模块图。

对于图3(a)所示的优化前的方案,仅能通过30 MHz的时序约束。 假设系统运行于30 MHz的频率下, 数据从进入系统到输出结果需要19 个时钟周期,即633 ns。 而对于图3(b)所示优化后方案,进行流水线设计之后可以通过360 MHz的时序约束,数据从进入系统到输出结果需要42 个时钟周期, 即117 ns。 很明显, 经过流水线设计后,系统的运行速度大大提高。 此外,流水线设计使系统每个时钟处理一个数据,不用等到一个数据完全输出才进行下一个数据的处理。

3 窗函数对抑制频谱泄漏方案的实现和分析

3 . 1 系统整体实现

文中窗函数采用点数可调, 令信号是长度256 点到16 M点动态可调的窗函数控制器, 即需要根据不同的信号长度为系统提供相应的相位因子。 图4 所示为窗函数计算过程的流程图, 相位生成器根据FPGA中的主控器Micro Blase传来的相位因子和信号长度两个参数产生相应时刻的相位, 然后CORDIC模块根据该相位计算相应的余弦值,接着根据当前窗函数类型选择相应的窗系数并完成窗函数计算,最后利用窗函数结果对输入信号进行加窗处理。

3 . 2 整体仿真效果和分析

为了分析文中方案对频谱泄露的特性, 对文中的窗函数法采样数据的频谱特性进行实验和分析。 首先对实验信号y(t)=40×[sin(40πt)+sin(120πt)]进行采样, 采样频率为1 000 Hz, 采用点数共1 571 点,modelsim仿真软件通过读取该文件数据对文中所设计的系统进行仿真并将仿真结果保存在文本文件中, 采用仿真进行频谱分析,结果如图5 所示。

分析矩形窗、 海明窗、 汉宁窗和布莱克曼窗的4 种情况中旁瓣衰减,它们的第一旁瓣相对于主瓣衰减和主瓣宽度如表2 所示。

由频谱图可以看出,对信号加矩形窗(图5(a))处理,有明显的频谱泄露; 而对信号加海明窗( 图5 (b))、 汉宁窗( 图5(c)) 或布莱克曼窗( 图5(d)) 处理后, 则频谱泄露明显减小。 海明窗、汉宁窗和布莱克曼窗主瓣加宽,旁瓣则显著减小。 从减小泄漏观点出发,汉宁窗优于矩形窗,布莱克曼窗最好, 但主瓣加宽, 相当于频率分辨力有所下降。 相对而言海明窗加权的系数能使主瓣宽度更小。布莱克曼窗主瓣较宽,旁瓣衰减达到-59.3,频谱泄露最小,幅值识别精度最高,但频率识别精度最低。 可见,基于FPGA的窗函数截短, 相对于直接截短的方式, 采用文中窗函数处理方案,信号的频谱泄露特性得到较好改善。

4 结论

文中所提出的方案对矩形窗、 海明窗、 汉宁窗和布莱克曼窗进行了算法设计和方案优化。 为了优化方案中的资源消耗和提高精度, 采用了资源共享技术、 选择合理的数据位宽以及为CORDIC模块选择合适的迭代次数;为了优化设计的速度,采用了流水线技术,从而较大提高处理的速度。 最后,利用工具软件modelsim对系统进行了仿真,验证了算法对应的系统功能的正确性以及分析了系统的优化性能。

摘要:对数字信号进行有限点数的截短采样时,通常会发生频谱泄露。提出一种基于FPGA的矩形窗、海明窗、汉宁窗和布莱克曼窗四个窗函数的改进型信号截短算法方案,并对其资源消耗和运行速度进行优化,从而提高频谱泄露的性能。为了减少系统资源消耗和提高精度,采用了资源共享技术、选择合理的数据位宽以及为CORDIC模块选择合适的迭代次数;为了优化速度,采用了恰当的流水线技术,从而较大提高了处理速度。仿真表明,优化后的系统逻辑资源减少20%~51%,时序约束达到360 MHz,其中的布莱克曼窗对第一级旁瓣衰减达到59.3 d B。

数字函数 第6篇

数字签名技术是实现网络身份认证、数据完整性保护和非否认服务的基础,是电子商务、电子政务等的重要工具,是密码学的研究热点之一。数字签名方案在使用过程中要经过签名和加密两个阶段。数字签密由Zheng[1]提出,数字签密能够在一个合理的逻辑步骤内同时完成数字签名和公钥加密功能,且计算量和通信成本要低于传统的先签名后加密,是实现既保密又认证的传输消息较为理想的方法[2]。该类方案有两个研究方向:一是使用Hash或冗余函数的数字签密方案,有L-Q方案[3]、Zheng方案[1]、Lee方案[2]、李艳平方案[4]、喻琇瑛方案[5]、戚明平方案[6]等。Hash函数主要算法有MD5和SHA-1,Wang等[7,8,9]先后提出了MD5和SHA-1算法的杂凑碰撞,使得使用了Hash函数MD5和SHA-1的相关密码算法不再安全。关于使用Hash函数和冗余函数带来的威胁亦可见文献[10,11],故第二类研究方向是设计不使用Hash或冗余函数的数字签密方案。Lee和Chang[12]、Chen[13]对该类签名方案进行了一些研究;2006年,张串绒等[14]提出了一个该类签密方案;2010年,柏骏等[15]指出张串绒方案不具有前向安全性和公开验证性,给出了两个改进方案;2010年于永等[16]给出了一个新的该类签密方案;2011年,李方伟等[17]指出张串绒方案可被伪造签密攻击,给出了两种攻击方法。本文进一步给出了改进的方案。本文将证明,柏骏两个方案、于永方案均可被伪造签密攻击。李方伟方案无前向安全性,即已有的该类方案安全性均有问题。本文进一步给出了一个新的方案,进行了安全性分析和效率分析。

1 柏骏数字签密方案

1.1 柏骏方案1

(1)参数

设p是一个大素数,q是p-1的大素因子,选取q阶生成元g∈Zp*,(Ek,Dk)是安全的对称加解密算法对,xa和是发送者Alice的私钥和公钥,xb和是接收者Bob的私钥和公钥。待签密消息m∈Zp*。

(2)签密

Alice选取一个随机数k∈Z*p,计算K=(ybkmod p)mod q,r=mg-Kmod p,c=EK(m),s=(k-xa)r-1mod q,S=gsmod p,Alice将签密对(c,r,S)发送给Bob。

(3)解签密

Bob收到密文对(c,r,S)后,计算,解密m=DK(c),验证r=mg-Kmod p⇔Bob接受m为Alice所发的明文信息,否则拒绝接受。

1.2 柏骏方案2

参数选取与柏骏方案1相同。

(1)签密

Alice选取一个随机数k∈Z*p,计算,Alice将签密对(c,r,s)发送给Bob。

(2)解签密

Bob收到密文对(c,r,s)后,计算,解密,验证接受m为Alice所发的明文信息,否则拒绝接受。

2 对柏骏方案的攻击分析

柏骏的两个方案均可被接收者伪造攻击。

2.1 对柏骏方案1的伪造签名攻击

(1)攻击1

Bob收到Alice的一个有效签密(c,r,S)后,任取α∈Zp*,取

。则(c',r',S')是Alice对m'的有效签密。该签密的有效性证明如下:

验证方程r'=m'g-K'mod p成立,故Alice不能否认(c',r',S')为m'的有效签密。

(2)攻击2

Bob收到Alice的一个有效签密(c,r,S)后,任取β∈Zp*,取。则(c',r',S')是Alice对m'的有效签密。该签密的有效性证明如下:

解密m'=DK'(c')=rgK'mod p,计算m'g-K'mod p=rgK'g-K'mod p=r=r',验证方程r'=m'g-K'mod p成立,所以(c',r',S')是Alice对m'的有效签密。

2.2 对柏骏方案2的伪造签名攻击

(1)攻击1

Bob收到Alice的一个有效签密(c,r,s)后,任取α∈Zp*,取

。则(c',r',s')为Alice对m'的有效签密。该签密的有效性证明如下:

验证方程成立,故Alice不能否认(c',r',s')为m'的有效签密。

(2)攻击2

Bob收到Alice的一个有效签密(c,r,s)后,任取β∈Zp*,取

,则(c',r',s')为Alice对m'的有效签密。该签密的有效性证明如下:

所以验证方程成立,故Alice不能否认(c',r',s')为m'的有效签密。

3 于永数字签密方案

参数同柏骏方案中参数。

(1)签密

Alice选取一个随机数k∈Z*p,计算

,Alice将签密对(c,R,s)发送给Bob。

(2)解签密

Bob收到签密后,计算,然后解密消息m=DK(c)。

Bob验证过程:首先计算,然后验证R=grmod p是否成立,若成立则接受签密,否则拒绝接受。

4 对于永方案的伪造签密攻击分析

于永方案可被接收者进行两种伪造签名攻击,攻击方法分别如下:

(1)攻击1

Bob收到Alice的一个有效签密(c,R,s)后,解密得m,任取α∈Zp*,取

。则(c',R',s')是Alice对m'的有效签密。该签密的有效性证明如下:

解密

验证方程R'=gr'mod p成立,所以(c',R',s')是Alice对m'的有效签密。

(2)攻击2

Bob收到Alice的一个有效签密(c,R,s)后,计算,解密消息m=DK(c),计算r=m(yaR)smod p。

任取β∈Z*p,取s'=βs mod q,R'=R,m'=r(yaR)-βsmod p,K'=(Kβmod p)mod q,c'=EK'(m')。则(c',R',s')是Alice对m'的有效签密。该签密的有效性证明如下:

验证方程R'=R=grmod p=gr'mod p成立,所以(c',R',s')是Alice对m'的有效签密。

5 李方伟数字签密方案

参数同柏骏方案中参数,方案如下:

(1)签密

Alice选取一个随机数k∈Z*p,计算K=(ybkmod p)mod q,r=(gm+kmod p)mod q,c=EK(m),s=k(r+xa)-1mod q,Alice将签密对(c,r,s)发送给Bob。

(2)解签密

Bob收到密文对(c,r,s)后,计算,解密m=DK(c),验证r=(gm(grya)smod p)mod q⇔Bob接受m为Alice所发的明文信息,否则拒绝接受。

6 对李方伟方案的攻击分析

6.1 前向安全性分析

解签密过程中,参数:

故如果Alice的私钥xa泄露,任意第三者截取到Alice发出的有效签密(c,r,s)后,都可以求出K,进而可解密求出消息明文m=DK(c)。故李方伟方案无前向安全性。

6.2 公开验证消息机密性分析

由验证方程r=(gm(grya)smod p)mod q,第三方公开验证时,需提供消息明文m,故第三方公开验证时无消息机密性。

7 新的签密方案

由前文所述,张串绒方案、柏骏方案、于永方案均可被伪造签名攻击,李方伟方案无前向安全性和公开验证消息机密性。已有方案的安全性均有问题,因此,寻找没有上述缺点的安全的数字签密方案具有重要的意义。本文给出一个签密方案,满足上述安全性要求,方案增加了一个签名者私钥以增加安全性。

7.1 签密方案

(1)参数

设p是一个大素数,q是p-1的大素因子,选取q阶生成元g∈Zp*,(Ek,Dk)是安全的对称加解密算法对,Alice选取双私钥xa1,xa2∈Zp,公钥为

。Bob选取私钥xb∈Zp,公钥为。待签密消息m∈Zp*。

(2)签密

Alice选取两个随机数t1,t2∈Zp,计算

最后Alice将签密消息对(c,K1,r,s1,s2)发送给Bob。

(3)解签密

Bob收到签密后,验证,若成立则接受签密。计算,恢复消息明文

(4)正确性证明

方案正确性证明如下:

说明该方案的验证过程是正确的。

7.2 安全性分析

7.2.1 伪造性分析

由签密方程:

Bob收到签密后,可知道签密方程中参数s1、s2、c、m,但参数t1、t2、xa1、xa2仍未知,两个方程有四个未知量,故包括Bob在内的任何人都无法求出私钥xa1、xa2。签密过程需要Alice的私钥xa1、xa2参与,故包括Bob在内的任何人都无法伪造消息m的签密。

7.2.2 前向安全性分析

即使签名者Alice私钥xa1、xa2泄露,除Bob外的任何人都不能从签密中恢复消息m。由消息恢复方程m=EK2(c)恢复消息需要解密密钥K2,而K2由两种方法得出:一是攻击者知道两个随机数t1、t2,从而可求出;二是攻击者知道Bob的私钥xb,从而可求出。攻击者无法获得K2,故除Bob外任何人无法解密获得消息明文m,方案具有前向安全性。

7.2.3 公开验证性分析

由于验证中不需要Bob的私钥,所以第三方可公开验证,签名者Alice不能否认。同时公开验证时不需要提供消息明文m,故公开验证时具有消息机密性。

7.2.4 防接收者伪造签名攻击分析

对于柏骏方案和于永方案的攻击之所以能够成功,原因是柏骏方案和于永方案中的加密密文c没有参与其他两个参数的运算。故Bob可以伪造r'(或R')和s'(或S')并计算出秘密密钥K',然后再从验证方程中计算出m'(或c'),用密钥K'加密得密文c'(或计算出c'并用密钥K'解密得明文m'),即得到伪造签名。

本文方案中明文m参与了r、s1、s2的计算,若接收者采取相似的方法进行伪造签名攻击,由验证方程,求解密文c'需要求解离散对数问题(ya1ya2)c'-cmod p=α+1,故本文方案接收者无法伪造签名攻击。

7.3 效率分析

对该类方案最新的研究是李方伟方案[17],李方伟方案可防伪造签名,如果不考虑前向安全,还是属于比较安全的方案。将本文方案与李方伟方案进行复杂度比较,结果见表1所示。

李方伟方案复杂度为7次模指数1次模逆,本文方案复杂度为6次模指数0次模逆,点积相对于模指数和模逆运算量较少,可忽略不计,故本文方案复杂度更低。同时本文方案还具有李方伟方案没有的前向安全性和公开验证消息机密性,但本文方案签密长度有所增加。

8 结语

与先签名后加密相比,签密的最大优势在于减少了计算量和通信量,适合大量数据的认证传递[1,2]。本文指出了目前已有的几个无Hash或冗余函数数字签密方案均有不足,给出了新的无Hash或冗余函数的签密方案。签名者使用双密钥,安全度更高,具有前向安全性和公开验证性,接收者无法伪造签名攻击,且运算复杂度比已有方案都低。

摘要:对不使用Hash或冗余函数的数字签密方案进行分析,指出柏骏方案和于永方案均可被消息接收者伪造签名攻击,给出两种攻击方案,指出李方伟方案无前向安全和公开验证消息机密性。提出一个新的无Hash或冗余函数的数字签密方案,方案具有前向安全性和公开验证消息机密性,并进行了正确性和安全性分析。接收者无法进行伪造签名攻击,与已有方案比较,降低了算法复杂度。

数字函数 第7篇

关键词:数字信号处理,有限单位冲击响应,DSP,FIR

0 引言

有限单位冲击响应(Finite Impulse Response,简称FIR)滤波器的实现,是以微处理器和半导体元器件为核心,横跨多学科领域,并广泛应用于控制领域,FIR滤波器具有幅度特性可随意设计、线性相位特性可严格精确保证等优点,因此在要求相位线性信道的现代电子系统,如图像处理、数据传输等波形传递系统中,具有很大吸引力。本课题为基于DSP窗函数法实现的FIR数字滤波器,其中涉及到DSP和FIR这两个专有名词。其中DSP为Digital Signal Processor(数字信号微处理器)的简写,发展至今其以功能强大、高速度、可编程、低功耗著称,其中最著名DSP生产商为美国德州仪器(TI)公司。

1 数字滤波器的功能

一个数字滤波器可以用系数函数表示为

直接由此式可得出表示输入输出关系的常系数线性差分方程为

数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列。可以用以下两种方法来实现数字滤波器:一种方法是把滤波器所要完成的运算编成程序并让计算机执行,也就是采用计算机软件来实现;另一种方法是设计专用的数字硬件、专用的数字信号处理器或采用通用的数字信号处理器来实现。

2 有限单位冲激响应(FIR)数字滤波器基本网络结构

有限单位冲激响应滤波器有以下几个特点;

1)系统的单位冲激响应h(n)在有限个n值处不为零;

2)系统函数H(z)在|z|>0处收敛,在|z|<0处只有零点,有限z平面只有零点.

3)全部极点都在z=0处(因果系统);

设FIR滤波器的单位冲激响应h(n)为一个N点序列,0nN一1,则滤波器的系统函数为

就是说,它有(N一1)阶极点在z=0处,有(N一1)个零点位于有限z平面的任何位置。

FIR滤波器的线性相位是非常重要的,因为数据传输以及图像处理都要求系统具有线性相位,而FIR滤波器由于它的冲激响应是有限长的,因而有可能做成严格线性相位的。

3 有限长单位冲激响应(F1R)数字滤波器的窗函数设计方法

FIR滤波器的单位冲激响应h(n)是有限长的(0nN-1),其z变换为

这是z-1的(N-1)阶多项式,在有限z平面(o<|z|<∞=有(N-1)个零点,而位于z平面原点z=0处,则有(N-1)阶极点。

一般是先给所要求的理想的滤波器频率响应Hd(ejω),要求设计一个FIR滤波器频率响应。但是设计是在时域进行的,因而先由Hd(ejω)的傅里叶反变换导出hd(n),即

因而窗函数序列的形状及长度的选择就很关键。当截取长度N增加时,只会减小过渡带宽4π/N,而不会改变肩峰的相对值。例如在矩形窗情况下,最大相对肩峰值为8.95%,N增加时,2π/N减小,故起伏振荡变密,最大肩峰则总是8.95%,这种现象称为吉布斯(Gibbs)效应。

窗函数法的优点是简单,有闭合形式的公式可循,因而很实用。其缺点是通带、阻带的截止频率不易控制。

4 窗函数法的设计步骤以及系统硬件电路设计和软件电路设计

1)首先是给定所要求的频率响应函数Hd(ejω);

2)其次,求hd(n)=IDTFT[Hd(ejω)]

3)再次,由过渡带宽及阻带最小衰减的要求,选定窗ω(n)的形状及N的大小,

图1为FIR滤波器DSP实现的电路方框图,其核心部分为TI公司生产的DSP芯片TMS320C203,EP2ROM和RAM是其外围电路。DSP送给A/D抽样时钟,对输入的模拟信号抽样,即将模拟信号转换成数字信号,对抽样值进行卷积运算(FIR数字滤波),最后将运算结果送至D/A,转换成模拟信号进行输出。

图2为程序流程图,说明如下:

5 用窗函数法设计FIR数字滤波器的部分实用程序

6 结论

本课题研究意义在于FIR滤波器具有严格的线性相位,且是可物理实现的因果系统,因此被广泛地应用在现代通信技术当中,如解调器中的位同步与位定时提取、自适应均衡去码间串扰以及话音的自适应编码等。可见对基于DSP实现FIR滤波器的研究是具有非常重要的现实意义的。

参考文献

[1]DSP系统构成技术的进展.专家论坛,2002(8).

[2]TI公司.TLC320AD50C/I DATA MANUAL.2000.

[3]TI公司.TMS320C203 DSP CPU AND PERIPHERALS.2001.

[4]李刚.数字信号微处理器的原理及其应用.天津大学出版社,2000.

数字函数 第8篇

关键词:数字图像处理,数学模型,形象化教学

一、引言

“数字图像处理”是高等院校信息类专业的重要专业课程,也是与计算机视觉、模式识别、认知计算等研究相关的热门学科。该课程希望通过对数字图像处理基本理论的学习,建立学生对数字图像处理学科的有效认知与兴趣,通过实验课强化数字图像处理的编程能力,为学生未来就业从事图像相关领域的工作奠定基础。数字图像处理课程涉及范围广,难度大,要求学生具有良好的数学和信号处理等相关知识的基础,并且掌握一种编程语言[1,2]。同时,随着近几年计算机视觉的发展,图像处理的新方法新思路更新迅速,如何更好地开展该课程教学,如何让学生理解数字图像处理并自主研究相关领域知识一直是专业课教师思考的问题。

二、课程特点及教学现状

“数字图像处理”课程是一门理论与实践并重的课程,所涉及到的内容很丰富,课程中涉及的每个章节或每种算法都可以作为一个研究内容;该课程涉及计算机技术、数学物理、通信技术等知识,要求学生在前期学习中具有较好的相关知识基础。

传统“数字图像处理”课程的教学存在以下问题:(1)开课时间过晚,高年级学生对课程了解少,缺乏兴趣,并且对该课程不够重视。(2)以往经验认为该课程注重实践,因此加大了实验课教学环节,增加实验课实践,虽然学生得到一定程度提高,但总体学习还不够理想[3]。

根据对学生的调查,部分学生认为课程晦涩难理解,老师讲解的数学模型枯燥,不知道图像处理中理论知识部分的作用,希望能够更直接或者更实例化地讲授该门课程。而讲授课程的教师也很为难,该课程与数学理论知识紧密相连,没有这些理论知识,很难真正理解该课程精髓,如果改成完全实例化教学,那可能与本科教学的目的不相符,只有更深入地了解课程中数学模型才可以更有效地利用,因此,仅仅以工程化举例是不够的。根据这一问题,我们采用数学模型形象化,图像处理实例特殊化,实践课程兴趣化的教学模型。让学生更有效地理解数学模型的同时,可以更有效地运用图像处理方[4]。

三、改革的教学内容

1.形象形象化数学模型讲授方法

学生们普遍反映数学模型晦涩,公式复杂很难理解。如小波变换,傅里叶变换,Gabor变换等都是数字图像处理课程中重要的内容,也是课程的难点,这些数学变换模型复杂,学生不易理解。我们将复杂的数学变换公式转化为数学模型,以形象化的方法将数学公式展示给学生。比如:在讲解Gabor变换时,Gabor变换实质上是傅里叶变换的加窗函数,Gabor变化的定义式如下。

单从公式角度看,公式中参数多且难于理解,我们可以用图形化方式向学生解释什么是傅里叶变化的加窗函数。假设傅里叶函数如图1所示。

现在只想得到f(t)函数在区间[a.b]的部分,因此可以引入窗口(如图2)。有了傅里叶函数f(t)和窗口函数f(t),那么加窗的傅里叶函数就是两个函数的乘积,表示为G(x)=x1(t)f(t),其形象化的数学表达形式如图3所示。

其中,虚线框内得到的函数就是所说的傅里叶加窗函数,这样再把窗口函数x1(t)换为高斯函数,就是我们通常所说的Gabor函数。这样讲解,学生在了解傅里叶变换和高斯变换的前提下,形象化地理解了Gabor变换。但是仅仅了解数学函数基本图像还不够,我们还要进一步让学生理解函数。

2.多参函数变换的形象化教学

函数中必定存在着数学参数,而参数调节会对函数变化产生影响,因此,讲解参数对函数变换的影响,可以进一步加深对函数的理解,同样,利用2D-Gabor函数举例。函数2D-Gabor的数学表达形式如下。

公式中参数较多,形式复杂,主要参数包括σx和σy,分别表示函数在x轴和y轴方向上的标准差,ω0表示空间频率。这样的讲解较为晦涩。我们利用形象化的数学图像解释该函数与参数间的关系。

对于二维Gabor,参数变化引起图像形状的变化,不同参数的二维Gabor,在进行图像特征提取时也会产生不同效果,针对该函数,通过调节某一参数,观察二维Gabor图像,以及特征提取结果的变化情况。二维Gabor核函数如下。

其中,。观察二维Gabor的核函数,该函数中每个参数对图像响应不同。参数λ代表二维Gabor的波长。

如图4所示,图像中是波长分别为λ=5,λ=10的二维Gabor图像,其他参数的值如下:方向0,相位偏移0,长宽比0.5。

除此以外,还有方向参数θ,相位参数φ,形状参数γ,都采用通过调节参数,观察数学函数相应的变化,最终对数学函数有一个较为深入的理解。

3.特殊实例的展示

本研究根据函数特点,选取特殊实例,实例可以选取极限状态下的数字图像,以突显函数的作用,我们仍用二维Gabor函数为例,选取图5中(a)等边的八边形进行实验,此实例可以对检验二维Gabor对于纹理方向的敏感性(如图5)。

图5中(a)图为实验用的等边8边形,以下使用相同波长参数λ=8,不同方向的二维Gabor对图5中(a)进行特征提取,从图(b),(c),(d)和(e)中可以看出二维Gabor对纹理方向的响应敏感,图5中(f)为θ=0°,θ=45°,θ=90°和θ=135°的四方向滤波图像结果,可以看出基本上提取了六边形的纹理,但是相对特征显得有些粗糙;图5中(g)是波长为λ=4,方向θ=0°,θ=30°,θ=60°,θ=90°,θ=120°和θ=150°的6方向滤波特征提取结果。可以看出六边形六方向滤波处理结果要比四方向效果要细致一些。

以此种方法,给予学生特殊实例图像,启发学生进一步思考:在调节相位参数φ后数字图像处理效果会有什么变化,并作为实验课内容让学生完成,以更有效地让学生 理解数学 模型中参 数变化对 图像处理 的影响。以上通过形象化的数学图像解释数学函数,通过参数调节进一步形象化理解函数本身,在选取特殊实例进一步说明数学函数的具体功能和函数对图像变换产生的作用。这样学生可以更深入理解数学函数。

4.相似数学模型的学习延伸性

在经过一轮详细讲解数学函数方法后,我们可以将此方法延伸到其他近似函数,如小波变换,K-L变换等。在学习数字图像处理课程中关于数学函数的课程时,学生要知道这样的学习思路:把复杂数学函数转化为数学图像,通过对参数调节理解数学函数,再例举特殊实例了解数学变化在数字图像处理过程中的功能作用。学生在了解此学习方法后,老师采取启发驱动式的思想,让学生主动学习。

5.以兴趣和学校特点为导向教学和实践方法

形象化的数学模型讲解大大改善了数字图像处理课程,但是兴趣往往是学生重要的老师,因此我们在教学过程中注重兴趣培养[5]。

(1)通过前沿性的图像处理技术提高学生兴趣。数字图像处理是一门前沿科学,教材课程重点介绍常用算法,使学生掌握数字图像处理原理。再结合国内外多种教材,精选本学科相关的中英文期刊,本区域特色相关的科研热点项目等其他资料构建科学合理的教学内容和课程体系。教师将自己在科研中获得的新理论、新技术、新方法、新成果及时引入到教学中,不断充实和修正教学内容。通过一些发展中的、前沿性的算法着重介绍其思路和原理,教导学生注重思维培养而非局限于具体算法,培养学生的学习能力和创新思维。

(2)选取有效的实验课内容:数字图像的实用性很强,让学生利用数字图像处理方法解决一些与生活上相关的问题,例如:对植物叶子上的叶脉特征提取,多幅图像拼接技术等来提高学生主动学习的积极性。同时,还要考虑学校科研大环境,吉林农业大学作为一个以农业为主的大学,在信息科学上也要结合农业,将数字图像处理课程设计有效结合于农业科学,以农业为导向,完成数字图像处理综合应用。

四、结束语

数字图像处理课程一直存在学生感觉难、听课兴趣不足,教师感觉累、教课不积极的问题。通过对数字图像处理课程进行形象化教学方法,以贴近生活的实例为内容,通过前瞻性的科学知识吸引学生,并结合学校科研环境,有导向地设计课程实验。促进科研的同时,更主要的是可以有效地提高学生对课程知识的掌握,促进学生对学习知识的综合应用,使学生具有更好的创新能力。

参考文献

[1]张书真,宋海龙.专题化教学模式在《数字图像处理》课程中的实践[J].现代计算机,2011,(01):54-56.

[2]李飞鹏,胡云峰.《数字图像处理》实践教学改革与效果分析[J].中国科技信息,2010,(20):258-259.

[3]贾永红.数字图像处理课程的建设与教学改革[D].武汉:武汉大学,2007.

[4]饶俊慧.数字图像处理课程教学改革探索[J].中国科教创新导刊,2012,(10):22-23.

数字函数范文

数字函数范文(精选8篇)数字函数 第1篇在“2009年4月工资发放表”工作簿中建立工作表“金额数字大写转换表”,如图所示:根据财政部制定的...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部