欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > windows >内容正文

windows

【OFDM频域同步】基于OFDM数字电视地面广播系统中频域同步技术matlab仿真

发布时间:2025/4/5 windows 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【OFDM频域同步】基于OFDM数字电视地面广播系统中频域同步技术matlab仿真 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.软件版本

matlab2021a

2.本算法理论知识

       数字电视地面广播传输一直是各界研究的热点,采用OFDM多载波调制可以有效对抗地面传输中多径效应。本课题主要要求学生掌握数字电视地面广播传输系统中OFDM调制的实现原理,并能着重研究OFDM系统中的频域同步技术。

 下面我们结合这个结构和我们的MATLAB进行综合分析和说明。

这些模块对应的MATLAB代码为:

func_demod:这个函数中,以下代码是解调前初期准备,比如加入频偏,加入信噪比,内插等等。

………………………….. …………………………..

………………………………………………………..

然后开始检测OFDM中添加的训练序列数据信息:

………………………….. …………………………..

………………………………………………………..

这段代码的基本原理如下所示:

通过对训练序列求相关值,从而得到相应的相关峰,通过搜索相关峰的顶点位置从而确定训练序列的具体位置。

通过记录伪码匹配输出的最大值的位置。这里伪码匹配的输出通过加窗算法实现。

匹配位置示意图

如图所示,我们通过加窗法来搜索相关峰,即根据信号功率设定一个门限,将PN码匹配后的结果与门限比较,当出现大于门限值的时候,将值记录到寄存器中,然后继续记录之后N个值,然后逐次比较得到最大值,

这个功能就是对应的代码是:

这些是定时同步的过程

这个是通过定时同步,给FFT变化合适的窗的位置。

这些模块对应的MATLAB代码为:

提取导频;

通过这个环路跟踪,重新调整定时误差和频偏误差。

3.核心代码

%本系统重点研究的是基于OFDM的频率偏移的频域估计的算法仿真, %由于OFDM系统比较复杂,本系统采用的已知的发送信号,然后对系统进行设计与实现 clc; clear; close all;i=1; for SNRs = 12:2:24; %设置信噪比 func_parameter(SNRs); %参数初始化 [FFTout,error_rate] = func_demod(); %解调 fileName = ['FOUT\FFTOUT_' num2str(i) '.mat']; save(fileName,'FFTout') pause(1); disp('误码率为:'); error_rate error(i) = error_rate; i=i+1; close all; endfigure plot(12:2:24,error,'r-*'); title('OFDM频域同步的误码率曲线效果图'); xlabel('SNR'); ylabel('ERR'); grid onfigure Number_fft = 128; load FOUT\FFTOUT_1.mat subplot(421); hold on; for (i=3:45)for(k=1:2*Number_fft)plot(real(FFTout(i,k)),imag(FFTout(i,k)),'.k'); end; end; grid on; hold off; title('OFDM符号的星座图');load FOUT\FFTOUT_2.mat subplot(422); hold on; for (i=3:45)for(k=1:2*Number_fft)plot(real(FFTout(i,k)),imag(FFTout(i,k)),'.k'); end; end; grid on; hold off; title('OFDM符号的星座图'); load FOUT\FFTOUT_3.mat subplot(423); hold on; for (i=3:45)for(k=1:2*Number_fft)plot(real(FFTout(i,k)),imag(FFTout(i,k)),'.k'); end; end; grid on; hold off; title('OFDM符号的星座图'); load FOUT\FFTOUT_4.mat subplot(424); hold on; for (i=3:45)for(k=1:2*Number_fft)plot(real(FFTout(i,k)),imag(FFTout(i,k)),'.k'); end; end; grid on; hold off; title('OFDM符号的星座图'); load FOUT\FFTOUT_5.mat subplot(425); hold on; for (i=3:45)for(k=1:2*Number_fft)plot(real(FFTout(i,k)),imag(FFTout(i,k)),'.k'); end; end; grid on; hold off; title('OFDM符号的星座图'); load FOUT\FFTOUT_6.mat subplot(426); hold on; for (i=3:45)for(k=1:2*Number_fft)plot(real(FFTout(i,k)),imag(FFTout(i,k)),'.k'); end; end; grid on; hold off; title('OFDM符号的星座图');load FOUT\FFTOUT_7.mat subplot(427); hold on; for (i=3:45)for(k=1:2*Number_fft)plot(real(FFTout(i,k)),imag(FFTout(i,k)),'.k'); end; end; grid on; hold off; title('OFDM符号的星座图');

4.操作步骤与仿真结论

 

 5.参考文献

[1] 李式巨.数字无线传输.第2版.北京:清华大学出版社,2007

[2] 汪裕民.OFDM关键技术与应用.北京:机械工业出版社,2007

[3] 彭木根.下一代宽带无线通信系统 : OFDM与WiMAX. 北京:机械工业出版社 ,2007

[4] 余兆明,余智.数字电视传输与组网[M].北京:人民邮电出版社,2003

[5] 卢官明 宗昉.数字电视原理(第2版)[M].北京:机械工业出版社,2009

[6] 葛哲学.精通MATLAB[M].北京:电子工业出版社,2008

A01-31

6.完整源码获得方式

方式1:微信或者QQ联系博主

方式2:订阅MATLAB/FPGA教程,免费获得教程案例以及任意2份完整源码

总结

以上是生活随笔为你收集整理的【OFDM频域同步】基于OFDM数字电视地面广播系统中频域同步技术matlab仿真的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。