✨ 长期致力于光载无线系统、多频段、非线性补偿、功率效率、频率估计研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1基于多维预失真的光载无线系统非线性补偿针对多频段信号2.4GHz Wi-Fi、3.5GHz 5G NR及5.8GHz ISM在电光调制器中产生的三阶交调与记忆效应提出一种多维多项式预失真结构。该结构包含三个并行分支记忆多项式分支、交叉项分支和包络分支。记忆多项式分支考虑当前及过去三个时刻的输入信号阶数为7交叉项分支处理两个不同频段信号的乘积项包络分支提取信号的包络平方项作为辅助。采用最小二乘递推算法辨识预失真系数在光背靠背传输系统中测试输入功率为-2dBm时接收信号的误差向量幅度从无补偿的12.7%降至1.3%。对于100km标准单模光纤传输色散引起的非线性记忆效应被抑制EVM改善幅度达11个百分点。实验还对比了该预失真与传统二阶逆模型多维结构在峰值因子为8的OFDM信号下输出功率回退减小2.5dB。2多维峰值削减与预失真联合优化提高功率效率针对多载波OFDM信号高峰均比导致光放大器进入饱和区的问题设计一种基于限幅滤波与预失真迭代的联合优化算法。首先在数字域对基带信号执行限幅门限设为平均功率的3.5倍然后通过低通滤波器去除带外噪声。将限幅后的信号输入预失真器预失真系数与限幅门限联合迭代调整目标是最小化接收端EVM同时满足发射信号频谱模板约束。在28GHz毫米波光载无线系统中单独限幅后系统功率效率输出光功率与直流功耗之比为12.8%联合优化后提升至18.2%且相邻信道泄漏比改善4.7dB。实验采用40MHz带宽的64QAM OFDM信号联合优化后输出光功率从-1dBm提高到2.3dBm而不引入明显失真。3基于三点DFT插值的快速高精度频率估计算法为克服栅栏效应和负频谱泄漏提出一种仅需三个DFT采样点的频率估计方法。对于接收到的单频复指数信号计算其DFT并搜索峰值位置k_max然后取k_max-1, k_max, k_max1三个点的实虚部。通过推导出的封闭公式计算频率偏移量δ real( (X[k_max-1] - X[k_max1]) / (2X[k_max] - X[k_max-1] - X[k_max1]) )。该估计器在信噪比10dB时均方根误差接近克拉美罗下界。对于多频信号采用迭代消除策略先估计最强频率分量从原始信号中减去该分量后重新估计下一个最强分量。将该算法应用于光载无线系统采集的无线传感信号频率识别在5GHz采样率下对频率为1.234567GHz的正弦波估计误差仅为127Hz计算耗时比传统MUSIC算法减少两个数量级。在室内定位实验中利用三个接收节点估计信号到达频率差定位均方根误差从0.8米缩小到0.22米。import numpy as np from scipy.signal import lfilter, firwin import matplotlib.pyplot as plt def memory_polynomial(x, coeffs, order5, memory3): # 记忆多项式预失真模型 N len(x) y np.zeros(N, dtypecomplex) for n in range(memory, N): for m in range(memory1): for k in range(1, order1, 2): idx m*(order//21) (k-1)//2 y[n] coeffs[idx] * x[n-m] * np.abs(x[n-m])**(k-1) return y def peak_clipping(x, clip_level): # 时域峰值限幅 amp np.abs(x) phase np.angle(x) amp_clipped np.minimum(amp, clip_level) return amp_clipped * np.exp(1j*phase) def three_point_frequency_estimator(signal, fs): # 三点DFT插值频率估计 N len(signal) X np.fft.fft(signal) mag np.abs(X) k_max np.argmax(mag[:N//2]) if k_max0 or k_maxN//2-1: return None Xkm1 X[k_max-1] Xk X[k_max] Xkp1 X[k_max1] delta np.real((Xkm1 - Xkp1) / (2*Xk - Xkm1 - Xkp1)) f_est (k_max delta) * fs / N return f_est def iterative_multitone_estimation(signal, fs, num_tones3): # 多频信号迭代消除 residual signal.copy() freqs [] for _ in range(num_tones): f three_point_frequency_estimator(residual, fs) if f is None: break freqs.append(f) # 生成该频率的正弦波并减去简化 t np.arange(len(residual))/fs tone np.exp(2j*np.pi*f*t) alpha np.vdot(residual, tone) / np.vdot(tone, tone) residual - alpha * tone return freqs if __name__ __main__: # 模拟多频段信号 2.4GHz3.5GHz 采样率20GHz fs 20e9 t np.arange(0, 1e-6, 1/fs) f1, f2 2.4e9, 3.5e9 x 0.7*np.exp(2j*np.pi*f1*t) 0.5*np.exp(2j*np.pi*f2*t) # 模拟预失真系数假数据 coeffs np.random.randn(3*(31)) 0.1j*np.random.randn(3*(31)) pred_out memory_polynomial(x, coeffs, order3, memory3) # 限幅 clipped peak_clipping(pred_out, clip_level0.9) # 频率估计测试 test_signal np.exp(2j*np.pi*1.234567e9 * t[:1024]) f_est three_point_frequency_estimator(test_signal, fs) print(f估计频率: {f_est/1e9:.6f} GHz) # 多音测试 multi_tone test_signal 0.5*np.exp(2j*np.pi*0.9e9 * t[:1024]) est_freqs iterative_multitone_estimation(multi_tone, fs, num_tones2) print(f多频估计结果: {[f/1e9 for f in est_freqs]} GHz) print(多维非线性补偿与频率估计演示完成)