单载波频域均衡matlab仿真,包括卷积编码维特比译码,矩阵交织,QPSK调制解调,导频插入,MMSE-FDE频域均衡
创始人
2024-02-29 19:15:07
0

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

        频域均衡是从校正系统的频率特性出发,利用一个可调滤波器的频率的频率特性去补偿信道或系统的频率特性,使包括可调滤波器在内的基带系统的总特性接近无失真传输条件。频域均衡是在频域上进行的,频域均衡的基本思路是利用了幅度均衡器和相位均衡器来补偿传输系统幅频特性和相频特性的不理想,以达到所要求的理想形成波形,从而消除码间干扰。

频域均衡实现结构如下: 

(1)首先产生随机的二进制序列,把二进制数字序列中每两个比特分成一组映射为QPSK,QPSK在不加任何噪声和信道下完成接收端的时域判决,获得接受信号,完成系统的初步构建。

(2)在该系统中,加入加性高斯白噪声,分析系统的误码率性能,并与理论误码率性能相比较,进一步完善系统的构建。

(3)在该系统的基础上加入多径瑞利衰落信道,分析高斯白噪声信道及衰落信道中误码率性能。

(4)接着在数据发送端加入循环前缀(独特字UW),数据帧和UW进行数据重组,以保证离散时间信号在时域的圆周卷积等于频域的乘积以及用作信道的估计。

(5)在相同条件下,用ZF均衡和LMMSE均衡算法对SC-FDE系统的仿真与误码性能分析。

(6)在相同条件下,用线性LS及MMSE信道估计技术对SC-FDE系统的仿真与误码性能分析

SC-FDE流程图

       信道估计的线性最小均方误差LMMSE均方误差低于最小二乘法LS,信道估计精度更高,但是缺点是实现复杂。
       频域均衡的最小均方误差准则MMSE的误码率要低于迫零均衡ZF。这是由于迫零均衡ZF接收端在对有用信号的均衡的同时也会对噪声信号进行放大,大大降低了整个通信系统的可靠性,而对于最小均方误差准则MMSE,它充分考虑了噪声对信号的影响,从多方面考虑了对有用信号的均衡。尤其在信噪比低的情况下,最小均方误差准则MMSE的优势尤为明显,误码率远低于迫零均衡ZF。
       实现了要求对单载波频域均衡系统中映射/解映射、DFT/IDFT 变换、信道估计和信道均衡等基带数字信号处理技术进行深入研究并对收发各个模块进行设计,从整个SC-FDE系统上分析基带性能。
        本发明实施例提供一种单载波MMSE频域均衡方法,接收机及发射机,其中方法包括:接收数据帧,所述数据帧包括复包络相反的第一导频数据和第二导频数据;基于所述第一导频数据和所述第二导频数据之和,确定平均噪声功率;基于所述第一导频数据和所述第二导频数据之差,确定信道频域特性参数;基于所述平均噪声功率和所述信道频域特性参数,进行单载波MMSE频域均衡处理.

2.仿真效果预览

matlab2022a仿真结果如下:

3.MATLAB核心程序

%数据输入 -> 卷积编码 -> 矩阵交织 -> QPSK调制 -> 插入导频 -> 插入CP -> 
%channel -> AWGN channel -> 去除CP -> FDE -> QPSK解调 -> 矩阵去交织 -> Viterbi译码idx  = idx+1;%SC-FDE        for ii = 1:1:FrameNum[SNR,ii]%生成发射信号、卷积码、矩阵交织器和QPSK调制器BitsTranstmp  = round(rand(1,FrameSize));conv_out      = convenc( BitsTranstmp,trel );interleav_out = interleaving( conv_out,interleave_table );QPSK_out      = psk( interleav_out,2 );%insetting pilot -> insetting CPSignal_Tx     = [UW_Ge,QPSK_out,UW_Ge]; %通过信道Signal_Rx     = awgn( Signal_Tx,SNR,'measured');%Deleting CP -> MMSE_FDE    FDE_in        = Signal_Rx(1,1:(size(Signal_Rx,2)-UW_Num));FDE_out       = MMSE_FDE(FDE_in,UW_Ge);%Viterbideqpsk_out      = de_qpsk( FDE_out );deinterleav_out = de_interleaving( deqpsk_out,interleave_table );viterbi_out     = vitdec( deinterleav_out,trel,tblen,'cont','hard' );  %BER                   decoded         = viterbi_out(tblen+1:end);msg             = BitsTranstmp(1:end-tblen);[n,r] = biterr( decoded,msg );BER_arry(idx,ii) = r;endA76

4.完整MATLAB

matlab源码说明_我爱C编程的博客-CSDN博客

V

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...