1.算法仿真效果
matlab2022a仿真结果如下:
2.算法涉及理论知识概要
根升余弦滤波器(Root-Raised Cosine Filter, RRC Filter)是一种广泛应用在通信系统中的脉冲整形滤波器,特别是在数字调制传输系统中,用于消除码间干扰(Inter-Symbol Interference, ISI),确保符号边界清晰,实现最佳的频谱利用率和信道效率。考虑时偏影响的RRC滤波器设计意味着滤波器需具备一定的时域滚降特性,使得即使在接收端存在定时偏差的情况下,也能有效地减少ISI。
根升余弦滤波器的脉冲响应满足根升余弦滚降特性的函数形式,其脉冲响应h(t)可通过理想矩形脉冲经过卷积得到,其滚降系数α控制了脉冲边缘的衰减速度。对于每一个有效输入样本datain(j),其对应的RRC滤波输出可以通过以下形式表示:
在实际通信系统中,由于同步误差的存在,接收到的信号可能发生时偏(Timing Offset, TO)。为了应对这种情况,RRC滤波器的设计需要考虑到在有限的时偏范围内仍能保持良好的ISI抑制能力。此时,滤波器的性能可以通过其脉冲响应的旁瓣衰减和主瓣宽度来衡量。考虑时偏影响的根升余弦滤波器在设计时需要兼顾符号间隔离度与频谱利用率,通过合理选择滚降系数α,确保在一定范围内的时偏条件下,系统的误码率仍然维持在较低水平。此外,在实际应用中,还经常结合均衡器和其他同步技术,共同对抗时偏带来的负面影响,提高通信系统的整体性能。
3.MATLAB核心程序
t = mod((i - 4) * err * Ts , Ts);% 计算当前时间偏移量t % 计算并存储4个连续样本点的滤波结果 sample_data((i - 4)*nsamp + 1) = datain(j) * u_rcosine(t - 2 * T,nsamp) + datain(j - 1) * u_rcosine(t - T,nsamp) ... + datain(j - 2) * u_rcosine(t,nsamp) + datain(j - 3) * u_rcosine(t + T,nsamp); t = t + Ts; sample_data((i - 4)*nsamp + 2) = datain(j) * u_rcosine(t - 2 * T,nsamp) + datain(j - 1) * u_rcosine(t - T,nsamp) ... + datain(j - 2) * u_rcosine(t,nsamp) + datain(j - 3) * u_rcosine(t + T,nsamp); t = t + Ts; sample_data((i - 4)*nsamp + 3) = datain(j) * u_rcosine(t - 2 * T,nsamp) + datain(j - 1) * u_rcosine(t - T,nsamp) ... + datain(j - 2) * u_rcosine(t,nsamp) + datain(j - 3) * u_rcosine(t + T,nsamp); t = t + Ts; sample_data((i - 4)*nsamp + 4) = datain(j) * u_rcosine(t - 2 * T,nsamp) + datain(j - 1) * u_rcosine(t - T,nsamp) ... + datain(j - 2) * u_rcosine(t,nsamp) + datain(j - 3) * u_rcosine(t + T,nsamp);
标签:滤波器,rcosine,datain,nsamp,根升,时偏,matlab From: https://www.cnblogs.com/51matlab/p/18162508