一种正弦波采样值仿真计算的FPGA及其方法技术

技术编号:36191514 阅读:19 留言:0更新日期:2022-12-31 21:08
一种正弦波采样值仿真计算的FPGA及其方法,涉及继电保护测试领域。获取预设的正弦波相位,包括预设的正弦波相位的整数部分和预设的正弦波相位的小数部分;根据预设的正弦波相位的整数部分确定在正弦值查找表中对应的整数量化正弦值参数;根据预设的正弦波相位的小数部分对整数量化正弦值参数进行线性修正以得到小数量化正弦值参数;根据整数量化正弦值参数和所述小数量化正弦值参数计算得到量化的相位正弦值;获取预设的正弦波幅值,预设的正弦波幅值包括预设的正弦波幅值的整数部分,根据预设的正弦波幅值的整数部分确定量化的幅值;根据量化的相位正弦值和量化的幅值计算得到正弦波采样量化值;根据正弦波采样量化值确定正弦波采样值。确定正弦波采样值。确定正弦波采样值。

【技术实现步骤摘要】
一种正弦波采样值仿真计算的FPGA及其方法


[0001]本专利技术涉及继电保护测试领域,具体涉及一种正弦波采样值仿真计算的FPGA及其方法。

技术介绍

[0002]继电保护测试装置的主要功能为输出电压、电流波形信号,而准确输出电压、电流波形信号的先决条件是需要高精度的仿真信号源。这里的仿真信号源并不是物理上的信号输出装置,而是指通过软件仿真计算得到的控制DAC(数字模拟转换器)输出波形的采样值控制字。继电保护测试仪厂家一般使用DSP(Digital Signal Processor,数字信号处理器)器件通过软件计算采样值结果。但是使用DSP器件通过软件计算采样值结果的方法受限于DSP的运算速度以及代码优化程度,可实现每秒计算的采样值点数有限。并且使用DSP器件时,往往还需要ARM(Advanced RISC Machine,微处理器)、DSP处理器和FPGA(Field Programmable Gate Array,可编程门阵列),会导致系统硬件结构复杂。

技术实现思路

