发明名称 非二次方模数的运算方法及其装置
摘要 一种利用同余定理来实现非二次方模数的运算方法及装置,适用于一资料处理装置中,例如无线通讯中展频系统的跳频机制,以加快除法运算。本发明之运算方法先找出大于模数 N之最小二的整数次方作为除数Y,再根据除数Y将运算值S利用位元移位,得到商数Q及余数B,其关系式可表示成 S=Y*Q+B。将除数Y中的模数项消除后(Y-N),与商数Q相乘,再与余数B相加得到新运算值S’,此新运算值S’将模数N的商数倍数扣除,达到缩小所需运算之数目之目的。最后重复上述的运算处理以得到运算值S除以模数N的余数。
申请公布号 TWI233029 申请公布日期 2005.05.21
申请号 TW092137639 申请日期 2003.12.31
申请人 财团法人工业技术研究院 发明人 温志宏;曾宏儒;纪秋棉;高炳文
分类号 G06F17/10 主分类号 G06F17/10
代理机构 代理人
主权项 1.一种非二次方模数的运算方法,适用于一资料处理装置,以加快对一第一値S1进行模数値为N之运算处理,包括:将该第一値S1、该模数値N、及相关数値,转换为以二进位制表示;得出一大于该模数値N之最小二的整数次方値Y=2k作为一除数Y;提供一除法单元利用位元移位之运算方式,将该第一値S1除以该除数Y,以得出一第一商数Q1及一第一余数B1;将该除数Y中消除该模数N而得出一辅助値A=Y-N;一合成步骤,将该第一滴数Q1乘以该辅助値A后再加上该第一余数B1,用以得出一第二値S2;将上述第二値S2转换为以二进位表示,并提供给上述除法单元进行将该第二値S2除以该除数Y之动作,而得一第二商数Q2及一第二余数B2;以及判断该第二商数Q2是否为0;如果不为0,将该第二商数Q2及该第二余数B2取代该第一商数Q1及该第一余数B1,重复上述合成步骤,以重新得出该第二商数Q2及第二余数B2以进行判断;如果该第二商数Q2为0且该第二余数B2大于该模数N时,将该第二余数B2减去该模数N而作为上述非二次方模数运算之余数。2.如申请专利范围第1项所述之非二次方模数的运算方法,更包括将运算得到的各商数储存并累加,作为上述非二次方模数运算之运算结果。3.如申请专利范围第1项所述之非二次方模数的运算方法,其中该第一値S1及该第二値在上述除法单元中位元移位的数目为除数Y以二进位代表的位数k。4.如申请专利范围第1项所述之非二次方模数的运算方法,其中该运算方法系利用一软体组合语言在一数位讯号处理器(Digital Signal Processor;DSP)中实现的。5.如申请专利范围第1项所述之非二次方模数的运算方法,其中该运算方法系利用一硬体在场规划可程式闸阵列(Field Programmable Gate Array;FPGA)实现的。6.如申请专利范围第1项所述之非二次方模数的运算方法,其中该资料处理装置为一无线通讯系统中的一跳频(Frequency Hopping)机制。7.如申请专利范围第6项所述之非二次方模数的运算方法,其中该无线通讯系统为一蓝芽设频测试系统,该蓝芽设频测试系统利用上述非二次方模数的运算方式,产生该跳频机制所需之序列。8.一种非二次方模数的运算装置,用以加快对一第一値S1进行模数値为N之运算处理,包括:一转换单元,用以将该第一値S1、该模数値N、及相关数値,转换为以二进位制表示;一除数变换单元,用以得出一大于该模数値N之最小二的整数次方値Y=2k作为一除数Y;一除法单元,利用位元移位之运算方式,将该第一値S1除以该除数Y,以得出一第一商数Q1及一第一余数B1;一合成单元,将该除数Y中消除该模数N而得出一辅助値A=Y-N,并将该第一商数Q1乘以该辅助値A后再加上该第一余数B1,用以得出一第二値S2输出给上述除法单元;其中该第二値S2更由该转换单元转换为以二进位表示,该除法单元接收该第二値S2,即进行除以该除数Y之动作而得一第二商数Q2及一第二余数B2;以及一判断单元,当判断该第二商数Q2不为0时,则将该第二商数Q2及该第二余数B2输出至该合成单元,取代该第一商数Q1及该第一余数B1,以重新得出该第二商数Q2及第二余数B2供该判断单元处理;当判断该第二商数Q2为0且该第二余数B2大于该模数N时,将该第二余数B2减去该模数N而作为上述非二次方模数运算之余数。9.如申请专利范围第8项所述之非二次方模数的运算装置,更包括一累加单元以储存一运算结果,每当运算得到一商数(Q1或Q2)时,将该商数加上该运算结果,并重写回该累加单元代替原本的运算结果,当该判断单元判断该第二商数Q2为0且该第二余数B2大于该模数N时,将该运算结果输出为上述非二次方模数运算之运算结果。10.如申请专利范围第8项所述之非二次方模数的运算装置,其中该除法单元中,该第一値S1及该第二値位元移位的数目为除数Y以二进位代表的位数k。11.如申请专利范围第8项所述之非二次方模数的运算装置,其中该运算装置利用一软体组合语言在一数位讯号处理器(Digital Signal Processor;DSP)中实现。12.如申请专利范围第8项所述之非二次方模数的运算装置,其中该运算装置利用一硬体在场规划可程式闸阵列(Field Programmable Gate Array;FPGA)实现。13.如申请专利范围第8项所述之非二次方模数的运算装置,其中该运算装置系用在一无线通讯系统中的一跳频(Frequency Hopping)机制中。14.如申请专利范围第13项所述之非二次方模数的运算装置,其中该无线通讯系统为一蓝芽射频测试系统,该蓝芽射频测试系统利用上述非二次方模数的运算装置,产生该跳频机制所需之序列。图式简单说明:第1图显示蓝芽无线通讯系统中模数为79的跳频机制所使用的频率范围;第2图为本发明实施例中蓝芽无线通讯射频测试系统的方块图;第3图为6位元被除数除4位元模数的非恢复式除法的电路图;第4图为本发明实施例中非二次方模数之运算方法的流程图;第5图为本发明之运算方法与传统运算方法的运算量比较图;第6图为本发明实施例中运算装置之方块图。
地址 新竹县竹东镇中兴路4段195号