⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mimo_svd_flat.m

📁 MIMO信道编码,主要由matlab编写而成,可供参考
💻 M
字号:
%*****************************************************
%  SVD receiver demo on flat fading MIMO channel.
%  no antenna spatial correlation
%*****************************************************
clear all
N=2;                            % number of transmitter antennas
M=2;                            % number of receiver antennas
SNR = [10];                     % signal to noise ratio, dB
SNRPow = 10.^(SNR/10);          % signal to noise ratio
Sigma = sqrt(1/(2*SNRPow));     % standard deviation of the noise

% random channel matrix generation
H=(1/sqrt(2))*(randn(M,N)+i*randn(M,N));

% singlar value decomposition
[U,S,V]=svd(H);

%Gray-labelled QPSK
m=2;
cons=[0.7071+i*0.7071; 0.7071-i*0.7071; -0.7071+i*0.7071;-0.7071-i*0.7071];

%generate user data
for (j=1:N)
    data(j,:) = sign(rand(1,m)-0.5);
end

%QPSK modulations
symbol = zeros(2,1);
for (j=1:m)
    [symbol(j) ind(j)] = QPSK(data(j,:),cons);
end

%Pre-filter
TransData = V*symbol;

%Channel
Noise=Sigma*(randn(M,1)+i*randn(M,1));

%Received Data
RecvData = H*TransData + Noise;
RecvData = U'*RecvData;

%Demodulation
M=2^m;
for (k=1:m)
        [dist(k) decision(k)]= min(abs(RecvData(k) - S(k,k)*cons));
end
decision
ind


function [symbol, ind] = QPSK(data,cons)
if (data(1)==-1 & data(2)==-1) symbol = cons(1); ind =1;end
if (data(1)==1 & data(2)==-1) symbol = cons(2);  ind =2;end
if (data(1)==-1 & data(2)==1) symbol = cons(3);  ind =3;end
if (data(1)==1 & data(2)==1) symbol = cons(4);  ind =4;end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -