【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仿真的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Flocking、PPO无人机群控制算
- 下一篇: 【PSO运输优化】基于MATLAB的PS