zoukankan      html  css  js  c++  java
  • 均衡

    均衡根据通信系统中的一项重要技术,分为两种方式:频域均衡和时域均衡。频域均衡是利用可调滤波器的频率特性来弥补实际信道的幅频特性和群延时特性,使包括均衡器在内的整个系统的总频率特性满足无码间干扰传输条件。时域均衡是直接从时间响应角度考虑,使包括均衡器在内的整个传输系统的冲激响应满足无码间干扰条件。频域均衡满足奈奎斯特整形定理的要求,仅在判决点满足无码间干扰的条件相对宽松一些。所以,在数字通信中一般采用时域均衡。
    时域均衡器可以分两大类:线性均衡器和非线性均衡器。如果接收机中判决的结果经过反馈用于均衡器的参数调整,则为非线性均衡器;反之,则为线性均衡器。在线性均衡器中,最常用的均衡器结构是线性横向均衡器,它由若干个抽头延迟线组成,延时时间间隔等于码元间隔 。非线性均衡器的种类较多,包括判决反馈均衡器(DFE)、最大似然(ML)符号检测器和最大似然序列估计等。均衡器的结构可分为横向和格型等。因为很多数字通信系统的信道(例如无线移动通信信道)特性是未知和时变的,要求接收端的均衡器必须具有自适应的能力。所以,均衡器可以采用自适应信号处理的相关算法,以实现高性能的信道均衡,这类均衡器称为自适应均衡器。
    自适应均衡器的工作过程包含两个阶段,一是训练过程,二是跟踪过程。在训练过程中,发送端向接收机发射一组已知的固定长度训练序列,接收机根据训练序列设定滤波器的参数,使检测误码率最小。典型的训练序列是伪随机二进制信号或一个固定的波形信号序列,紧跟在训练序列后面的是用户消息码元序列。接收机的自适应均衡器采用递归算法估计信道特性,调整滤波器参数,补偿信道特性失真,训练序列的选择应满足接收机均衡器在最恶劣的信道条件下也能实现滤波器参数调整,所以,训练序列结束后,均衡器参数基本接近最佳值,以保证用户数据的接收,均衡器的训练过程成功了,称为均衡器的收敛。在接收用户消息数据时,均衡器还不断随信道特性的变化连续地改变均衡器参数。
    均衡器的收敛时间受均衡算法、均衡器结构和信道特性的变化情况所决定。通常,均衡器需要通过重复性地周期训练保证能够一直有效地抑制码间干扰。所以,用户数据序列需要被分割成数据分组或时隙分段发送。
    均衡器通常工作在接收机的基带或中频信号部分,基带信号的复包络含有信道带宽信号的全部信息,所以,均衡器通常在基带信号完成估计信道冲激响应和解调输出信号中实现自适应算法等

    同时给你一个仿真例子:


    自适应均衡器的仿真程序:
    % Illustration of the conventional RLS algorithm
    close all;
    W=2.9;
    Nexp=10;
    N=2000;
    Nmc=1; % Number of ensemble realizations
    M=11;%抽头系数
    lambda=0.99;%遗忘因子
    varv=0.001;%噪声方差
    h=zeros(3,1);%h的初始化
    er=zeros(N,Nmc);%er的初始化
    h(1)=0.5*(1+cos(2*pi*(1-2)/W));
    h(2)=0.5*(1+cos(2*pi*(2-2)/W));
    h(3)=0.5*(1+cos(2*pi*(3-2)/W));
    % 学习曲线
    hc=[0 h(1) h(2) h(3)]';
    n0=7;
    t=(1:N)';
    for i=1:Nmc
    y=sign(rand(N,1)-0.5);%输入信号
    v=sqrt(varv)*randn(N,1);%噪声信号
    x=filter(hc,1,y)+v;%信号混合
    x=[zeros(M-1,1);x];%x矩阵
    yd=zeros(N+M-1,1); %延迟信号初始化
    e=yd;
    yd(n0+M-1:N+M-1)=y(1:N-n0+1);
    % CRLS 算法
    % Initialization
    lambda=0.98;
    P=(10^-3)*eye(M,M);
    c=zeros(M,1);
    g=c;
    glambda=g;
    % 迭代范围
    for n=M:M+N-1
    xn=flipud(x(n-M+1:n));
    glambda=P*xn;
    alphal=lambda+conj(glambda')*xn;
    g=glambda/lambda;a(n)=1-conj(g')*xn;
    P=(P-g*conj(glambda'))/lambda;
    P=(P+P')/2;
    e(n)=yd(n)-conj(c')*xn;
    c=c+g*conj(e(n));
    end
    end
    eplot=e(M:M+N-1).^2;
    subplot(2,1,1), plot(t,abs(eplot))
    ylabel('|e(n)|^2');
    xlabel('n');
    subplot(2,1,2), plot(t,a(M:M+N-1));
    ylabel('\alpha(n)');
    xlabel('n');
  • 相关阅读:
    ROSS仿真系统简单教程
    python小练习1.1
    c语言文件I/O 文件读取和写入
    Python 学习笔记 多线程-threading
    parsec(The parsec benchmark suit )使用教程
    Checkpoint/Restore In Userspace(CRIU)使用细节
    Checkpoint/Restore in Userspace(CRIU)安装和使用
    考研总结
    北理计算机复试经验
    PAT(A) 1075. PAT Judge (25)
  • 原文地址:https://www.cnblogs.com/touchblue/p/2871127.html
Copyright © 2011-2022 走看看