[0003]为解决上述问题,本申请提供一种正弦波采样值仿真计算的FPGA及其方法。
[0004]根据第一方面,一种实施例中提供一种正弦波采样值仿真计算方法,包括:
[0005]获取预设的正弦波相位,所述预设的正弦波相位包括预设的正弦波相位的整数部分和预设的正弦波相位的小数部分;
[0006]根据所述预设的正弦波相位的整数部分确定在正弦值查找表中对应的整数量化正弦值参数;
[0007]根据所述预设的正弦波相位的小数部分对所述整数量化正弦值参数进行线性修正以得到小数量化正弦值参数;
[0008]根据所述整数量化正弦值参数和所述小数量化正弦值参数,通过如下公式计算得到量化的相位正弦值:
[0009]sin(phase)=[sintab(n+1)

sintab(n)]×
phs_fra+sintab(n)
×2i
[0010]其中,sin(phase)为量化的相位正弦值;sin为正弦函数;n+1为所述预设的正弦波相位的整数部分的第n+1点;tab(n+1)为第n+1点在正弦值查找表对应的值;sintab(n+1)为第n+1点在正弦值查找表中对应的整数量化正弦值参数;n为所述预设的正弦波相位的整数部分第n点;tab(n)为第n点在正弦值查找表对应的值;sintab(n)为第n点在正弦值查找表中对应的整数量化正弦值参数;phs_fra为所述预设的正弦波相位的小数部分;i为所述预设的正弦波相位的小数部分对应的小数位;
[0011]获取预设的正弦波幅值,所述预设的正弦波幅值包括预设的正弦波幅值的整数部分,根据所述预设的正弦波幅值的整数部分确定量化的幅值;
[0012]根据所述量化的相位正弦值和所述量化的幅值,通过如下公式计算得到正弦波采样量化值:
[0013]p=sin(phase)
×
range_int
[0014]其中,p为正弦波采样量化值;sin(phase)为量化的相位正弦值;range_int为所述量化的幅值;
[0015]根据所述正弦波采样量化值确定正弦波采样值。
[0016]一种实施例中,所述根据所述预设的正弦波相位的整数部分确定在正弦值查找表中对应的整数量化正弦值参数,包括:
[0017]获取所述预设的正弦波相位的整数部分;
[0018]获取所述正弦值查找表中的预设相位和预设分度位;
[0019]通过如下公示计算得到所述预设的正弦波相位的整数部分在正弦值查找表中的对应的整数量化正弦值参数:
[0020][0021]其中,x为所述预设的正弦波相位的整数部分中的任意一个点;sintab(x)为所述预设的正弦波相位的整数部分中的任意一个点在正弦值查找表中对应的整数量化正弦值参数;A为所述正弦值查找表中的预设相位;B为所述正弦值查找表中的预设分度位;j为DSP引擎乘数位数。
[0022]一种实施例中,所述获取预设的正弦波相位的整数部分,包括:
[0023]根据FPGA的数据处理位数对所述正弦波相位进行量化;
[0024]根据所述预设分度位确定所述正弦查找表对应的数据位;
[0025]根据所述数据位确定量化后的正弦波相位的整数位;
[0026]根据所述整数位确定所述正弦波相位的整数部分。
[0027]一种实施例中,所述预设的正弦波相位的小数部分,包括:
[0028]根据FPGA的数据处理位数对所述正弦波相位进行量化;
[0029]根据正弦值查找表中的预设分度位确定所述正弦查找表对应的数据位;
[0030]根据所述数据位确定量化后的正弦波相位的整数位;
[0031]根据所述FPGA的数据处理位数和所述整数位确定量化后的正弦波相位的初始小数位;
[0032]根据所述量化后的正弦波相位的初始小数位确定所述预设的正弦波相位的小数部分对应的小数位;
[0033]根据所述预设的正弦波相位的小数部分对应的小数位确定所述预设的正弦波相位的小数部分。
[0034]一种实施例中,所述根据预设的正弦波相位的小数部分对所述整数量化正弦值参数进行线性修正以得到小数量化正弦值参数,包括:
[0035]当所述预设的正弦波相位位于正弦值查找表预设分度位中相邻两位之间时,所述整数量化正弦值参数为所述正弦查找表预设分度位中相邻两位中前一位对应的值;计算所述正弦查找表预设分度位中相邻两位中后一位对应的值,与所述正弦查找表预设分度位中相邻两位中前一位对应的值的差值,将所述差值与预设的正弦波相位的小数部分相乘以得到小数量化正弦值参数。
[0036]一种实施例中,所述根据所述预设的正弦波幅值的整数部分确定量化的幅值,包
括:
[0037]根据所述预设的正弦波幅值的整数部分通过如下公式确定量化的幅值:
[0038][0039]其中,range_int为所述量化的幅值;C为预设的正弦波幅值;D为预设的FPGA的测量幅值的量程,所述测量幅值的量程内均为正值;k为DSP引擎乘数位数。
[0040]一种实施例中,所述根据所述预设的正弦波幅值的整数部分确定量化的幅值,包括:
[0041]根据所述预设的正弦波幅值的整数部分通过如下公式确定量化的幅值:
[0042][0043]其中,range_int为所述量化的幅值;C为预设的正弦波幅值;D为预设的FPGA的测量幅值的量程,所述测量幅值的量程内包括正值和负值;k为DSP引擎乘数位数。
[0044]一种实施例中,所述根据所述正弦波采样量化值确定正弦波采样值,包括:
[0045]获取所述正弦波采样量化值;
[0046]根据数模转换器的计算结果有效位对所述正弦波采样量化值进行截取,以确定所述正弦波采样值。
[0047]一种实施例中,所述数模转换器的计算结果有效位包括16位。
[0048]根据第二方面,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种正弦波采样值仿真计算方法,其特征在于,包括:获取预设的正弦波相位,所述预设的正弦波相位包括预设的正弦波相位的整数部分和预设的正弦波相位的小数部分;根据所述预设的正弦波相位的整数部分确定在正弦值查找表中对应的整数量化正弦值参数;根据所述预设的正弦波相位的小数部分对所述整数量化正弦值参数进行线性修正以得到小数量化正弦值参数;根据所述整数量化正弦值参数和所述小数量化正弦值参数,通过如下公式计算得到量化的相位正弦值:sin(phase)=[sintab(n+1)

sintab(n)]
×
phs_fra+sintab(n)
×2i
其中,sin(phase)为量化的相位正弦值;sin为正弦函数;n+1为所述预设的正弦波相位的整数部分的第n+1点;tab(n+1)为第n+1点在正弦值查找表对应的值;sintab(n+1)为第n+1点在正弦值查找表中对应的整数量化正弦值参数;n为所述预设的正弦波相位的整数部分第n点;tab(n)为第n点在正弦值查找表对应的值;sintab(n)为第n点在正弦值查找表中对应的整数量化正弦值参数;phs_fra为所述预设的正弦波相位的小数部分;i为所述预设的正弦波相位的小数部分对应的小数位;获取预设的正弦波幅值,所述预设的正弦波幅值包括预设的正弦波幅值的整数部分,根据所述预设的正弦波幅值的整数部分确定量化的幅值;根据所述量化的相位正弦值和所述量化的幅值,通过如下公式计算得到正弦波采样量化值:p=sin(phase)
×
range_int其中,p为正弦波采样量化值;sin(phase)为量化的相位正弦值;range_int为所述量化的幅值;根据所述正弦波采样量化值确定正弦波采样值。2.如权利要求1所述的正弦波采样值仿真计算方法,其特征在于,所述根据所述预设的正弦波相位的整数部分确定在正弦值查找表中对应的整数量化正弦值参数,包括:获取所述预设的正弦波相位的整数部分;获取所述正弦值查找表中的预设相位和预设分度位;通过如下公示计算得到所述预设的正弦波相位的整数部分在正弦值查找表中的对应的整数量化正弦值参数:其中,x为所述预设的正弦波相位的整数部分中的任意一个点;sintab(x)为所述预设的正弦波相位的整数部分中的任意一个点在正弦值查找表中对应的整数量化正弦值参数;A为所述正弦值查找表中的预设相位;B为所述正弦值查找表中的预设分度位;j为DSP引擎乘数位数。3.如权利要求2所述的正弦波采样值仿真计算方法,其特征在于,所述获取预设的正弦波相位的整数部分,包括:根据FPGA的数据处理位数对所述正弦波相位进行量化;
根据所述预设分度位确定所述正弦查找表对应的数据位;根据所述数据位确定量化后的正弦波相位的整数位;根据所述整数位确定所述正弦波相位的整数部分。4.如权利要求1所述的正弦波采样值仿真计算方法,其特征在于,所述预设的正弦波相位的小数部分,包括:根据FPGA的数据处理位数对所述正弦波相位进行量化;根据正弦值查找表中的预设分度位确定所述正弦查找表对应的数据位;根据所述数据位确定量化后的正弦波相位的整数位;根据所述FPGA的数据处理位数和所述整数位确定量化后的正弦波相位的初始小数位;根据所述量化后的正弦波相位的初始小数位确定所述预设的正弦波相位的小数部分对应的小数位;根据所述预设的正弦波相位的小数部分对应的小数位确定所述预设的正弦波相位的小数部分。5.如权利要求1所述的正弦波采样值仿真计算方法,其特征在于,所述根据预设的正弦波相位的小数部分对所述整数量化正弦值参数进行线性修正以得到小数量化正弦...

【专利技术属性】
技术研发人员:柳翠翠
申请(专利权)人:深圳市思得宝科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1