• llaaa
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 1
    下载次数
  • 2020-09-13 14:19
    上传日期
Matlab实现简单的MIMO-OFDM编程,实现简单。
MIMO_OFDM.rar
  • MIMO_OFDM.m
    2.9KB
内容介绍
clear all; close all; clc; SNR=0:20; N=128; %载波数目 L=5; %多径数 M=N+1/4*N+L-1; %卷积之后序列长度 循环前缀至少大于L多径数目 table=[-1-1j -1+1j 1-1j 1+1j]; %可以对信号功率归一化:*1/sqrt(2) %预分配空间 N0=zeros(1,length(SNR)); for k=1:length(SNR) error=0; Eb=1; %若前面归一化了 则Eb=0.5 N0(k)=Eb./(10.^(SNR(k)./10)); %方差 for i=1:100 %比特数:100组*128*2 data0=randi([0 1],N,2); de0=bi2de(data0,'left-msb'); data0mod=table(de0+1); %1*128 调制 data1=randi([0 1],N,2); de1=bi2de(data1,'left-msb'); data1mod=table(de1+1); %瑞利信道 频选信道 h00=1/sqrt(10)*(randn(1,5)+randn(1,5)*1j); %对方差sigma=1归一化 h00信道总的方差为1 h01=1/sqrt(10)*(randn(1,5)+randn(1,5)*1j); h10=1/sqrt(10)*(randn(1,5)+randn(1,5)*1j); h11=1/sqrt(10)*(randn(1,5)+randn(1,5)*1j); % noise=AWGN(0,N0(k),M); noise=sqrt(N0(k))*(randn(1,M)+1j*randn(1,M))*1/sqrt(2); %ifft 会把能量归一化 data0ifft=ifft(data0mod,N)*sqrt(N); data1ifft=ifft(data1mod,N)*sqrt(N); %加CP data0ifftCP=[data0ifft(97:128) data0ifft]; data1ifftCP=[data1ifft(97:128) data1ifft]; %y=h*s+n y0=conv(data0ifftCP,h00)+conv(data1ifftCP,h01)+noise; y1=conv(data0ifftCP,h10)+conv(data1ifftCP,h11)+noise; %去CP y00=y0(33:160); y11=y1(33:160); %fft y00fft=fft(y00,N)/sqrt(N); y11fft=fft(y11,N)/sqrt(N); %均衡:对一个OFDM符号中的每一个小的码元均衡 H00=fft(h00,N)/sqrt(N); H01=fft(h01,N)/sqrt(N); H10=fft(h10,N)/sqrt(N); H11=fft(h11,N)/sqrt(N); %对每一个子载波上的数据都要均衡 for a=1:N H=[H00(1,a) H01(1,a);H10(1,a) H11(1,a)]; ys(:,a)=inv(H)*[y00fft(1,a);y11fft(1,a)]; end ys0=ys(1,:); ys1=ys(2,:); for n=1:2 for m=1:N if(real(ys(n,m))>0) datademod(n,2*m-1)=1; else datademod(n,2*m-1)=0; end %判断虚部 if(imag(ys(n,m))>0) datademod(n,2*m)=1; else datademod(n,2*m)=0; end end end data0=reshape(data0',1,2*N); data1=reshape(data1',1,2*N); [e,ra]=biterr([data0;data1],datademod); %error=sum(xor(data,datademod)); error=sum(error); 计算很慢 error=error+e; end ratio(k)=error/(4*N*100); end figure; ber = berfading(SNR,'oqpsk',1); semilogy(SNR,ratio,'-r','LineWidth',1.5); grid on; hold on; semilogy(SNR,ber,'-.*b','LineWidth',1.5); title('QPSK在2*2Rayleigh频选信道场景下,误码性能分析'); xlabel('Eb/N0'); ylabel('Pb'); axis([0 20 10^(-6) 1]); legend('Rayleigh-OFDM-MIMO 2*2-biterr','QPSK调制下标准瑞利衰落');
评论
    相关推荐
    • OFDM_MIMO.zip
      MIMO-OFDM系统的接收信号是多个发射天线发送信号的衰落与加性噪声的线性叠加,若采用通常SISO-OFDM系统或MIMO系统的估计算法估计信道,将会带来很大的估计误差。出于设计实现的考虑,本文主要研究理论相对比较成熟的...
    • mimo-ofdm.rar
      用 matlab实现mimo-ofdm的过程。
    • OFDM-MIMO-System-master.zip
      Orthogonal frequency division multiple access
    • MIMO_OFDM_2x2.zip
      这项工作是我的论文的一部分在mimo - ofdm系统”“自适应接收机在摩苏尔大学,这个模型是非常有用的mimo - ofdm系统研究。
    • MIMO_OFDM
      这是一个关于通信原理MIMO_OFDM的matlab代码。
    • mimo-ofdm
      里面用ofdm技术和MIMO进行模型的简单搭建,适合初学者。
    • MIMO44_OFDM_NULL.zip
      2X2,4X4MIMO-OFDM链路仿真程序,对于初学者有很好的参考价值。
    • OFDM-mimo.rar
      simulation of ofdm mimo using matlab
    • MIMO-OFDM.zip
      matlab学MIMO-OFDM,一本书的随书源码
    • code ofdm mimo.rar
      please share the Matlab source code of OFDM turbo encoder together.