📄 mimo_svd_flat.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 + -