91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-29
  • 語言: Matlab
  • 標簽: matlab仿真??

資源簡介

信道估計的MATLAB仿真,其中分別給出基于導頻的了MMSE估計和LS估計。

資源截圖

代碼片段和文件信息

%channel_estimation.m
%采用線性/樣條插值的LS/DFT信道估計
clear?allclose?allclf
addpath(‘E:\matlab\channel?estimation‘)
Nfft=32;
Ng=Nfft/8;
Nofdm=Nfft+Ng;
Nsym=100;
Nps=4;%導頻間隔
Np=Nfft/Nps;%每個OFDM符號的導頻數
Nbps=4;
M=2^Nbps;%每個調制符號的比特數
mod_object=modem.qammod(‘M‘M‘SymbolOrder‘‘gray‘);
demod_object=modem.qamdemod(‘M‘M‘SymbolOrder‘‘gray‘);
Es=1;%信號能量
A=sqrt(3/2/(M-1)*Es);%QAM歸一因子
SNR=30;
sq2=sqrt(2);
rand(‘seed‘1);
randn(‘seed‘1);
MSE=zeros(16);
nose=0;
for?nsym=1:Nsym
????Xp=2*(randn(1Np)>0)-1;%?生成導頻序列
????msgint=randint(1Nfft-NpM);%比特生成
????Data=A*modulate(mod_objectmsgint);
???ip=0;
???pilot_loc=[];
???for?k=1:Nfft
???????if?mod(kNps)==1
???????????X(k)=Xp(floor(k/Nps)+1);
???????????pilot_loc=[pilot_loc?k];
???????????ip=ip+1;
???????else
???????????X(k)=Data(k-ip);
???????end
???end
x=ifft(XNfft);%IFFT
xt=[x(Nfft-Ng+1:Nfft)?x];%加CP
h=[(randn+j*randn)?(randn+j*randn)/2];%產生一個2抽頭信道
H=fft(hNfft);channel_length=length(h);%實際信道和它的長度
H_power_dB=10*log10(abs(H.*conj(H)));%實際信道功率[dB]
y_channel=conv(xth);%信道路徑卷積
yt=awgn(y_channelSNR‘measured‘);%加入噪聲
y=yt(Ng+1:Nofdm);%去CP
Y=fft(y);
for?m=1:3
????if?m==1
%線性插值的LS估計
????????H_est=LS_CE(YXppilot_locNfftNps‘linear‘);
????????method=‘LS-linear‘;
????elseif?m==2
????????%樣條插值的LS估計
????????H_est=LS_CE(YXppilot_locNfftNps‘spline‘);
????????method=‘LS-spline‘;
????else
????????%MMSE估計
????????H_est=MMSE_CE(YXppilot_locNfftNpshSNR);
????????method=‘MMSE‘;
????end
????H_est_power_dB=10*log10(abs(H_est.*conj(H_est)));
????h_est=ifft(H_est);
????h_DFT=h_est(1:channel_length);
????H_DFT=fft(h_DFTNfft);%基于DFT的信道估計
????H_DFT_power_dB=10*log10(abs(H_DFT.*conj(H_DFT)));
????if?nsym==1
????????subplot(319+2*m)
????????plot(H_power_dB‘b‘‘linewidth‘1)
????????grid?onhold?on
????????plot(H_est_power_dB‘r:+‘‘Markersize‘4‘linewidth‘1);
????????axis([0?32?-6?10])
????????xlabel(‘Subcarrier?Index‘)
????????ylabel(‘Power[dB]‘)
????????legend(‘True?Chanel‘method4)
????????set(gca‘fontsize‘9)
????????subplot(320+2*m)
????????plot(H_power_dB‘b‘‘linewidth‘1)
????????grid?onhold?on
????????plot(H_DFT_power_dB‘r:+‘‘Markersize‘4‘linewidth‘1);
????????axis([0?32?-6?10])
????????xlabel(‘Subcarrier?Index‘)
????????ylabel(‘Power[dB]‘)
????????legend(‘True?Chanel‘method4)
????????set(gca‘fontsize‘9)
????end
????MSE(m)=MSE(m)+(H-H_est)*(H-H_est)‘;
????MSE(m+3)=MSE(m+3)+(H-H_est)*(H-H_est)‘;
end
Y_eq=Y./H_est;
if?nsym>=Nsym-10
????figure(2)subplot(221)
????plot(Y‘.‘‘Markersize‘5)
????axis([-1.5?1.5?-1.5?1.5])
????set(gca‘fontsize‘9)
????hold?on
????subplot(222)
????plot(Y_eq‘.‘‘Markersize‘5)
????axis([-1.5?1.5?-1.5?1.5])
????set(gca‘fontsize‘9)
end
ip=0;
for?k=1:Nfft
????if?mod(kNps)==1
????????ip=ip+1;
????else
????????Data_extracted(k-ip)=Y_eq(k);
????end
end
msg_detected=demodulate(demod_objectData_extracted/A);
nose=nose+sum(msg_detected~=msgint);
MSEs=MSE/(Nfft*Nsym);
end

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????452??2014-11-27?15:09??channel?estimation\LS_CE.m
?????文件?????????805??2014-11-27?15:18??channel?estimation\MMSE_CE.m
?????文件????????3257??2014-11-27?15:20??channel?estimation\channel_estimation.m
?????文件?????????778??2014-11-27?15:16??channel?estimation\interpolate.m
?????目錄???????????0??2014-11-27?15:24??channel?estimation\

評論

共有 條評論