Filter löschen
Filter löschen

Estimation of channel response and i/q imbalance of mimo ofdm

1 Ansicht (letzte 30 Tage)
Janet
Janet am 24 Feb. 2012
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 Kommentare
Janet
Janet am 24 Feb. 2012
@walter: I get error in cre
Walter Roberson
Walter Roberson am 24 Feb. 2012
Have another look at that blog. It says inv(A)*b should be replaced by A\b . You have the two variables reversed.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Link-Level Simulation finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by