【信号处理】CFO估计技术(Matlab代码实现)
目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码实现
1 概述
针对存在未知载波频偏(CFO)的线性调制分类,提出一种混合似似然比检测(qHLRT)分类器。并且通过使用多天线接收机来进一步增强分类性能。一种基于盲源分离技术的CFO估计器用于qHLRT分类器中,同时对不同天线支路的相移作出估计。针对AWGN信道M进制QAM信号进行仿真,结果显示带有该估计器的qHLRT分类器可以有效降低未知CFO的影响,利用空间分集可以进一步提高分类器性能。
2 运行结果
部分代码:
clear, clf
CFO = 0.15; %频偏
Nfft=128; %FFT的点数
Nbps=2; %调制阶数
M=2^Nbps;
Es=1;
A=sqrt(3/2/(M-1)*Es); %信号幅度
N=Nfft;
Ng=Nfft/4; %循环前缀或保护间隔长度
Nofdm=Nfft+Ng; %一个OFDM符号长度
Nsym=3;
h=complex(randn,randn)/sqrt(2);%信道冲击响应 %% Transmit signal
x=[];
for m=1:Nsymmsgint=randi([0,M-1],N);if i<=2Xp = add_pilot(zeros(1,Nfft),Nfft,4);Xf=Xp; else mod_object = modem.qammod('M',M, 'SymbolOrder','gray');Xf = A*modulate(mod_object,msgint);end xt = ifft(Xf,Nfft); x_sym = add_CP(xt,Ng);x= [x x_sym];
end
y=x;
sig_pow= y*y'/length(y);
SNRdBs= 0:3:30;
MaxIter = 100;
for i=1:length(SNRdBs)SNRdB = SNRdBs(i);MSE_CFO_CP = 0; MSE_CFO_Moose = 0; MSE_CFO_Classen = 0;rand('seed',1); randn('seed',1);y_CFO= add_CFO(y,CFO,Nfft);for iter=1:MaxItery_aw = awgn(y_CFO,SNRdB,'measured'); Est_CFO_CP = CFO_CP(y_aw,Nfft,Ng);MSE_CFO_CP = MSE_CFO_CP + (Est_CFO_CP-CFO)^2;Est_CFO_Moose = CFO_Moose(y_aw,Nfft);MSE_CFO_Moose = MSE_CFO_Moose + (Est_CFO_Moose-CFO)^2;Est_CFO_Classen = CFO_Classen(y_aw,Nfft,Ng,Xp); MSE_CFO_Classen = MSE_CFO_Classen + (Est_CFO_Classen-CFO)^2;endMSE_CP(i)=MSE_CFO_CP/MaxIter; MSE_Moose(i)=MSE_CFO_Moose/MaxIter; MSE_Classen(i)=MSE_CFO_Classen/MaxIter;
end
semilogy(SNRdBs, MSE_CP,'-+')
grid on
hold on
semilogy(SNRdBs, MSE_Moose,'-x')
semilogy(SNRdBs, MSE_Classen,'-*')
xlabel('SNR[dB]'), ylabel('MSE');
title('CFO Estimation');
legend('CP-based technique','Moose (Preamble-based)','Classen (Pilot-based)');
【信号处理】CFO估计技术(Matlab代码实现)相关推荐
- 【信号处理】基于扩展卡尔曼滤波器和无迹卡尔曼滤波器的窄带信号时变频率估计(Matlab代码实现)
目录 1 概述 2 数学模型 3 运行结果 4 结论 5 参考文献 6 Matlab代码实现 1 概述 本文讲解和比较了基于卡尔曼滤波器的频率跟踪方法的能力,例如扩展卡尔曼滤波器 (EKF) 和无味卡 ...
- 【滤波估计】基于双卡尔曼滤波实现soc和soh联合估计附matlab代码
1 内容介绍 对电动汽车电池管理系统进行电池状态估计非常重要准确充电,实现电池模型参数的在线更新.在本文中,开路电压的估计转换为开路电压拟合的估计参数,快速时变参数开路电压被转换成几个慢时变参数.提出 ...
- 【数学建模】基于SIR模型实现新冠病毒COVID-19估计附matlab代码
1 内容介绍 COVID-19是由严重急性呼吸综合症冠状病毒2型引发的传染病,它最初病毒携带者是一些动物,传染源主要是COVID-19患者,无症状患者.传播方式主要是呼吸道飞沫近距离传播,接触传播,还 ...
- 高频地波雷达电离层回波方向估计附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 基于子空间的OFDM系统盲信道估计附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 【信道估计】基于多用户MMSE-BLE算法实现信道估计附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 数字扫描变换技术 matlab代码,基于Matlab的数字扫描变换器设计
B超是目前广泛使用的超声诊断仪,B型超声诊断已经成为临床超声影像诊断中的重要手段[1].数字扫描变换(DigitalScanConverter,DSC)是B超中的核心部分,是计算机技术和数字图像处理技 ...
- 扩展卡尔曼滤波(EKF)估计SOC代码2详解,基于二阶RC模型(附MATLAB代码)
上次分享了一个扩展卡尔曼滤波估计SOC的代码,得到了很多小伙伴的支持,今天再分享一个很好用的扩展卡尔曼滤波估计SOC的程序.使用MATLAB语言完成程序的编写. 有关EKF的推导及原理请看我写的另一个 ...
- 认识LTE(六): LTE中的信道特征以及信道估计技术
认识LTE(六): LTE中的信道特征以及信道估计技术 文章目录 认识LTE(六): LTE中的信道特征以及信道估计技术 零.代码地址 一.LTE中的信道特征 1.信道的输入输出 2.LTE 特征信道 ...
最新文章
- Android上的MVP:如何组织显示层的内容
- 【Redis源码分析】Redis命令处理生命周期
- 前端学习(2811):小程序学习之学习目录
- java 流 flush_Java CharArrayWriter flush()方法
- 数据分析用这样的可视化报表,秒杀Excel,再也不怕被说low
- boost::asio async_write也不能保证一次发完所有数据 一
- 批处理mysql命令
- 服务器建立/删除信任公钥方法
- SQL Server 批量插入数据的两种方法 - 转
- 2017百越杯反序列化writeup
- php memcached存储对象,用于会话存储的Memcached或MySQL – PHP
- 【软件测评】屏幕标注软件
- 非线性调频信号matlab仿真,线性调频信号回波仿真
- 关于DBC文件的创建(DBC文件系列其一)
- 大学物理计算机仿真实验报告,大学物理实验实验报告模板.doc
- 乐高大颗粒作品23:磁悬浮列车
- 蓝桥杯2014java_【图片】2014-2016蓝桥杯java本科B组省赛题_蓝桥杯吧_百度贴吧
- 如何使用腾讯云GPU云服务器完成 blender 的动画图片渲染
- 无法启动此程序因为计算机丢失d3dx9,无法启动此程序.因为计算机中丢失d3dx9_43.dll.尝试重新安装改程序以解决问题...
- 如何启用计算机上的摄像头,电脑如何打开摄像头
热门文章