资源简介:
MATLAB程序下载——一MIMO-OFDM系统的仿真与分析。
clear
clc
tic
N =64;
GI = N/4; % guard interval length保护间隔长度4
M = 4; % modulation调制阶数
L = 4; % channel length信道长度(h1,h2,h3,h4,h5估计信道就是估计这五个数据)
nIteration = 100; % number of iteration in each evaluation每一估计的迭代(循环,重复)次数
SNR_V = [0:2:18]; % signal to noise ratio vector in dB信噪比向量(单位dB)
ber = zeros(1,length(SNR_V));
% +++++++++++++++fft matrix+++++++++++++++++++++++++++++++++++++++++++++++++
F = exp(2*pi*sqrt(-1)/N .* meshgrid([0:N-1],[0:N-1]).* repmat([0:N-1]’,[1,N]));
for( ii = 1 : length(SNR_V)) %10层循环(取了10个SNR值来做估计)
SNR = SNR_V(ii);
sig = sqrt(0.5/(10^(SNR/10)));
for(k = 1 : nIteration)
h11(1:L,1)=random(‘Normal’,0,1,L,1) +1i * random(‘Normal’,0,1,L,1);
h21(1:L,1)=random(‘Normal’,0,1,L,1) +1i * random(‘Normal’,0,1,L,1);
TrDataBit = randint(N,1,M);
TrDataMod = qammod(TrDataBit,M);
TrDataIfft = ifft(TrDataMod,N);
TrDataIfftGi = [TrDataIfft(N-GI+1:N);TrDataIfft];
%+++++++++++ tx Data发射数据++++++++++++++++++++++++++++++++++++++++++++++
TxDataIfftGi11 = filter(h11,1,TrDataIfftGi);
TxDataIfftGi21 = filter(h21,1,TrDataIfftGi);
%++++++++++ adding awgn noise(加入高斯噪声—-就代表经过高斯信道传输后的接受信号)++++++++++++++
TxDataIfftGiNoise11 = awgn(TxDataIfftGi11,SNR-db(std(TxDataIfftGi11)));
TxDataIfftGiNoise21 = awgn(TxDataIfftGi21,SNR-db(std(TxDataIfftGi21)));
%+++++++++++++去保护间隔(去掉被干扰IC污染的信号,即完全去掉了干扰IC的影响)++++++++++++++++++++++++++++++++++++
TxDataIfft11 = TxDataIfftGiNoise11(GI+1:N+GI);
TxDataIfft21 = TxDataIfftGiNoise21(GI+1:N+GI);
%+++++++++++++++做FFT(转到频域)+++++++++++++++++++++++++++++++++++++
TxDataMod11 = fft(TxDataIfft11,N);
TxDataMod21 = fft(TxDataIfft21,N);
% +++++++Channel estimation(利用导频进行信道估计)+++++++++++++++++++++++++++++++++++
h_f11=fft(h11,N);
h_f21=fft(h21,N);
for p = 1:N
H = [h_f11(p) ; h_f21(p) ];% MIMO channel freuqncy channel
G=inv(H’*H+(sig^2)*eye(1))*H’;
y=G*[TxDataMod11(p,:) ;TxDataMod21(p,:)];
y2=H’*[TxDataMod11(p,:) ;TxDataMod21(p,:)];
S(p,:)=y2(1,:);
S_est(p,:)=y(1,:);
end
TxDataBit = qamdemod(S_est,M);%利用了循环卷积的特点,利用理想的信道系数计算的接受信号
TxDataBit2 = qamdemod(S,M);
%++++++++++ bit error rate computation(BER的计算)++++++++++++++
[nErr bErr(ii,k)] = symerr(TxDataBit,TrDataBit);%理想情况下的接收信号与发射信号的码字错误性分析
[nErr2 bErr2(ii,k)] = symerr(TxDataBit2,TrDataBit);
end
end
f1 = figure(1);
h = gcf; grid on; hold on;
set(gca, ‘yscale’, ‘log’, ‘xlim’, [SNR_V(1), SNR_V(end)], ‘ylim’, [1e-4 1]);
%set(f1,’color’,[1 1 1]);%设置图像为三维(RGB)彩色图,可以不要此语句
semilogy(SNR_V,mean(bErr’),’r-+’);
semilogy(SNR_V,mean(bErr2′),’b-*’);
hold on% semilogy创建对数坐标
xlabel(‘SNR in dB’);
ylabel(‘Bit Error Rate’)
hold off
toc
下载:
今天的文章代做matlab和similink仿真,MATLAB代做|FPGA代做|simulink代做–MIMO-OFDM系统的仿真与分析…分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/32642.html