室内可见光通信发光二极管传输预失真系统及方法_2

文档序号:9455614阅读:来源:国知局
息,查找表生成 单元与预失真模块相连并传输生成的查找表表项信息。
[0027] 所述的转换模块包括:ADC单元和DAC单元,其中:ADC单元的输入端和输出端分 别与光电二极管和参数计算模块相连,将LED输出的模拟反馈信息采样量化后生成数字信 号输出;DAC单元的输入端和输出端分别与预失真计算模块和发光二极管相连,将发射机 的数字输出信息脉冲宽度调制并滤波后生成模拟信号输出。
[0028] 如图2所示,本实施例中通过FPGA实现预失真计算模块,该预失真计算模块包括: 查找表地址计算子模块、查找表子模块和预失真结果计算子模块,其中:查找表地址计算子 模块与查找表子模块相连并传输输入信号的幅值作为地址信息,查找表子模块与预失真结 果计算子模块相连并传输查找表表项值信息,预失真结果计算子模块把输入信号和查找表 表项值进行相乘累加运算输出预失真后的数据。
[0029] 所述的查找表子模块中设有k张查找表,对应于k个双口存储器,每个存储器中存 储的均为软核中将权向量转化成的易于预失真计算模块实现的查找表,其深度为4K。此存 储器按照地址划分,输入信号根据幅度来索引对应地址的表项。
[0030] 所述的预失真结果计算子模块将各个采样点信号与对应的查找表值相乘并累加, 输出计算结果,即:η时刻的输入信号与第一张查找表对应地址的表项相乘,η - 1时刻与第 二张查找表表项相乘,以此类推。
[0031] 所述的查找表的数目与记忆深度相同,如当前为η时刻,记忆深度为k,则查找表 数目也为k。
[0032] 如图3所示,本实施例包括以下步骤:
[0033] 第一步、信号源输出的信号经过预失真器处理后,再进行上变频处理得到中频信 号后,经过DAC单元转换变为模拟信号,由LED发射。
[0034] 由于LED的记忆效应不可忽略,本发明采用记忆多项式模型来对预失真器以及 LED建立数学模型,该预失真器的多项式模型为:
,其中:?(?)和分 别y(n)代表预失真器的输出和输入信号,K表示多项式的阶数,D表示最大延时,akid代表 预失真器多项式模型的系数。
[0035] 第二步、通过光电二极管耦合LED发射的部分信号,经ADC单元转换为数字基带信 号,经下变频模块进行下变频处理后,通过参数计算模块与经过延迟的信号源信号进行比 较,再由预失真计算模块通过自适应算法计算得到预失真器参数。
[0036] 所述的比较是指:当第一步中LED的输出信号被转换为预失真器的输入信号y (η) 后,进一步计算信号源信号X (η)以及预失真器输出信4i_(")之间的误差,根据误差信号计 算出预失真器的系数估计值,重复上述误差计算及系数估计过程,直到误差在收敛域范围 内。
[0037] 所述的预失真计算模块根据输入信号的幅值查找来自参数计算模块,即 MicroBlaze的查找表,从而完成对信号的预失真,具体为:
[0038] ①参数计算模块根据预失真计算模块送来的预失真器输出数据与反馈数据,完成 加权向量的计算,并依据计算出的加权向量制作查找表,然后参数计算模块将查找表送入 预失真计算模块的预失真器中,预失真器根据此输入信号的幅度索引查找表进行预失真操 作;
[0039] ②参数计算模块通过GPIO向预失真计算模块发出存数指令,预失真计算模块收 到指令后,开始存数。存满数据时,给参数计算模块发出存数满信号,触发参数计算模块的 中断,参数计算模块开始读取预失真计算模块的数据。参数计算模块将指定地址的内容读 出。当参数计算模块通过GPIO向预失真计算模块写数据时,通过GPIO将指令信息传给预 失真计算模块,预失真计算模块根据地址信息判断写入的是控制命令还是查找表。
[0040] 如图3所示,所述的自适应算法包括以下步骤:
[0041] 2. 1)参数计算模块与预失真计算模块其他模块完成初始化,系统开始工作。
[0042] 2. 2)参数计算模块向预失真计算模块发出存数指令,预失真计算模块开始采集来 自放大器两端的数据,并把采得的数据存入存储器中。存储完数据之后,预失真计算模块向 参数计算模块发出中断信号,指示参数计算模块进行取数。
[0043] 2. 3)参数计算模块开始从存储器内读取数据,取数完成后,进行时间同步,将前向 信号和方向信号在时间上对齐。
[0044] 2. 4)使用滑动相关计算延时,具体为:forward_i为前向数据,feedback_i为反 馈数据。k为整数。算出k从0变化到某个阈值的sum[k],找出最大值,返回k可求得 偏置:
,其中:f〇rward[i]为前向数据, feedback_i为反馈数据,BUFSIZES缓存的长度,k为同步的位置偏移,sum[k]为对于不同k 值,前向和反向数据的互相关量。
[0045] 2.5)同步完成后,对反馈信号进行归一化处理。
[0046] 2. 6)归一化完成后,参数计算模块用RLS算法进行加权向量的计算,包括:RLS矢 量产生函数计算、RLS算法迭代计算、归一化均方误差计算以及收敛判断,具体如:
[0047] 所述的RLS矢量产生函数用于将输入信号进行非线性扩展并生产RLS矢量,具体 如:当记忆深度为Q,输入的矢量为X = [X [η],X [n-1],. . .,X [n-Q]],预失真器的非线性阶 次为2K+l,x_rls = [x[n], x[n]3,…,xn[n]2K+1,经过非线性扩展后的向量为3[11-1],叉[11-I] 3, · · ·,χ[η_1]2Κ+1,,其中:· · ·,x[n_Q], x[n_Q]3, · · ·,x[n_Q]2K+1]x[n],χ[η]3, · · ·,χη[η]2Κ+1 为当前输入信号矢量,x[n-Q],x[n_Q]3,...,x[n-Q]2K+1为当前延迟一拍后的输入信号矢量, x_rls为输入信号的非线性扩展向量。
[0048] 所述的RLS算法迭代计算根据产生的RLS矢量与期望信号计算加权向量w,具体 如:
[0049] 步骤i :根据上个时刻的自相关矩阵P (n-1)与RLS向量u (η)计算JT值。
[0050] 步骤ii :根据:π值、RLS向量与遗忘因子计算卡尔曼增益k(η)。
[0051] 步骤iii :根据上个时刻计算的w参数w(n-l)与本时刻计算的RLS矢量求出输出 信号,并计算输出信号与期望信号的误差Un)。
[0052] 步骤iv :根据步骤ii与步骤iii计算的卡尔曼增益k(η)与ξ (η)更新加权向量 w的参数w (η)。
[0053] 步骤V :根据P (n-1)、k (n)、u (η)更新自相关矩阵P (η)。
[0054] 所述的归一化均方误差计算用于计算反馈信号与前向信号的误差,并且用dB表 示
[0055] 所述的收敛判断是指:反馈信号和前向信号的归一化均方误差是否小于预先设 定的某一定值。
[0056] 第三步、将参数计算模块计算得到的预失真器参数制成查找表项值,更新到硬件 的随机存取存储器中,制表完成后,将制作好的查找表输出至预失真计算模块以进行预失 真处理,即数字预失真模块将输入的原始数据与随机存取存储器中的表项值进行多项式运 算,以完成对原始输入数据的预失真计算,从而尽可能的抵消掉LED非线性失真带来的影 响。
[0057] 所述的制成查找表项是指:当加权向量计算完成后,用制表函数制作查找表的表 项值,制表函数,用于将计算的w参数制作成预失真所需的查找表。查找表有均匀与非均匀 之分。这里使用均匀查找表。输入到功放的信号归一化幅度限制在1内
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1