✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
🍎 往期回顾关注个人主页:Matlab科研工作室
🍊个人信条:格物致知,完整Matlab代码及仿真咨询内容私信。
🔥 内容介绍
信道估计是无线通信系统中一项关键技术,用于估计发送端和接收端之间的信道特性。在本文中,我们将讨论基于 QPSK 编码的两种信道估计方法:最小方差无偏估计 (MVU) 和最小均方误差 (MMSE) 估计。我们将推导出它们的估计公式,并分析它们的性能。
引言
在无线通信系统中,信道通常是不完美的,会引入衰落、相移和多径等失真。信道估计旨在估计这些信道特性,以补偿失真并提高通信性能。
QPSK(正交相移键控)是一种常用的调制技术,它使用四个正交相位来表示数据。QPSK 编码的信道估计具有较好的鲁棒性和性能。
MVU 信道估计
MVU 估计是无偏估计中方差最小的估计。对于 QPSK 编码,MVU 信道估计的公式为:
h_MVU = (1/4) * (r_1 - j * r_2 + r_3 + j * r_4)
其中,r_1
、r_2
、r_3
和 r_4
是接收到的 QPSK 信号的四个分量。
MMSE 信道估计
MMSE 估计是一种考虑了信道噪声影响的估计。对于 QPSK 编码,MMSE 信道估计的公式为:
h_MMSE = (1 / (1 + σ^2 / P)) * (r_1 - j * r_2 + r_3 + j * r_4)
其中,σ^2
是噪声功率,P
是信号功率。
性能分析
MVU 估计和 MMSE 估计的性能可以通过它们的均方误差 (MSE) 来衡量。对于 QPSK 编码,MVU 估计的 MSE 为:
MSE_MVU = σ^2 / 2
MMSE 估计的 MSE 为:
MSE_MMSE = σ^2 / (1 + σ^2 / P)
从公式中可以看出,MMSE 估计的 MSE 总是小于 MVU 估计的 MSE。这是因为 MMSE 估计考虑了噪声的影响,而 MVU 估计没有。
仿真结果
为了验证理论分析,我们进行了仿真实验。在仿真中,我们使用 QPSK 编码的信号,信道为瑞利衰落信道。我们比较了 MVU 估计和 MMSE 估计的 MSE。
仿真结果表明,MMSE 估计的 MSE 明显低于 MVU 估计的 MSE。这与理论分析一致。
结论
MVU 和 MMSE 信道估计都是基于 QPSK 编码的有效信道估计方法。MMSE 估计考虑了噪声的影响,因此具有更好的性能。在实际应用中,可以根据系统要求和信道条件选择合适的信道估计方法。
📣 部分代码
clear;
clc;
y=abs('abcdefghijklmn');%将字符串转换成ASCII码
y1=dec2bin(y,8); %将ASCII码转换成8位二进制数,‘char’
% y2=y1-48; %将二进制代码转换为矩阵,即将字符串转为数据,'double',或者用str2num
y2=y1+0-'0'; %char to double,char,其实也是ascII码,就给char数字加0,就将char变为double矩阵了,但是ascII码值,再减去‘0’就行了
x1=reshape(y2,1,[]);%将y2转为一维矩阵,上述两步为重中之重,只有转换为矩阵才能进行下面的运算
a=length(x1);
b=a/2;
c=ceil(b);
if c~=b
error('出错,请重新输入');
end
L=3;
t=0:20;
for n=1:2:a
if x1(n)==0 && x1(n+1)==0;
d((n+1)/2)=-1/sqrt(2);
d1((n+1)/2)=-1/sqrt(2);
elseif x1(n)==0 && x1(n+1)==1;
d((n+1)/2)=-1/sqrt(2);
d1((n+1)/2)=1/sqrt(2);
elseif x1(n)==1 && x1(n+1)==0;
d((n+1)/2)=1/sqrt(2);
d1((n+1)/2)=-1/sqrt(2);
elseif x1(n)==1 && x1(n+1)==1;
d((n+1)/2)=1/sqrt(2);
d1((n+1)/2)=1/sqrt(2);
end
end
s=(d+d1*1i).';
for SNR=0:20
sigma=L/exp(SNR/10);
for u=1:100
% h1=normrnd(0,1,1,L);
% h2=normrnd(0,1,1,L);
% h=((h1+h2*1i)/sqrt(2)).';
h=wgn(L,1,0,'complex');
x=comsystem(s,L,h,SNR);
h_estmvu=mvu(x,s,L);
h_estmmse=mmse(x,s,L,sigma);
var_mvu1=abs(h-h_estmvu).^2/3;
var_mmse1=abs(h-h_estmmse).^2/3;
var_mvu2(u)=sum(var_mvu1);
var_mmse2(u)=sum(var_mmse1);
end
errormvu=sum(var_mvu2);
errormmse=sum(var_mmse2);
var_minmvu(SNR+1) = errormvu/100;
var_minmmse(SNR+1)=errormmse/100;
end
semilogy(t,var_minmvu,'r-o'); %用圆圈标志点位置
hold on
semilogy(t,var_minmmse,'s-');
xlabel('SNRdB');
ylabel('误差');
legend('MVU估计','MMSE估计');
⛳️ 运行结果
🔗 参考文献
[1] 张驰,郭黎利.基于Matlab的FIR滤波器设计及FPGA实现[J].应用科技, 2006, 33(6):83-86.
[2] 许书云.FIR数字滤波器的Matlab实现[J].天津职业技术师范大学学报, 2013, 23(2):3.DOI:10.3969/j.issn.2095-0926.2013.02.010.
[3] 彭玲,刘晓忠,付杰,等.OFDM系统中基于导频的信道估计及其MATLAB仿真[J].井冈山学院学报, 2008(2期):47-49.DOI:10.3969/j.issn.1674-8085.2008.01.016.
[4] 彭玲.OFDM系统中基于导频的信道估计及其MATLAB仿真[J].井冈山学院学报, 2008.DOI:CNKI:SUN:JGSS.0.2008-01-015.
🎈 部分理论引用网络文献,若有侵权联系博主删除
🎁 关注我领取海量matlab电子书和数学建模资料
👇 私信完整代码和数据获取及论文数模仿真定制
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱船配载优化、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化
2 机器学习和深度学习方面
2.1 bp时序、回归预测和分类
2.2 ENS声神经网络时序、回归预测和分类
2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类
2.4 CNN/TCN卷积神经网络系列时序、回归预测和分类
2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类
2.7 ELMAN递归神经网络时序、回归\预测和分类
2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类
2.9 RBF径向基神经网络时序、回归预测和分类