首页/文章/ 详情

通信信号处理案例之上下变频器研制(3)工程处理

2小时前浏览4
继续讲解!再写本系列已经隔了一年多。永远在不断的补充文章和完善程序!但有点写不动了!不是因为自己没有“货”,而是因为精力不济!期望大家能够将我写的技术文章吃透,那么通信领域的基础知识应该就差不多都了解了!哦,不对,均衡还没有深入讲!后续继续补充!还有 Turbo 码和 LDPC 码的编译码知识还没有涉及,也要补充!不能这么梳理下去,越梳理就越有东西要写!知识是永远学不完的,但这也许就是知识的魅力,它会让我们一直有向前的动力,就让我们一起顺着通信的仿真路线,慢慢的去提升我们的能力吧!看到朋友圈里于院士转发的一篇文章,深有感悟,摘取部分和大家分享。“不可缩放的事情,不值得投入巨量的时间、精力和资源。适可而止就好。学习就是一件可缩放的事情,学的越多就了解的越多,但是世界上很多事情都是不可缩放的。比如说吃饭。本来你很饿,吃了十个饺子,就不是那么饿了,效果很好。你再吃十个饺子,就不是解饿的问题,而是快吃饱了。那你如果再吃五十个饺子,效果还会这么好吗?当然不会,你很快就吃不下了。再比如说健身。如果一个人平时不运动、身体很弱,他出来锻炼锻炼肯定会产生很好的效果。但如果你已经是个健身达人,每天都锻炼四小时,身体很健康,现在改成每天锻炼八小时,你的身体会不会再好一倍呢?不会的。人的身体只能发挥这么多锻炼效能,健身也是一个不可缩放的事情。”现实生活中的游戏和各种娱乐,并不是玩的越多就越开心,同样验证了缩放关系。
工程处理:浮点转定点!
转换过程中最主要考虑的是量化位数!这个位数多少会决定程序所耗资源的大小!那么只要考虑这个吗?还有很多方面!比如除法运算如何实现或者等效,再比如那些更难实现的非线性运算。
本文主要涉及量化位数的规划以及浮点转为定点的过程(主要是经验交流),其他涉及定点程序的知识点后续文章肯定会讲,还会给出演示程序。比如数据的截位处理方式!
系统采用多少位数是根据芯片的容量以及系统的要求决定,比如最终的DAC是多少位?那你在整个系统输出的时候确定的量化位数就要以这个位数为准!!!
系统中数据的位数当然是越高越好,这样带来的量化误差就越小,但是也要考虑芯片是否具备这个容量,还有就是计算速度是否能够满足要求?比如实时性。系统运算的精度最终体现在最后一级输出数据的位数上,所以最后我们肯定要进行截断处理。中间过程尽量保持最高位数!!!为何?让误差最小化。
后续看看我写的定点程序,通过程序,大家可以看到,本人所采用的截位方式和截位的过程,有助于大家在工程知识方面的增长。当年,我也是靠慢慢摸索才增长的经验。在学习期间,没有人教过这方面的知识。但是在工作期间,产品研发过程中必须用到定点化!因此,很多工程化的知识得到了了增长,外部环境的变化确实会促动能力的增长,当然前提是不怕困难!现在回到校园,但希望把这方面的知识依旧能够传递出去,怎么传?靠文章!本人之前在这方面写过理论方面的文章,也写过产品方面的文章,下面是文章链接!
大学毕业设计一席谈之四十一 压电信号的睡眠检测算法(4)浮点转定点
工程处理:IQ平衡!
超外差接收机结构图
零中频接收机结构图
零中频接收机中,I/Q不平衡(IQ Imbalance) 是一个关键问题,它会导致镜像干扰(Image Interference),影响解调性能。对于 窄带信号宽带信号,I/Q 不平衡校准算法有所不同,算法方面有什么不一样吗?
如何进行算法仿真呢?
先看仿真模型,然后再开始写代码!
先需要建立系统的信号通道模型。无论是零中频的发射机还是接收机,信号的通道模型都可以通过三种形式来表示,分别是实数I/Q通道模型,复数I/Q通道模型以及直接/镜像通道模型。这三种模型分别从不同的角度对I/Q信号的失真进行了建模。
实数IQ通道模型!
复数IQ通道模型!
直接/镜像通道模型!
上述三种模型实际上是完全等价的,它们是从不同的角度描述了I/Q通道的特性。从实现上看,实数I/Q通道模型是最方便有效的,所有的运算都为实数运算。
接收通道校准模型!
请大家仔细阅读下面这段文字!
这是校准流程!
上述内容来自于论文《宽带零中频收发机I/Q不平衡数字域校准方案的研究和实现》。对于窄带校准,测试信号采用单音信号即可!有了模型和校准流程,再来看校准后的效果差异!
理解了仿真模型,准备开始写代码!

论文《宽带零中频收发机I/Q不平衡数字域校准方案的研究和实现》提到了迭代过程!在校准的过程中,每一次迭代更新的不平衡参数都返回给预失真模块进行补偿,补偿后的信号再进行新一轮的幅度和相位不平衡参数残余量估计,经过一定次数的迭代,I/Q不平衡参数的估计结果将稳定收敛到一个确切值。
看看AI写的窄带信号下I/Q不平衡补偿的仿真程序,含有迭代过程!这个程序写的非常棒,当然之前也对AI进行了训练和程序“喂养”!这一点技巧在用AI的时候会起到事半功倍的效果!目前,AI做不到直接给出“好用”的程序,有些领域只能做到“可用”,不过这样已经让我节省了很多时间。
% 失配矩阵
H = [h11, h12; h21, h22];

来源:通信工程师专辑
非线性MATLAB芯片通信理论游戏
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-02-07
最近编辑:2小时前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 405粉丝 2623文章 378课程 40
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