Estimation of channel response and i/q imbalance of mimo ofdm
2 次查看(过去 30 天)
显示 更早的评论
Hello all
I am doing a project on joint estimation of i/q imbalance and channel response for mimo ofdm systems.
My output for i/q is 1 and for channel response I get numerous values. I don't know whether it is correct. Share ur ideas.
clc;
clear all;
close all;
%input
M=128;
nt=2;
nr=1;
L=16;
%r
h1=randn(M,1);
h2=randn(M,1);
h=vertcat(h1,h2);
x1=gallery('circul',M:M);
x2=gallery('circul',M:M);
x=horzcat(x1,x2);
r=x*h;
%ek
e=eye(M);
%y due to cfo
y=e*r;
%z due to cfo and i/q
u=(1+exp(-j*10))/2;
v=(1-exp(j*10))/2;
y1=conj(y);
z=(u*y)+(v*y1);
%a
u1=conj(u);
a=(v/u1);
%ur
z1=conj(z);
a1=abs(a)^2;
e1=conj(e);
ur=(e1*(z-(a*z1))/(1-a1));
%p
p=M/nt;
%ud
a1=randn(M,L);
a2=randn(M,L);
A=horzcat(a1,a2);
a11=randn(M,p-L);
a22=randn(M,p-L);
B=horzcat(a1,a11,a2,a22);
B1=inv(B);
ud=B1*ur;
%CRE
q = 96; %p-L
M = 128;
P = zeros(q,M);
P(:,2:2:end) = (48)*eye(q,M/2);
cre=norm(P*ud)^2;
CRE = norm(P*B1*(z-(a*z1)))^2;
%I/Q_imbalance
o=ctranspose(P*B1*z1); %traspose_conj of p*B1*z1
aopt=(o*(P*B1*z1))/(norm(P*B1*z1))^2;
%channel response
aopt1=abs(aopt)^2;
cha_res=B1*(z-(aopt*z1))/(1-aopt1);
7 个评论
Walter Roberson
2012-2-24
Have another look at that blog. It says inv(A)*b should be replaced by A\b . You have the two variables reversed.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Link-Level Simulation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!