MIMO信道仿真.rar

  • llaaa
    了解作者
  • matlab
    开发工具
  • 2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 3
    下载次数
  • 2020-09-13 14:27
    上传日期
通信信道仿真的简单仿真,实现简单,仅供参考。
MIMO信道仿真.rar
  • rayleigh.m
    219B
  • AWGN.m
    285B
  • MIMO_OFDM.m
    2.9KB
  • RayPDF.m
    528B
内容介绍
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调制下标准瑞利衰落');
评论
    相关推荐
    • 信道仿真.zip
      通过具体的信道实例对比几种信道容量,绘出对数正态衰落、瑞利衰落、Nakagami衰落下确定的容量随平均接收信噪比变化的曲线。
    • 信道容量仿真.rar
      nakagami衰落下,各态历经信道容量、中断容量、反转容量仿真
    • 通信信道仿真实验.rar
      基于matlab的通信信道仿真,包含详细代码,可以直接运行
    • 信道化MATLAB仿真
      信道化的高效结构进行MATLAB仿真与验证,该资源内含信道化函数文件与测试文件。
    • MATLAB MIMO信道仿真
      用MATLAB实现的MIMO系统,可以计算误码率,以及各种检测方法
    • OFDM信道仿真程序
      很好的OFDM信道仿真MATLAB程序,包括channel.m,circonv.m,ofdm_awgn_ray_union.m,PDFTEST.m,qpsk_awgn.m等等
    • MATLAB MIMO信道仿真
      用MATLAB实现的MIMO系统,可以计算误码率,以及各种检测方法
    • clarke信道仿真
      matlab实现多径衰落信道仿真,采用clarke模型建模,非常实用
    • 平坦信道仿真.zip
      平坦瑞利信道在Matlab中多种仿真方法,仅供大家参考
    • USB-COM(HL340).rar
      usb转串口,找了很久才找到,现在别的地方很难下到,要不用不了,我这个可以用 HL340D 的