精华内容
下载资源
问答
  • 信道估计信道均衡的理解
    千次阅读 多人点赞
    2020-07-09 11:19:23

    耐着性子,仔细看完!

    信道估计

    Y = HX + N
    把X理解为要发送的信号,Y是接收信号,那么H就是我们要估计的信道。
    在发送信号的时候,往往需要发送一些信息已知的导频序列(何为导频?就是先利用已知的导频(导频大概就像是引路人做前方探测把路况告诉后来者)信息探探前方的路(信道),才能更好的选择信号的发送方式。
    就像我们平时走路前提前知道前方道路情况后(土路还是石路),肯定就会容易想到应对措施(该开快点还是开慢点),而这些道路信息不就是探测车提前统计到高德这些导航软件的吗;前方正在施工,请绕行,哈哈哈!但是信号没这么夸张,只是为了便于理解)。
    例如发送的导频为X1=b1, X2 =b2, 通过Y = HX + N得到了两个Y1和Y2;就相当于求解方程;H = (Y-N)/b(大概意思,实际没这么简单,只是为了初步理解)。
    再利用已知量求未知数H,也就是估计的信道信息

    信道均衡

    如果理解上面意思,再举个不恰当的例子便于理解。
    假如我们想把1这个数字发送过去,肯定希望接受到的也是1,但经过信道发现损失了一点(损失了0.1),变成了(1-0.1=0.9);我们肯定是想接受的也是1,这时候信道均衡就排上用场了(信道均衡有点类似于纠正),通过信道均衡又补偿给0.9了0.1,就又变成了1(我们希望收到的信息),这就信道均衡。

    更多相关内容
  • 瑞利信道基带信号均衡仿真,绘制QPSK和16QAM理论误码率和误符号率
  • 信道均衡,信道估计与信道均衡,matlab源码
  • 资源名:MATLAB_Simulink_OFDM_FFT_信道估计均衡_信道估计采用LS估计 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换...
  • 各种传输信道所传输的信号,一般由一些不同频率的分量组成. 均衡器(Equalizer),是一种可以分别调节各种频率成分电信号放大量的电子设备,通过对各种不同频率的电信号的调节来补偿扬声器和声场的缺陷,补偿和修饰...

    作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing

    本文网址:https://blog.csdn.net/HiWangWenBing/article/details/118832368


    目录

    引言:

    第1章 均衡器概述

    1.1 什么是均衡器

     1.2 如何进行信道估计

    第2章 线性均衡器

    第3章 判决反馈均衡器

    第4章最大似然虚拟估计

    第5章 盲均衡


    引言:

     

    第1章 均衡器概述

    1.1 什么是均衡器

    各种传输信道所传输的信号,一般由一些不同频率分量组成.

    均衡器(Equalizer),是一种可以分别调节各种频率成分电信号放大量的电子设备,通过对各种不同频率的电信号的调节来补偿扬声器和声场的缺陷,补偿和修饰各种声源及其它特殊作用,一般调音台上的均衡器仅能对高频、中频、低频三段频率电信号分别进行调节。

    在通信系统中,在基带系统中插入均衡器能够减小码间干扰的影响。

    均衡器(equalizer) 通信系统中,校正传输信道幅度频率特性和相位频率特性的部件。

    将频率为f的正弦波送入传输信道,输出电压与输入电压的幅度比随f变化的特性称为幅度频率特性,简称幅频特性;

    输出电压与输入电压间的相位差随f变化的特性称为相位频率特性,简称相频特性。

    备注:

    • 由于相邻符号间干扰造成的衰落,通过增加信号的发送功率是无法使信号的性能得到改善。而均衡技术是对抗符号间干扰的有效手段之一。特别针对频率选择性信道。

     

     备注:

    只有先掌握了信道的特性(信道估计),才能有针对的设计均衡器。

     1.2 如何进行信道估计

    所谓信道估计,发送端发送已知的、预定义的序列(输入),然后接收端从接收序列拟数据中(输出),将假定的某个信道模型的模型参数(信道衰变模型),估计出来的过程。

    如果信道是线性的话,那么信道估计就是对系统冲激响应进行估计。

    需强调的是信道估计是信道对输入信号影响的一种数学表示,而“好”的信道估计则是使得某种估计误差最小化的估计算法。

    PN码(Pseudo-Noise Code),是一具有与白噪声类似的自相关性质的0和1所构成的编码序列,最广为人知的二位元P-N Code是最大长度位移暂存器序列,简称m-序列, 他具有长 2的N次方 - 1个位元。

    • PN序列是二进制伪随机序列
    • PN序列Bi与其时间翻转序列B-i的卷积是一个冲击信号,即为间隔无限短的脉冲,是全频谱信号。

     

    备注: 通过训练序列估计信道的方法实际上有一种缺陷,即虚拟序列只能代表部分时刻,无法代表全时间,因此,对于时变的物理信道,需要通过更长时间的估计结果来预估信道的时变特性,具有一定的延时。

    第2章 线性均衡器

    均衡的本质是:在发送端根据信道特性对不同频率分量或时序特性进行补偿。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    第3章 判决反馈均衡器

    第4章最大似然虚拟估计

    第5章 盲均衡


     


    作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing

    本文网址:https://blog.csdn.net/HiWangWenBing/article/details/118832368

    视频:https://www.icourse163.org/course/NJTU-1207227804

    展开全文
  • 基函数扩展模型相关matlab代码,包含信道估计及其均衡 Demo: N=64; ap = ones(N,1); I_path_M = 1;% 假设的数据传输信道下的子径个数,该参数大于H_Path_M/P即可。 I_Dopl_D = 32;% 假设的数据传输信道下的子径个数 ...
  • 针对单中继放大转发协作D-STBC-SC-FDE系统,研究了频率选择性衰落信道的频率域估计与均衡,给出了一种基于训练的最小二乘信道估计算法。该算法在Chu序列的辅助下,可在目的端同时估计直接信道S→D和级联信道S→R→D...
  • 第7章:OFDM 信道估计与均衡(4)

    千次阅读 多人点赞 2021-02-22 21:06:59
    第7章(4)内容如下:一、导频结构图案二、基于导频的信道估计算法和插值方法 本文所有可运行代码下载地址是:123kevin456/OFDM- 一、导频结构图案 前三讲介绍了OFDM经过AWGN信道和衰落信道的误码率情况,其中在...

    本文所有可运行代码下载地址是:123kevin456/OFDM-

    一、导频结构与图案

    前三讲介绍了OFDM经过AWGN信道和衰落信道的误码率情况,其中在第(2)节假设了接收端已经完美知道信道状态信息h,做了完美补偿(perfect compensation)

    那接收端是如何知道信道状态信息的呢?知道了又有什么用呢?这就要从导频估计说起了。

    首先回到熟悉的表达式:y=hx+n

    假设只有一条径的衰落信道,不妨设x是bpsk调制,即可取1,或者-1。

    发送端发送一大堆符号,为方便起见,比如 x = [ 1 , 1 , 1 , 1 ] x = \left[ {1,1,1,1} \right] x=[1,1,1,1] ,经过信道后,接收端收到 y = [ 0.2 , 0.5 , 0.6 , 0.3 ] y = \left[ {0.2,0.5,0.6,0.3} \right] y=[0.2,0.5,0.6,0.3]

    此时一个问题问你,h等于多少呢?面对这一串数据,你会做什么样的处理呢?

    可能你马上会想到 s u m ( y ) 1 + 1 + 1 + 1 = 0.4 \frac{{sum(y)}}{{1 + 1{\rm{ + }}1{\rm{ + }}1}} = 0.4 1+1+1+1sum(y)=0.4 。那么恭喜你,这便是最大似然估计(ML)。

    想想为什么是最大似然估计?以及说是最大似然估计,是否有前提条件要加上?思考几秒钟?

    当然,后面会介绍LS(最小平方)估计和MMSE(最小均方误差)估计。

    那么导频符号是按照什么样的分布、出现在什么位置呢?这便是导频结构的问题。

    导频结构可以分为三种:块状导频、梳状导频和格状导频。

    img

    img

    img

    img

    img

    看完上面的三种导频结构后,有两个关键问题出现在你的面前:

    (1)导频数量:即需要插入多少个导频。

    若插入导频数量多了,会消耗系统的时频资源,减少了有效数据的传输;插入导频少了,可能难以有效反应信道的真实特性;

    (2)导频位置:即导频插在哪些地方。

    比如是放置在第1号、5号、9号子载波位置呢?还是放置在2号、6号、10号子载波位置呢?有区别吗?

    这当然有区别的哦。(体现在插值函数里,你可以看到区别

    本次仿真是采用梳状导频信号来做的信道估计,代码中可以看到导频的位置与间隔。

    我设置的有16个导频符号,间隔为4。

    二、基于导频的信道估计算法和插值方法

    基于导频的信道估计方法,是在发送数据流中插入已知数据(导频符号),接收机根据这些已知数据经过信道衰落后的变化,与原始的导频符号进行比较,就得到了导频信号所在时刻和子载波上信道衰落的估计值

    而估计性能的优劣,一方面取决于使用算法的优劣,比如LS、MMSE算法,也取决于发送端设置的导频图案是否能够较好的反应信道的特性

    注意到上面这句“导频信号所在时刻和子载波上信道衰落的估计值”,那不是导频信号所在时刻和子载波信道,怎么办?

    注意观察上面的导频结构图,均是时间和频率二维的。

    不管是采用梳状、块状还是格状,都只知道其中某几个点的信道状况(对应到图里,便是黑色实心点),即要通过这些黑色点的信道状态信息去想办法知道白色点的信道状况。

    这便要介绍插值了。

    常见的插值函数是interp1,可以在MATLAB中help interp1中学习一下。下面给出的MATLAB代码也是使用的interp1这个插值函数。

    除了上面基于导频的估计方法,其实ODFM还有基于判决反馈的信道估计方法、基于DFT的信道估计、基于叠加信号的信道估计、盲信道估计等等方法,在《MIMO-OFDM无线通信技术及MATLAB实现》中均有介绍,哈哈哈哈哈,这本书再一次被我点名表扬。

    下面来看最重要的LS和MMSE均衡算法:

    img

    img

    img

    img

    img

    书上的6.14-6.17公式,我到没有想得非常明白。因为在6.14中,需要用到H,但接收端是不知道H的。

    在一个指数衰减的多径功率时延谱(PDP)中,频域相关为6.16。那什么时候算是多径功率时延谱呢,如果不是指数衰减的多径功率时延谱,怎么进行处理呢?类似地问题,书中并没有讲清楚。

    因此,在这部分代码中,我是直接调用书中自带的MMSE_CE.m这个代码的。

    三、完整可运行MATLAB代码及其注意点

    先展示实验结果:

    img

    图2 不同均衡算法的误码率曲线图
    这张图是怎么来的呢?运行下面的代码即可。
    %%%%%%%%%%%%%%%%%%%%% OFDM仿真 %%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%% ofdm_fading_sim4.m  %%%%%%%%%
    %%%%%%%%%  data:2020年11月17日  author:飞蓬大将军 %%%%%%%%%%
    
    
    %%%%%程序说明
    %%%多径衰落信道下的OFDM传输
    %%%调制方式:QPSK
    %%%信道编码方式:无
    %%%导频方式:梳状类型
    
    %%%sim系列说明
    %%%sim2:接收端不做捕获和同步,也不做信道估计,假设知道信道条件,后续版本考虑信道估计
    %%%sim3:发送端插入梳状导频、接收端采用LS和MMSE信道估计算法
    %%%sim4:尝试解决sim3中遗留问题,并将LS均衡方法、MMSE均衡方法与完美均衡(即接收端知道h,直接fft来做均衡)
    
    %%%%    仿真环境
    %软件版本:MATLAB R2019a
    
    %********************** 程序主体 ************%
    
    %%%%%%%%%%%%%%%%%%%%%  参数设置   %%%%%%%%%%%%%%%%%%%
    para = 48;   %Number of parallel channel to transmit
    fftlen = 64;  %FFT length
    noc = 64;    %Number of carrier 
    nd = 1;  %Number of information OFDM symbol for one loop
    ml = 2;   %Modulation:QPSK
    sr = 250000;  %Symbol rate 符号速率
    br = sr.*ml;  %Bit rate per carrier
    gilen = 16; %length of guard interval 
    
    %%%%%%%%%%比特信噪比设置
    %%%先设置大的,程序运行正确后,再设更多的信噪比设置,以画误码率曲线
    % ebn0_temp = 80;
    ebn0_temp = 1:1:30;
    ber_fading_ls_linear = zeros(1,length(ebn0_temp));
    ber_fading_ls_spline = zeros(1,length(ebn0_temp));
    ber_fading_mmse = zeros(1,length(ebn0_temp));
    ber_fading_per = zeros(1,length(ebn0_temp));
    
    %%%%%%%导频信息
    Nps = 4;  %导频间隔,起始
    B_pilot = 1;  %导频起始位置,第1号子载波
    Np = fftlen/Nps; %导频数量
    
    for kkk = 1:length(ebn0_temp)
        
    ebn0 = ebn0_temp(kkk);  %Eb/No 
    
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%  Fading initialization %%%%%%%%%%%%%%
    
    PowerdB=[-1 -8 -17 -21 -25]; % 信道抽头功率特性
    Delay=[0 3 5 6 8];          % 信道时延,示例
    % Delay=[0 3 5 56 78];          % 信道时延
    Power=10.^(PowerdB/10);     % 信道抽头功率特性 '线性'
    Ntap=length(PowerdB);       % 信道抽头数
    Lch=Delay(end)+1;           % 信道长度
    
    
    %%%%%%%%%%%%%%%%%%%%%  主循环 %%%%%%%%%%%%%
    
    nloop = 20000; %Number of sumulation loops 
    
    noe2_ls_linear_temp = 0; %Number of error data  of LS_linear
    noe2_ls_spline_temp = 0; %Number of error data of  LS_spline
    noe2_mmse_temp = 0; %Number of error data of MMSE
    noe2_per_temp = 0; %Number of error data of perfect compensation
    
    
    nod = 0; %Number of transmitted data 
    
    for iii = 1:nloop
        %%%%%%%%%%%%%%%%%  发射机  %%%%%%%%%%%%%%%%%%%
       seldata = rand(1,para*nd*ml)>0.5;  %串行数据
    
    %     seldata = ones(1,para*nd*ml);  %用于调试程序
        paradata = reshape(seldata,para,nd*ml); %串并转换
    
        [ich,qch] = qpskmod(paradata,para,nd,ml); %调制
        kmod = 1/sqrt(2);
        ich1 = ich.*kmod;
        qch1 = qch.*kmod;
        ch1 = ich1 + qch1*1j;
        
        %%%%%%%%%%%将导频进行插入
    %     Xp = 2*(randn(1,Np)>0)-1;    % Pilot sequence generation
    %     Xp = 2*randi([0 1],1,Np) - 1;
        Xp = 2*ones(Np,nd) - 1;
        %%%方式一:
        X = zeros(fftlen,nd);
        ip = 0;    
        pilot_loc = [];
        for k=1:fftlen
           if mod(k,Nps)==1
                 temp = floor(k/Nps)+1;
                 X(k,:) = Xp(temp,:);
    %            X(k) = Xp(floor(k/Nps)+1); 
                 pilot_loc = [pilot_loc k]; 
                 ip = ip+1;
             else
                 X(k,:) = ch1(k-ip,:);
           end
        end
    
          %%%%%方式二:可以先把导频位置和数据位置算出来,比如kk1,kk2,相应放入
        
        %%%%%%%%%%%% IFFT %%%%%%%%%%
    
        y = ifft(X);
        ich2 = real(y);
        qch2 = imag(y);
        
         %%%观察信号功率
    %     spow2 = sum(sum(ich2.^2+ qch2.^2))/nd./para;
        
        
        %%%%%%%% 添加保护间隔 %%%%%%%%
        [ich3,qch3] = giins(ich2,qch2,fftlen,gilen,nd);
        fftlen2 = fftlen + gilen;
        
        
        %****************  Attenuation Calculation **************
    %     %%%方式一:
    %     spow = sum(ich3.^2+ qch3.^2)/nd./para;
    %     attn = 0.5*spow*sr/br*10.^(-ebn0/10);
    %     attn = sqrt(attn);
       
        
        %%%方式二:
    %     snr = ebn0 + 10*log10(2);
    %     attn = sqrt(10.^(-snr/10)*spow/2);
        %以上两种方式表达是一样的
        
        %%%方式三:
        
        spow4 = sum(ich3.^2+ qch3.^2)/nd./fftlen2;
        esn0 = ebn0 + 10*log10(para/fftlen2) + 10*log10(ml);
        attn2 = 0.5*spow4*10.^(-esn0/10);
        attn2 = sqrt(attn2);
        
     
        
    %     aaa = 1; %用于调试
    
        %***************  衰落信道 Fading channel ***************%
        channel = (randn(1,Ntap) + 1j * randn(1,Ntap)).*sqrt(Power/2);
        h = zeros(1,Lch);
        h(Delay+1) = channel;
        y = conv(ich3 + 1j*qch3,h);
        ifade = real(y(:,1:length(ich3)));
        qfade = imag(y(:,1:length(ich3)));
        spow5 = sum(ifade.^2+ qfade.^2)/nd./fftlen2;
        
    %     %%%方式四:
    %     esn0 = ebn0 + 10*log10(para/fftlen2) + 10*log10(ml);
    %     attn2 = 0.5*spow5*10.^(-esn0/10);
    %     attn2 = sqrt(attn2);
    %     
        %%%%%不管哪种方式,以attn传入
        attn =  attn2;
        
        
        %***********************  接收机 *******************%
        %%%%%%%%%%假设已经完美同步上
        %%%%%%%%%% AWGN addition %%%%%%%%%
        [ich4,qch4] = comb(ifade,qfade,attn);
    
        %%%%%%%% 去掉保护间隔 %%%%%%%%
        [ich5,qch5] = girem(ich4,qch4,fftlen2,gilen,nd);
        
        
        %%%%%%%%%%%%%%  FFT %%%%%%%%
        rx = ich5 + qch5.*1i;
        ry = fft(rx);
    %     ich6 = real(ry);
    %     qch6 = imag(ry);
    
        %%%%%%%  信道估计  %%%%
        for m=1:3
             if m==1 
                 H_est_ls_linear = LS_CE(ry.',Xp.',pilot_loc,fftlen,Nps,'linear');
    %              method='LS-linear'; % LS estimation with linear interpolation
             elseif m==2
                 H_est_ls_spline = LS_CE(ry.',Xp.',pilot_loc,fftlen,Nps,'spline'); 
    %              method='LS-spline'; % LS estimation with spline interpolation
             else
    %              H_est_mmse = MMSE_CE(ry.',Xp.',pilot_loc,fftlen,Nps,h,SNR); 
                  H_est_mmse = MMSE_CE(ry.',Xp.',pilot_loc,fftlen,Nps,h,ebn0); 
    %              method='MMSE'; % MMSE estimation
             end
        end % end for count'
        
       
        
        %%%%%%%%  信道均衡 %%%%
        %%%注意A的共轭转置和转置的区别,前者是A',后者是A.'
        %%%%采用导频估计出的h,进行均衡
        ry_ls_linear_temp = ry./(H_est_ls_linear.');
        ry_ls_spline_temp = ry./(H_est_ls_spline.');
        ry_mmse_temp = ry./(H_est_mmse.');
        
        %%%假设接收端完美知道h,进行均衡
        H = fft([h,zeros(1,fftlen-Lch)].');
        ry_per_temp = ry./H; 
        
        
        
        
        %%%%%%%%%% 去除导频
        ip = 0;
        for k=1:fftlen
           if mod(k,Nps)==1
    %              temp = floor(k/Nps)+1;
    %              X(k,:) = Xp(temp,:);
    % %            X(k) = Xp(floor(k/Nps)+1); 
    %              pilot_loc = [pilot_loc k]; 
                 ip = ip+1;
           else
                 ry_ls_linear(k-ip,:) = ry_ls_linear_temp(k,:);
                 ry_ls_spline(k-ip,:) = ry_ls_spline_temp(k,:);
                 ry_mmse(k-ip,:) = ry_mmse_temp(k,:);
                 ry_per(k-ip,:) = ry_per_temp(k,:);
           end
        end
        
        
        %%%%%%%%%%%%%% demoluation %%%%%%%%%%%%%
        demodata_ls_linear = qpskdemod(real(ry_ls_linear)./kmod,imag(ry_ls_linear)./kmod,para,nd,ml);
        demodata_ls_spline= qpskdemod(real(ry_ls_spline)./kmod,imag(ry_ls_spline)./kmod,para,nd,ml);
        demodata_mmse = qpskdemod(real(ry_mmse)./kmod,imag(ry_mmse)./kmod,para,nd,ml);
        demodata_per = qpskdemod(real(ry_per)./kmod,imag(ry_per)./kmod,para,nd,ml);
        
        %%%%%%%%%%%%%% 并串转换 %%%%%%%%%
        demodata1_ls_linear = reshape(demodata_ls_linear,1,para*nd*ml);
        demodata1_ls_spline = reshape(demodata_ls_spline,1,para*nd*ml);
        demodata1_mmse  = reshape(demodata_mmse,1,para*nd*ml);
        demodata1_per = reshape(demodata_per,1,para*nd*ml);
        
        
        %%%%%%%%%%%%%%% Bit Error Rate %%%%%%%%%%%
        noe2_ls_linear = sum(abs(demodata1_ls_linear-seldata));
        noe2_ls_spline = sum(abs(demodata1_ls_spline-seldata));
        noe2_mmse = sum(abs(demodata1_mmse-seldata));
        noe2_per = sum(abs(demodata1_per-seldata));
        nod2 = length(seldata);
        
        %%%%cumulative the number of error and data in noe and nod
        noe2_ls_linear_temp = noe2_ls_linear_temp + noe2_ls_linear; %Number of error data  of LS_linear
        noe2_ls_spline_temp = noe2_ls_spline_temp + noe2_ls_spline ; %Number of error data of  LS_spline
        noe2_mmse_temp = noe2_mmse_temp + noe2_mmse; %Number of error data of MMSE
        noe2_per_temp = noe2_per_temp + noe2_per;
        nod = nod + nod2;
            
        
    end
    %**************   output result *************
    ber_ls_linear_temp = noe2_ls_linear_temp/nod;
    ber_ls_spline_temp = noe2_ls_spline_temp/nod;
    ber_mmse_temp = noe2_mmse_temp/nod;
    ber_per_temp = noe2_per_temp/nod;
    
    
    ber_fading_ls_linear(1,kkk) = ber_ls_linear_temp ;
    ber_fading_ls_spline(1,kkk) = ber_ls_spline_temp;
    ber_fading_mmse(1,kkk) = ber_mmse_temp;
    ber_fading_per(1,kkk) = ber_per_temp;
    
    
    end
    
    %************************* 画误码率曲线进行对比 ******************%
    ebn0_temp = 1:1:30;
    rayleign_one_path_theory = ber_temp(ebn0_temp); 
    semilogy(ebn0_temp,rayleign_one_path_theory,'-*',ebn0_temp,ber_fading_ls_linear,'-^',ebn0_temp,ber_fading_ls_spline,'->',ebn0_temp,ber_fading_mmse,'-<',ebn0_temp,ber_fading_per,'-+');
    xlabel('比特信噪比');
    ylabel('误码率');
    title('多径衰落信道下误码率仿真曲线');
    legend('理论曲线','lslinear实验曲线','lsspline实验曲线','mmse实验曲线','完美均衡实验曲线');
    grid on;
    %***********   多径瑞利衰落下的OFDM采用BPSK调制的误码率值 **********%
    
    %%%%%%%%%%%%%%%%%%%%%%%      理论值          **************%
    %%%%%%%%%%%%%     EbN0(dB)      误码率        
    %%%%%%%%%%%%%       3        0.125000000000000
    %%%%%%%%%%%%%       4        0.100000000000000
    %%%%%%%%%%%%%       5        0.0833333333333333
    %%%%%%%%%%%%%       6        0.0714285714285715
    %%%%%%%%%%%%%       7        0.0625000000000000
    %%%%%%%%%%%%%       8        0.0555555555555556
    %%%%%%%%%%%%%       9        0.0500000000000000
    %%%%%%%%%%%%%      10        0.0454545454545455
    
    %%%%%%%%%%%%%%%%%   结论    %%%%%%%%%%%%%%%%%%%%
    %%%实验记录 2020年11月14日
    %含已知导频的OFDM经过多径衰落信道的误码率仿真
    %OFDM中引入保护间隔,是一种冗余信息,因此相比于理论误码率曲线有10*log(160/128)=0.969dB的损失
    %OFDM信道估计引入了发送和接收端都已知的导频信号,这也是冗余,所以设计SNR与Eb/N0的换算
    %本次实验还缺少相应的理论分析
    

    运行上面的代码,完整的代码已经上传github,地址:123kevin456/OFDM-

    有以下几点需要注意,当然也是我自己的思考,不一定就完全正确,欢迎你提问、交流与讨论:

    (1)在上一讲《OFDM 信道估计与均衡(3)》中讲到过AWGN信道和衰落信道h的不同,对于高斯白噪声信道来说,在发送端和接收端信号功率是没有变化的。但是对于衰落信道来说,衰落信道会使得发送功率和到达接收端功率不一样。

    因此,我在上面的代码中分别提到了四种方式,目的是计算并观察信号在不同位置的功率,比如经过IFFT前后,经过衰落信道前后等等。

    实际系统中,接收端的白噪声功率是一个固定值。

    比如接收端的噪声功率谱密度是0.5w/Hz(也就是0.5J),发送端一个1J的比特发过来。如果是AWGN,那么到达接收端这个比特的能量仍然是1J,此时接收端比特信噪比是3dB。

    但是若经过h=0.5的单径衰落信道过来接收端,那么到达接收端这个比特的能量就是0.25J了,此时比特信噪比是-3dB。

    所以上面代码中h的设置,其实会影响到图2曲线的左移或者右移。至于是不是正确,仿真是不是应该这样仿,我不太确定,哈哈哈哈哈哈。

    (2)仿真中我们都先习惯于设置Eb/N0的值,然后去推Es/N0的值,这个怎么推,我在《第二章:线性分组码》和《第1章:BPSK调制解调器仿真》讲过,即需要考虑到调制编码的影响。

    有了采样率和系统带宽后,便可以继续从Es/N0往SNR推。

    但在OFDM中有了CP和导频后,这些数据会影响到Eb/N0与Es/N0换算中的k值吗?

    我觉得会的,因为CP和导频的存在,本质上都是为了通信系统的可靠性

    CP和导频均消耗了系统的功率资源,但都没有为系统发送更多的数据做贡献,所以将他们当做冗余来进行处理。这也是为什么多次尝试在上面的代码总修改功率的计算位置。

    无论是《MIMO-OFDM无线通信技术及MATLAB实现》还是《Simulation and Software Radio for Mobile Communications》,均没有我上面疑问的答案。

    在仿真中是否需要我这么考虑,我也不确定,造成的结果也是实验曲线会相比理论有一定的平移。

    至此,OFDM信道估计与均衡部分就全部讲完。下一步可能会更新OFDM同步技术。

    四、总结

    自本科听说过OFDM、信道估计、均衡等概念,到前段时间开始思考如何用MATLAB来仿真OFDM系统呢?相隔了三年。

    看到了知乎上@子木的《OFDM完整仿真过程及解释(MATLAB)》以及《给“小白”图示讲解OFDM的原理》,他们的文章写得非常好,帮助我开始理解OFDM相关的知识。

    然后我结合《MIMO-OFDM无线通信技术及MATLAB实现》和《Simulation and Software Radio for Mobile Communications》书中的代码,开始慢慢摸索写出仿真。但是在调试代码的过程中,常常出现问题。偶与师兄讨论,有所收获,记录在此,希望对刚接触OFDM仿真的同学有所帮助。

    欢迎你双击屏幕、点赞、收藏、转发和分享,关注我的知乎号、CSDN号,也欢迎读者朋友就相关技术问题与我交流,一起学习,共同进步。请你也别忘了把这篇文章分享给你身边正在学习通信专业的同学们,也许能够帮到Ta。

    这是《陈老湿·通信MATLAB》仿真的第7章,期待下次更新见!

    展开全文
  • 短波信道中的信道估计与单载波频域均衡,陈灿,李绍胜,在无线信道通信时,由于多径效应的影响,信号波形会展宽产生码间干扰,通信系统的误码率会增加,为了消除多径效应的影响并降低误
  • OFDM系统信道估计与均衡方案的FPGA设计实现,李国彬,郭黎利,对于无线数字通信系统,信道的选择性衰落特性对传输的信号会产生很大影响。接收信号在时间和频率维度均会出现不同程度的畸变。收
  • 第7章:OFDM 信道估计与均衡(5)

    千次阅读 2021-02-22 21:13:35
    第7章(5)内容如下:一、参考资料二...(2)OFDMIFFT、FFT的关系 (3)子载波(ICI)和符号间干扰(ISI)的区别 解决以上的问题,明晰一些概念,也是为OFDM同步的内容做知识储备。 我一直提到的《MIMO-OFDM无线通信

    本已打算更新OFDM同步方面的内容了,但在这之前仍有许多问题浮现在脑海,比如

    (1)保护间隔(GI)和循环前缀(CP)、补零(zero padding,ZP)的区别

    (2)OFDM与IFFT、FFT的关系

    (3)子载波(ICI)和符号间干扰(ISI)的区别

    解决以上的问题,明晰一些概念,也是为OFDM同步的内容做知识储备。

    我一直提到的《MIMO-OFDM无线通信技术及MATLAB实现》下载地址是:https://github.com/LyricYang/MIMO_OFDM,该书有的代码版本可能老旧,因此需要偶尔改改代码适应新的MATLAB版本才可以正常运行。

    因此,本文先讨论以上提到的问题,然后集中在OFDM采用ZP或者CP,经过多径衰落信道的误码率分析,并附上完整可运行的代码,代码下载地址:123kevin456/OFDM-5

    若出现代码缺少子函数,可在《MIMO-OFDM无线通信技术及MATLAB实现》的下载地址中https://github.com/LyricYang/MIMO_OFDM 找到相应函数。

    一、参考资料

    1、《MIMO-OFDM的无线通信技术及其MATLAB实现》

    2、孙宇彤《LTE教程:原理和实现》

    此书对于刚开始接触LTE协议的我来说,有一定的帮助。该书没有复杂的计算公式,也没有代码的相关验证,用大量的例子和图示来通俗讲明白LTE协议的许多概念,不错

    3、CSDN的《OFDM专题之子载波间干扰问题(一)》和《OFDM专题之子载波间干扰问题(二)》、《给“小白”图示讲解OFDM的原理》,这几篇文章均不错,值得多次反复学习,我时不时会翻出来阅读,认真消化

    二、OFDM相关问题继续探讨

    1、子载波干扰(ICI)和符号间干扰(ISI)是什么?出现这两种干扰后,各自的应对方法是什么?保护间隔(GI)和补零(ZP)、循环前缀(CP)的区别?

    每次用到保护间隔时都是以CP的形式吗?用了CP后会有子载波干扰(ICI)和符号间干扰(ISI)吗?

    2、IFFT与FFT等技术与OFDM实现的关系?OFDM是不是就一定要用到IFFT和FFT技术?或者更本质的讲,IFFT与FFT等技术在OFDM实现中,到底起到什么样的作用?

    3、下图(a)中,为什么是不同子载波信号是加到一起再进行发送呢?而不是各自发送?这是受到什么约束了呢?

    img

    接下来对各个问题依次回答。

    1、子载波干扰(ICI)和符号间干扰(ISI)是什么?出现这两种干扰后,各自的应对方法是什么?

    在OFDM系统,最基本的传输单位是OFDM符号。由于同一信号的不同分量经过不同路径到达接收端的时间不一样。

    img

    如图4.14所示,如果保护间隔长度小于最大多径时延扩展,对于前一个OFDM符号的尾部已经影响到下一个OFDM符号的前端,这样就造成ISI。

    有了符号间干扰怎么来解决呢?

    当出现这个问题的时候,有的书籍便就立马引出来CP的概念了,但不解释清为什么。

    其实有了符号间干扰后,我们的目的依然是让不同的OFDM符号区分开来,只需要加入保护间隔(GI)即可。

    而保护间隔有两种插入方法,一种是补零(ZP),即在保护间隔中补充0。这便可以使得第n个符号经过最长路径后也不会影响到第n+1个符号,但这会给系统带来ICI

    思考下为什么带来ICI?可以看《OFDM专题之子载波间干扰问题(一)》和《OFDM专题之子载波间干扰问题(二)》,这两篇文章解释得非常好)。

    另一种便是CP。这个在《第7章:OFDM 信道估计与均衡(1)》中也已经讲到过其作用。

    CP是既起到了保护间隔作用,避免了ISI,同时又使得循环扩展(为了某种连续性,可以说是为了循环卷积)消除了ICI,真是非常巧妙。

    加CP和加ZP,对应在下面的代码中,是信号在接收端的处理方式有所不同。

    function y=remove_GI(Ng,Lsym,NgType,ofdmSym)
    
    if Ng~=0
      if NgType==1  % cyclic prefix
        y=ofdmSym(Ng+1:Lsym);
       elseif NgType==2 % zp
        y=ofdmSym(1:Lsym-Ng)+[ofdmSym(Lsym-Ng+1:Lsym) zeros(1,Lsym-2*Ng)];
      end
     else
      y=ofdmSym;
    end
    

    2、IFFT与FFT等技术与OFDM实现的关系?OFDM是不是就一定要用到IFFT和FFT技术?或者更本质地讲,IFFT与FFT等技术在OFDM实现中,到底起到什么样的作用?

    在实现OFDM时,IFFT和FFT不是唯一的方法,但是一种比较好的方法。

    img

    img

    img

    孙宇彤《LTE教程:原理和实现》还介绍了OFDM信号的其他生成算法,比如反向离散哈特利变换(IDHT)、离散余弦变换等等。

    img

    img

    接下来再举孙宇彤《LTE教程:原理和实现》中讲到IFFT作用,这与我在别的地方看到的不一样,可做参考。

    img

    img

    三、CP和ZP对OFDM系统的影响(完整可运行MATLAB代码及其注意点)

    %%%%%%%%%%%%%%%%%%%%%       检查正弦信号间的相交性    %%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%        OFDM_basic_myself3.m            %%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%      data:2020年12月11日  author:飞蓬大将军 %%%%%%%%%%
    
    %%%%%%%%%%%%%%%%%程序说明
    %%%(1)CP和ZP作用   (2)子载波干扰与符号间干扰的区别及其消除方法
    
    %%%%%%    仿真环境
    %软件版本:MATLAB R2019a
    
    %**************************** 程序主体 **************************%
    clear all;
    
    %%%%%%%%%%%%%%%%%%%%参数设定%%%%%%%%%%%%%
    
    
    %%%%选择CP或ZP
    NgType = 1;  %对于ZP或CP NgType = 1或2
    if NgType == 1
        nt = 'CP';
    elseif NgType == 2
        nt = 'ZP';
    end
    
    %%%%选择信道类型
    Ch = 0;
    if Ch == 0
        chType ='AWGN'; %高斯白噪声信道 
        Target_neb = 100;
    else
        chType ='CH';
        Target_neb = 500;
    end
    figure(Ch+1);
    clf;
    
    PowerdB = [0 -8 -17 -21 -25]; %信道抽头功率特性'dB'
    Delay = [0 3 5 6 8]; %信道时延 
    Power = 10.^(PowerdB/10); %信道抽头功率特性 '线性'
    Ntap = length(PowerdB);
    Lch = Delay(end)+1;
    Nbps = 2;   %调制阶数 2/4/6
    M = 2^Nbps; %QPSK、16-QAM、64-QAM
    Nfft = 64; %FFT大小
    
    %Ng = 3;
    
    Ng = Nfft/4; %保护间隔(GI)长度,若没有保护间隔,Ng = 0
    Nsym = Nfft + Ng; %符号周期
    
    %%%调整Nvc
    Nvc = Nfft/4; %Nvc若等于0,则没有VC(虚拟子载波)
    % Nvc = 0; %Nvc若等于0,则没有VC(虚拟子载波)
    
    Nused = Nfft - Nvc; %Nused为用于传输数据的子载波数
    
    EbN0 = [0:2:20];  %Eb/N0
    % EbN0 = 50;  %Eb/N0
    N_iter = 1e5;  %对于每一次EbN0的迭代次数
    Nframe = 3; %每一帧的符号数
    sigPow = 0; %初始信号功率
    file_name = ['OFDM_BER_' chType '_' nt '_' 'GL' num2str(Ng) '.dat'];
    fid = fopen(file_name,'w+');
    norms = [1 sqrt(2) 0 sqrt(10) 0 sqrt(42)];  %BPSK 4-QAM 16-QAM
    
    
    for i = 0:length(EbN0)
        randn('state',0);
        rand('state',0);
        Ber2=ber(); %初始化BER
        Neb = 0; %初始化误比特数
        Ntb = 0; %初始化总比特数
        for m = 1:N_iter
            X = randi([0 M-1],1,Nused*Nframe);
            Xmod = qammod(X,M,'gray')/norms(Nbps);
            if NgType~=2
                x_GI = zeros(1,Nframe*Nsym);
            elseif  NgType == 2
                x_GI = zeros(1,Nframe*Nsym+Ng);
            end
    %         kk1 = 1:Nused/2;
    %         kk2 = Nused/2+1:Nused;
            kk1 = [1:Nused/2];
            kk2 = [Nused/2+1:Nused];
            kk3 = 1:Nfft;
            kk4 = 1:Nsym;
            for k = 1:Nframe
                if Nvc~= 0
                    X_shift = [0 Xmod(kk2) zeros(1,Nvc-1) Xmod(kk1)];
                else
                    X_shift = [Xmod(kk2) Xmod(kk1)];
                end
                x = ifft(X_shift);
                x_GI(kk4) = guard_interval(Ng,Nfft,NgType,x);
                kk1 = kk1 + Nused;
                kk2 = kk2 + Nused;
                kk3 = kk3 + Nfft;
                kk4 = kk4 + Nsym;
            end
            
            %%%%%能量检测
            if i == 0   %只测量信号功率
                sigPow_temp = x_GI*x_GI';;
            end
            
            
            
            if Ch==0
                y = x_GI;  %没有信道
            else      %多径衰落信道
                channel =(randn(1,Ntap)+1j*randn(1,Ntap)).*sqrt(Power/2);
                h = zeros(1,Lch);
                h(Delay+1) = channel;
                y = conv(x_GI,h);
            end
            
            if i == 0   %只测量信号功率
                y1 = y(1:Nframe*Nsym);
                sigPow = sigPow + y1*y1';
                continue;
            end
    
            %******************** 信道 ***********************%
            snr = EbN0(i) + 10*log10(Nbps*(Nused/Nfft));  %%方便fig标号,(1),原书公式
    %         snr = EbN0(i) + 10*log10(Nbps);
    %         snr = EbN0(i) + 10*log10(Nbps*(Nfft/Nsym));  %%方便fig标号,(3)CP消耗能量
            noise_msg = sqrt((10.^(-snr/10))*sigPow/2);
            y_GI = y + noise_msg*(randn(size(y)) + 1j*randn(size(y)));
            
            %%%%%%%%%%%接收端
            kk1 = (NgType==2)*Ng + [1:Nsym];
            kk2 = 1:Nfft;
            kk3 = 1:Nused;
            kk4 = Nused/2 + Nvc + 1:Nfft;
            kk5 = (Nvc~=0)+[1:Nused/2];
            if Ch ==1
                H = fft([h zeros(1,Nfft-Lch)]);  %信道频率响应
                H_shift(kk3) = [H(kk4) H(kk5)];
            end
            
            for k =1:Nframe
                Y(kk2) = fft(remove_GI(Ng,Nsym,NgType,y_GI(kk1)));
                Y_shift = [Y(kk4) Y(kk5)];
                if Ch ==0
                    Xmod_r(kk3) = Y_shift;
                else
                    Xmod_r(kk3) = Y_shift./H_shift;  %均衡器
                end
                kk1 = kk1 + Nsym;
                kk2 = kk2 + Nfft;
                kk3 = kk3 + Nused;
                kk4 = kk4 + Nfft;
                kk5 = kk5 + Nfft;
            end
            X_r = qamdemod(Xmod_r*norms(Nbps),M,'gray');
            Neb = Neb + sum(sum(de2bi(X_r,Nbps)~=de2bi(X,Nbps)));
            Ntb = Ntb + Nused*Nframe*Nbps;
    %         if Neb>Target_neb
    %             break
    %         end
        end
        if i == 0
            sigPow = sigPow/Nsym/Nframe/N_iter;
            fprintf('Signal power= %11.3e\n', sigPow);
            fprintf(fid,'%%Signal power= %11.3e\n%%EbN0[dB]       BER\n', sigPow);
        else
            Ber = Neb/Ntb;
            fprintf('EbN0=%3d[dB], BER=%4d/%8d=%11.3e\n', EbN0(i), Neb,Ntb,Ber)
            fprintf(fid, '%d\t%11.3e\n', EbN0(i), Ber);
            if Ber<1e-6
                break;
            end
        end
    end %end for i
    if(fid~=0)
         fclose(fid);
    end
    disp('sumualtion is finished');
    plot_ber(file_name,Nbps);
    
    %%%%选择CP或ZP
    if Ch == 1
        if NgType == 1
            a = load(file_name);
            save('ofdm_basic_myself3_cp16_rayleigh','a');
        elseif NgType == 2
            b = load(file_name);
            save('ofdm_basic_myself3_zp16_rayleigh','b');
        end
    else
        
    
    %%%%%%%%%%%%%%实验记录
    %%%%2020年12月11日
    %%%%CP和ZP都能起到保护间隔的作用,消除了子载波干扰和符号间干扰
    %%%%在AWGN和瑞利信道下均能画出正确误码率曲线
    
        
    
      
             
    

    在上面的代码中,有以下几点值得注意:

    (1)SNR其实是ES/N0

    原书公式snr = EbN0(i) + 10log10(Nbps)+10log10*(Nused/Nfft)),其实是EsN0(i) = EbN0(i) + 10log10(Nbps)+10log10*(Nused/Nfft)) 有10*log10(Nbps)这一项是很好理解的,因为一个调制后的符号能量是Nbps个比特的能量。后面的10*log10*(Nused/Nfft))让我想了非常久

    E b R b = E s R s {E_b}{R_b} = {E_s}{R_s} EbRb=EsRs ,得到 E s N 0 = E b N 0 R b R s \frac{{{E_s}}}{{{N_0}}} = \frac{{{E_b}}}{{{N_0}}}\frac{{{R_b}}}{{{R_s}}} N0Es=N0EbRsRb

    R b = N u s e d N b p s T s y m + T G I {R_b} = \frac{{{N_{used}}Nbps}}{{{T_{sym}} + {T_{GI}}}} Rb=Tsym+TGINusedNbps ,而 R s = N f f t T s y m + T G I {R_s} = \frac{{{N_{fft}}}}{{{T_{sym}} + {T_{GI}}}} Rs=Tsym+TGINfft ,有了这两个公式,便可以理解上面EsN0与 EbN0的换算关系了。

    而书中给出了时域信噪比和频域信噪比的概念,这是我第一次听说这两名词。

    img

    在这里没有考虑我之前的通信有效性与可靠性的衡量,即将保护间隔当做冗余处理。

    (2)以上的代码是基带仿真!基带仿真!基带仿真!

    有的同学可能觉得经过IFFT之后,信号便被“调制”了。调制的目的是“搬移频谱”,做IFFT变换只是在基带上搬移了

    经过IFFT后的信号当做一个整体,再去乘以coswt,进行上载波,整体的搬移,信号才搬移到带通信号了。

    img

    图1 CP和ZP对AWGN下OFDM的误码率影响

    (3)调整NgType、CH的值、不同的调制方式、Ng的长度便可以得到相应的实验结果。

    下面的图中,AWGN analytic是AWGN信道下的理论误码率曲线、Rayleigh fading analytic是多径瑞利信道下的理论误码率曲线,下同。

    simulation是根据实验条件的仿真曲线,比如是加入CP还是ZP、在AWGN信道还是多径瑞利信道、CP或ZP的长度对实验的影响等等。

    img

    图2 多径瑞利信道,CP长为16的误码率曲线图

    img

    图3 多径瑞利信道,ZP长为16的误码率曲线图

    从图2和图3,可以看出CP和ZP长度大于最长路径时延时,且接收端完美知道信道状态信息,并能对有信道进行补偿后,都可使得两者的误码率曲线接近理论误码率曲线,实验正确。

    改变CP和ZP的长度为3:

    img

    图4 多径瑞利信道,ZP、CP长为3的误码率曲线图

    img

    图5 多径瑞利信道,ZP或CP为0的误码率曲线图

    (4)代码中还未对基带信号进行加窗处理,或者升余弦滚降处理,后续再考虑。

    四、总结

    OFDM系统中概念确实较多,然通过死记硬背不能充分理解各个知识点的前因后果,便常在脑海中有许多为什么?

    《MIMO-OFDM的无线通信技术及其MATLAB实现》中大量的数学公式和代码,但较枯燥;

    而CSDN的《OFDM专题之子载波间干扰问题(一)》和《OFDM专题之子载波间干扰问题(二)》、《给“小白”图示讲解OFDM的原理》,作者会结合图例与自己的理解,以更加通俗的方式讲出来。

    以上两类材料,相得益彰,一起阅读,效果更好。因此,同一个知识点,看不同的人讲,交叉验证,能帮助学习更扎实。

    欢迎你双击屏幕、点赞、收藏、转发和分享,关注我的知乎号、CSDN号,也欢迎读者朋友就相关技术问题与我交流,一起学习,共同进步。请你也别忘了把这篇文章分享给你身边正在学习通信专业的同学们,也许能够帮到Ta。

    这是《陈老湿·通信MATLAB》仿真的第7章,期待下次更新见!

    展开全文
  • 使用LS和mmse的信道估计和横向比较,生成信道曲线,可以直接运行。
  • 基于序列自相关的信道估计与均衡算法FPGA实现.pdf
  • GSM多功能基站中信道估计与均衡的设计及FPGA实现.pdf
  • 有一些相关的名词,如:信道估计信道均衡、盲均衡、非盲均衡、半盲均衡、动态均衡…… 首先,当信号在信道中传输时,会因信道环境而使信号受到恶化,我们希望能够量化出这种恶化,可能是具体的数学表达式,也可能...
  • 通过LS信道估计,获得OFDM均衡结果
  • 资源名:GSM 物理层信道编码调制_信道模拟_同步搜索,_信道估计_均衡解调_信道译码_matlab 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我...
  • 信道估计算法.doc

    2021-09-17 09:42:23
    专注于分享4/5G网优资料:包括网络优化基础原理资料、各厂家常用网管指导、接入、切换、掉线、高丢包、干扰分析、速率、容量负载均衡、覆盖单验簇优化、各类网优常用工具合集
  • 瑞利衰落信道模型,可以运用ofdm信道估计和时域均衡
  • 该算法将定时同步偏差等效为符号间干扰(ISI,inter-symbol interference)信道,通过信道估计和Turbo均衡相互反馈软信息来改善源信号信息恢复性能。重点研究了初始盲均衡算法、信道估计算法、混合信号的MMSE均衡...
  • 在此代码中,我们考虑了MIMO OFDM系统的最小平方误差信道估计。 用户可以访问MIMO OFDM系统的设计参数和信道状态信息。 L抽头瑞利衰落信道被视为在任何一对发射天线和接收天线之间。 将仿真结果得到的LSE信道的均方...
  • OFDM-:OFDM信道估计均衡
  • 迫零算法的信道估计与均衡的matlab实现,适合初学者
  • 深入研究了无线局域网的信道估计与均衡技术,通过大量Matlab算法仿真分析,总结出适用于IEEE 802.11(a)标准的信道估计与均衡算法,指出各种算法的优缺点及应用场合,有益于无线局域网系统信道估计与均衡部分的硬件...
  • 基于OFDM 的TD-LTE 已经成为4G 的主流技术之一,在TD-LTE 系统中,其关键技术信道估计是作为获取信道信息,进行信道均衡和传输方式选择的重要依据,本文以OFDM 信道估计原理为基础,总结了TD-LTE 系统中主流的信道...
  • 第7章:OFDM 信道估计与均衡(3)

    千次阅读 2021-02-22 19:00:33
    接着上两节已经讲过的内容,即OFDM经过高斯白噪声信道的误码率分析(第7章:OFDM 信道估计与均衡(1))和OFDM经过多径衰落信道的误码率分析(第7章:OFDM 信道估计与均衡(2))。 本文所有代码下载地地址:123...
  • 针对高速移动环境中的 OFDM接收问题,首先提出一种基于时变信道 KL基扩展模型(KL-BEM)的时域信道估计方案 。该方案用 KL-BEM的一组基函数近似表达若干个 OFDM符号时段内信道 的时变,并在相邻 OFDM符号之间插入短时...
  • lte信道估计资料

    2018-05-31 19:08:02
    信道估计的一些资料,主要是论文,可供参考。。。。。。。
  • 基于MATLAB实现OFDM系统基带信号在频率选择性衰落信道条件下的发送接收 题目及要求: 仿真系统构成:信号输入(为随机比特流)、OFDM调制、仿真信道传输、OFDM解调、信号输出(可能存在误码的比特率); 仿真分析...
  • TDS-OFDM接收机时变信道估计与均衡方法及系统.zip

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,013
精华内容 805
关键字:

信道估计与信道均衡