MIMO_(matlab发射端迫零预处理)

实现发射端迫零预处理,4x4

clc;
clear;
Tx = 4;           %发送天线
Rx = 4;           %接收天线
SNRdB = 30;       %信噪比
N = 1000000;       %序列长度
for SNR = 0 : SNRdB
    error = 0;
    for i = 1:N
        x = round(rand(Tx,1));                            %产生0,1序列                            
        Bpsk = x*2-1;                                     %Bpsk调制
        H = sqrt(1/2)*(randn(Tx,Rx) + 1j*randn(Tx,Rx));   %信道
        W = inv(H);                                       %求逆
        a = sqrt(4/trace(W*W'));                          %求a
        s = a*H*W*Bpsk;                                   %无噪声
        sigma = 1/(10^(SNR/10));
        noise = sqrt(sigma/2)*(randn(Tx,1)+1i*randn(Tx,1));
        r = s + noise;                                    %接收信号
        y = (((1/a)*r)>=0)-(((1/a)*r)<0);                 %解调
        error = error + sum(y~=Bpsk);
    end
ber1(SNR+1) = error/(4*N);                                %计算误码率
end
figure
x=0:SNRdB;
grid on
semilogy (x,ber1,'-ok');hold on;
axis([0 SNRdB 10^-4 1]);xlabel('SNR(dB)');ylabel('BER');
legend('迫零预处理');
title('迫零预处理')

结果如图所示:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值