



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多天线信号合并中相位加权值的修正查表算法及FPGA实现摘要:针对白码查表法的储存器利用效率不高问题,给出了一种改进的基于非线性编码的算法和流水线构造,并通过VHDL语言编程,在FPGA上加以实现。仿真结果说明,与白码查表法的计算结果进展比较,非线性编码查表法进步了查表准确度,降低了查找表的大小,便于FPGA实现。关键词:多天线;信号合并;相位加权值;非线性查表法;VHDL中图分类号:TN92文献标识码:A文章编号:10053824202104-0019-060引言对多天线信号进展合并后可以有效进步接收信号信噪比12,这使得多天线系统受到了高度的重视。相位加权是多天线合并的重要组成部分,特别是在
2、信号合并的计算中,假设参与合并的信号之间没有进展相位加权使信号之间相位对齐,那么会严重影响信号合并的质量3。现考虑2路信号进展信号合并,设经过时延处理的2路信号分别为x1t和x2t,第1路信号的幅度加权系数为w1,第2路信号的幅度加权系数为w2,2路信号之间的相位差为,那么理论上2路信号加权合并的公式为用FPGA进展工程实现时,通常采用3类方法计算三角函数值:泰勒展开式算法4、Cordic算法5和查表算法。泰勒展开式算法需要构造大量的乘法器来实现,而乘法器需要占用大量的硬件资源,因此,此方法不太适用于FPGA。Cordic算法不需要乘法器,其复杂度较泰勒展开式算法有一定的下降,但是它需要大量加
3、法器和移位存放器,资源消耗也较大。查表法通常预先将满足精度的三角函数值计算出来,储存在ROM表中,计算时只需要提供对应角度值对应的地址,即可通过查表得到相应的三角函数值,查表法的计算精度较前2种方案低,本文对该方法进展讨论。由于三角函数是非线性函数,通常要增加其计算精度,就需要增加相应储存量。本文给出了一种修正的查表算法:非线性编码查表法。通过非线性编码,有效地解决了查表法在应对非线性函数造表时的精度问题,并且通过VHDL语言编程,在FPGA上加以实现。仿真结果说明,非线性编码查表法的实现效果准确可靠。1非线性编码查表法查表法一般只在函数定义域的部分区间造表,将选取的这个区间称为造表区间记为R
4、,用分段点r0,r1,rn-1,rn将造表区间划分成假设干份,查找表中记录的只是点r0,r1,rn-1,rn对应的函数值6。通常的白码查表法采取的划分方法是等距划分,由此定义造表间距D=ri+1-ri。为解决线性表中储存器利用效率不高的问题,本文在查表时,对于反正切函数进展非线性变换,其目的是使函数区以非均匀方式划分区间,从而进步高斜率区间的查表精度,并且有效地遏止传统白码查表法在低斜率区间上的精度浪费。非线性编码查表法构造如图1所示。查表时,首先通过输入互相关值确定当前角度的查表地址,通过查表得到反正切函数值角度,而后通过角度的详细大小确定正余弦函数储存地址进展第2级查表,得到角度对应的正余
5、弦值。其次,将4式中的各个分段点对应的反正切值计算出来作为反正切查找表的样值点。并利用3式将各个分段点对应的正余弦函数值计算出来,分别储存到正余弦值查找表中,作为第2级查表的样值点。这就构成了非线性编码查表法的2级查找表。最后,对4式中的分段点进展非线性编码生成查表的地址,地址编码格式为:段落码+段内码;地址编码的位长l根据造表区间样值点数m确定,其中l=lbm。详细编码方式如下。设某正切值对应的二进制数为a,对这个二进制数进展位数截取,截获得到的s位的值为a1,其中s=lbN;假设a大于造表区间最大值N,此时a1=N。假设将其编为10位的非线性码,再将这些码字作为地址查表得到反正切值。取10
6、位非线性码中高4位为段落码,低6位为段内码。假设该正切值的最高位d20=1,那么段落码编为“1111,段内码为d19d14;否那么,假设d19=1,那么段落码编为“1110,段内码为d18d13;如此,直到d6=1,那么段落码为“0001,段内码为d5d0;否那么,段落码为“0000,段内码为d5d0。详细编码流程可以总结为图2。2算法精度分析由于查表法是用靠近样值点的数据值来近似当前查表函数值,而对于反正切函数来说,最大斜率出如今坐标原点处,最大斜率为:k=11+x2x=0=1,所以越是靠近原点处,查表得到的反正切函数值误差越大;查表结果的最大误差为arctanx/2。图3是普通查表法和非线
7、性编码查表法的最大误差曲线。白码查表法和非线性编码查表法均使用1 024样值点的查找表。可以看出,非线性编码查表法有效地进步了查表法计算反正切的计算精度。白码查表法要到达同样的精度需要增加样值点数量,占用的储存空间要大得多。计算反正切函数最大误差曲线图4和图5分别是查表法最终得到的正余弦函数值误差曲线图,2种查表法均采用1 024个样值点的数据表。可以看出,在数据表大小一样的情况下,非线性编码查表法得到的正余弦值相对于白码线性查表法的值具有更好的误差性能,特别是在角度较小时,非线性编码查表法的性能优势更大。设2信号互相关值的实部和虚部的位宽均为32位,为了得到相位差正切值,需进展2者间的除法运算。在FPGA实现时,采用定点运算,假设在计算中虚部小于实部,那么会出现商为0的情况。为理解决这一问题,在进展定点除法运算前,先对虚部数据进展放大,放大的倍数视需求相位精度而定。由于最终的相位加权值是相位差对应的正、余弦值,所以上述反正切查找表中储存的并不是真实的反正切函数值,而是存储去查找正、余弦值查找表的地址。由于反正切表中只储存了090°的相位值,因此通过查表得到的对应的相位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文科科研课题项目申报书
- 市级重点课题申报书模板
- 课题立项申报书丢了
- 高职病理课题申报书
- 传统文化相关课题申报书
- 广东省课题申报书重复率
- 山东省课题申报书范文
- 出租杂物小仓库合同范本
- 单位食堂蔬菜配送合同范例
- 怎么拿到省级课题申报书
- 乘务大队客舱服务质量
- 海智工作站申报计划书
- 托管岗前培训教学课件
- 机房运维管理制度
- 昆明抚仙湖鳍鱼湾棋盘山度假娱乐旅游区总体规划方案样本
- 突发疾病时的安全驾驶方法
- 污水处理厂入河排污口设置论证报告
- T-SHNA 0005-2023 成人住院患者肠外营养输注护理
- 课件:认识镜头语言1:运镜方式和常用的镜头术语
- 职业道德(Professionalethics)教学课件
- 提升医疗质量减少医疗纠纷
评论
0/150
提交评论