单载波频域均衡matlab仿真,包括卷积编码维特比译码,矩阵交织,QPSK调制解调,导频插入,MMSE-FDE频域均衡
目录
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 CP
Signal_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);
%Viterbi
deqpsk_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;
end
A76
4.完整MATLAB
V
相关文章
- 修改matlab编码集到utf-8
- matlab求两向量夹角_MATLAB基础练习(一)
- matlab griddata nan,请教Matlab的griddata的用法
- matlab axis画圆,使用MATLAB中axis实现图形坐标控制-Go语言中文社区
- lasso回归matlab,机器学习Lasso回归重要论文和Matlab代码「建议收藏」
- NSGA2 Matlab toolbox
- nsga2 matlab,NSGA2算法特征选择MATLAB实现(多目标)
- matlab中如何求插值点,MATLAB插值「建议收藏」
- OFDM完整仿真过程及解释(MATLAB)
- matlab支持向量回归,支持向量回归 MATLAB代码
- matlab interp1db,matlab – Matlab interp1图出现数据偏移 – 堆栈内存溢出
- Matlab归一化函数(mapminmax)
- matlab画图标签,Matlab绘图
- matlab怎么将散点图的散点连线_plot函数画散点图
- matlab中产生随机数的函数
- MATLAB好玩的代码_Matlab代码
- matlab运行结果图片如何保存_应对数据丢失最简单的方法
- 香农编码的matlab实现总结_matlab简单代码实例
- matlab double类型数据_timestamp是什么数据类型
- matlab香农编码「建议收藏」
- matlab实现香农编码原理_香农编码c语言实现
- bp神经网络及matlab实现_bp神经网络应用实例Matlab
- matlab保存图片函数后突变分辨变化,MATLAB总结 – 图片保存「建议收藏」
- matlab保存所有图,Matlab中图片保存的5种方法
- zigzag扫描matlab,ZIGZAG扫描的MATLAB实现
- butterworth matlab,Matlab实现Butterworth滤波器
- Matlab 直方图_matlab分析
- MATLAB中plot函数_getline函数用法
- matlab 加权回归估计_Matlab:地理加权回归基本操作「建议收藏」
- MATLAB 循环语句_for循环matlab
- matlab画三维约束图命令,Matlab画三维图的方法[通俗易懂]
- MATLAB循环_matlab如何循环计算
- Matlabinf_matlab怎么定义函数
- Matlab函数定义_matlab子函数
- matlab流场可视化后处理「建议收藏」
- matlab vargin_matlab varargin
- MATLAB的图像显示方法
- Matlab数学科技应用软件下载,Matlab分析软件中文版下载安装教程
- Linux下使用Matlab玩转编程世界。(linux下matlab)
- Matlab与MySQL:极具价值的组合(matlab与mysql)