SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Matlab code for ofdm channel
estimation(pn sequence as cyclic
prefix)
blocks = 200;
%OFDM¿éÊý
%ÓëchanestnewÏà±È£¬Êǽ«ÏßÐÔÏà¹Ø¸ÄΪԲÖÜÏà¹Ø
%Êá×´µ¼ÆµÓë±¾ÎÄ·½·¨£¨µü´úÇ°ºÍµü´úºó£©×÷±È½Ï
% |--cp--|----PN----|------OFDM------|
tic;
fc = 2000;
%MHz,ϵͳÔز¨ÆµÂÊ
N = 512;
%×ÓÔز¨Êý
L = 32;
%Ñ-»·Ç°×º³¤¶È
Nf3 = 6;
%µ¼ÆµÂÊΪ
M = 26;
%¶à¾¶Êý%%%%%%%%%%%%%%
%generate transmitted signal
DN = blocks*N;
for j = 1:DN
temp = rand;
if (temp<0.25)
s(j) = 1;
elseif (temp<0.5)
s(j) = sqrt(-1);
elseif (temp<0.75)
s(j) = -1;
else
s(j) = (-1)*sqrt(-1);
end
end
%generate pn code
pns
pn = genpncode(6);
pL = length(pn)+L;
pns = [pn pn(1:L)];
PNS = fft(pns,N)/sqrt(N);

1*pL

s

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%transmit & receive
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for n = 1:blocks
for k = 1:N
TR(n,k) = s(N*(n-1)+k);
%convert series to parallel
end
end
for n = 1:blocks
tr1(n,:) = [pns ifft(TR(n,pL+1:N))*sqrt(N-pL)];
end
tr1 = [tr1(:,(N-L+1):N) tr1];
%blocks*(N+L)
for j = 1:blocks
ss1((j-1)*(N-pL)+1:j*(N-pL)) = s((j-1)*N+pL+1:j*N);
%±¾ÎÄËùÌá·½·¨µÄ´«ÊäÐźÅ
end
pfc = sqrt(-1)*ones(blocks,1);
TR3 = TR;
for j = 1:Nf3:N-2%%%%%%%%%%%%%

%ƵÓòÊá×´µ¼Æµ·½·¨3·¢ÉäµÄÊý¾Ý
TR3(:,j) = pfc;
end
TR3(:,end) = pfc;%%%%%%%%%%%%%%%%%%%%%%%%%%
for n = 1:blocks
tr3(n,:) = sqrt(N)*ifft(TR3(n,:))
end
tr3 = [tr3(:,(N-L+1):N) tr3];
%blocks*(N+L)
j = 1;
Npc = round(N/Nf3)+1;
%Êá×´µ¼ÆµÊý Npc = (N-1)/Nf3+1;%%%%%%%%%%%%%%
%for k = 1:N
%if (mod(k-1,Nf3)~=0)
%ss3(j:(Npc-1)*(Nf3-1):j+(blocks-1)*(Npc-1)*(Nf3-1)) = TR3(:,k);
%µÃµ½³ýµ¼ÆµÐźÅÍâµÄÊý¾ÝÐźÅ
%j = j+1;
%end
%end
for k = 1:N-1%
if (mod(k-1,Nf3)~=0)%
ss3(j:(Npc-1)*(Nf3-1)+1:j+(blocks-1)*((Npc-1)*(Nf3-1)+1)) = TR3(:,k);
%%µÃµ½³ýµ¼ÆµÐźÅÍâµÄÊý¾ÝÐźÅ
j = j+1;%
end%
end%
ss3(j:(Npc-1)*(Nf3-1)+1:j+(blocks-1)*((Npc-1)*(Nf3-1)+1)) = TR3(:,N-1); %
%delayTime = [0 0.2 0.6 1.6 2.4 5.0]*10^(-6);%%%%%%%%%%%%%%%%%%%
%delayn = delayTime/chipT;%%%%%%%%%%%%%%%%%%%%%
%averPower = %%%%%%%%%%%%%%%%%%
%channel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
pnss = pns(L+1:pL);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
delayn = 0:25;%[0 1 2 3];%[0 1 3 8 12 25];
%averPower = [0.189 0.379 0.239 0.095 0.060 0.038];[0.575 0.362 0.057 0.006];
snrdB = 0:5:25;
for m = 1:length(snrdB)
%%%%%%%%%%%%%%%%%%%%%%%channel model
h = zeros(N,blocks);%
for k=1:M%
h(delayn(k)+1,:)=randn(1,blocks)+sqrt(-1)*randn(1,blocks);%
end%
for k = 1:M%
h(delayn(k)+1,:) =
h(delayn(k)+1,:)/norm(h(delayn(k)+1,:))*sqrt(blocks);%
%¹éÒ»»¯ÐŵÀ N*blocks
end%
%for k = 1:M
%h(delayn(k)+1,:) = sqrt(averPower(k))*h(delayn(k)+1,:);
%end
for n = 1:blocks
h(:,n) = h(:,n)/norm(h(:,n));%¹éÒ»»¯ÐŵÀ
end
HL = fft(h);
% N*blocks
H(:,:,m) = HL';
Hs = reshape(H(:,:,m),1,N*blocks);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
h1 = zeros(blocks,N);
h2 = zeros(blocks,N);%²ÎÊý¼ì²âδ¸Ä½ø֮ǰ
for n = 1:blocks
r1(n,:) = zeros(1,N);
r3(n,:) = zeros(1,N);
for j = 1:M
r1(n,:) = r1(n,:)+h(j,n).*tr1(n,(L+1-(j-1):N+L-(j-1)));%
r3(n,:) = r3(n,:)+h(j,n).*tr3(n,(L+1-(j-1):N+L-(j-1)));%
end
r1(n,:) = AWGN(r1(n,:),snrdB(m));
r3(n,:) = AWGN(r3(n,:),snrdB(m));
R1(n,:) = fft(r1(n,:))/sqrt(N);
%blocks*N
%R12(n,:) = fft(r12(n,:))/sqrt(N);
R3(n,:) = fft(r3(n,:))/sqrt(N);
%blocks*N
Rprw = circlecorr(pnss,r1(n,L+1:pL));
%Ϊ±¾ÎÄ·½·¨1×÷×¼±¸
Rs = Rprw;
for j = 1:M;
Rpp = Rs(pL-L:-1:1);
[a(n,j,m),b(n,j,m)] = max(Rpp);
a(n,j,m) = a(n,j,m)/(pL-L);
pnsd = [pnss(pL-L-b(n,j,m)+2:pL-L) pnss(1:pL-L-b(n,j,m)+1)];
Rppd = circlecorr(pnss,pnsd);
Rs = Rs-a(n,j,m)*Rppd;
h1(n,b(n,j,m)) = a(n,j,m);
%±¾ÎÄËùÌá·½·¨½á¹û
end
H1(n,:) = fft(h1(n,:))/sqrt(N);
Rs2 = Rprw;
%Ϊδµü´ú·½·¨×÷×¼±¸
for j = 1:M;
Rpp2 = Rs2(pL-L:-1:1);
[c(n,j,m),d(n,j,m)] = max(Rpp2);
c(n,j,m) = c(n,j,m)/(pL-L);
Rs2(pL-L-d(n,j,m)+1) = 0;
h2(n,d(n,j,m)) = c(n,j,m);
%±¾ÎÄËùÌá·½·¨½á¹û
end
H2(n,:) = fft(h2(n,:))/sqrt(N);
end
k3 = 1;
for j = 1:N-2;%j = 1:N
if (mod(j-1,Nf3)==0)
H3(:,k3) = R3(:,j)./pfc;
%ƵÓòÊá×´µ¼Æµ¹À¼Æ3½á¹û
k3 = k3+1;
end
end
H3(:,k3) = R3(:,N)./pfc; %%%%%%%%%%%%%%%%%
[X3,Y3] = meshgrid([1:Nf3:N-2 N],1:blocks);%[X3,Y3] =
meshgrid(1:Nf3:N,1:blocks);%%%%%%%%%%%
[X,Y] = meshgrid(1:N,1:blocks);
HH1(:,:,m) = H1*sqrt(N);
%±¾ÎÄ·½·¨1 ²åÖµÍê±Ïblocks¡ÁN
HH2(:,:,m) = H2*sqrt(N);
HH3(:,:,m) = interp2(X3,Y3,H3,X,Y,'linear');
%ƵÓòÊá×´µ¼Æµ·½·¨4²åÖµÍê±Ï
%¾ùºâ£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½
TRe1 = R1./HH1(:,:,m);
for n = 1:blocks
tre1(n,:) = ifft(TRe1(n,:)-PNS)*sqrt(N);
TRe1(n,:) = [zeros(1,pL) fft(tre1(n,pL+1:N))/sqrt(N-pL)];
TRes1(N*(n-1)+1:N*n) = TRe1(n,:);
%²¢´®×ª»»
end
for j = 1:blocks
TRess1((j-1)*(N-pL)+1:j*(N-pL)) = TRes1((j-1)*N+pL+1:j*N);
%±¾ÎÄËùÌá·½·¨¾ùºâºóµÄƵÓò´«ÊäÐźÅ
end
TRe2 = R1./HH2(:,:,m);
for n = 1:blocks
tre2(n,:) = ifft(TRe2(n,:)-PNS)*sqrt(N);
TRe2(n,:) = [zeros(1,pL) fft(tre2(n,pL+1:N))/sqrt(N-pL)];
TRes2(N*(n-1)+1:N*n) = TRe2(n,:);
%²¢´®×ª»»
end
for j = 1:blocks
TRess2((j-1)*(N-pL)+1:j*(N-pL)) = TRes2((j-1)*N+pL+1:j*N);
%µü´úÇ°±¾ÎÄËùÌá·½·¨¾ùºâºóµÄƵÓò´«ÊäÐźÅ
end
j = 1;
TRe3 = R3./HH3(:,:,m);
%for k = 1:N
%if (mod(k-1,Nf3)~=0)
%TRess3(j:(Npc-1)*(Nf3-1):j+(blocks-1)*(Npc-1)*(Nf3-1)) =
TRe3(:,k);
%
%j = j+1;
%end
%end
for k = 1:N-1
if (mod(k-1,Nf3)~=0)
TRess3(j:(Npc-1)*(Nf3-1)+1:j+(blocks-1)*((Npc-1)*(Nf3-1)+1)) =
TRe3(:,k);
%
j = j+1;
end
end
TRess3(j:(Npc-1)*(Nf3-1)+1:j+(blocks-1)*((Npc-1)*(Nf3-1)+1)) = TRe3(:,N1);
%½âµ÷²¢¼ÆËãÎó±ÈÌØÂÊÎó·ûºÅÂÊ
[ps1(m),pb1(m)] = demanderr(ss1,TRess1);
[ps3(m),pb3(m)] = demanderr(ss3,TRess3);
[ps2(m),pb2(m)] = demanderr(ss1,TRess2);%
HH1s = reshape(HH1(:,:,m),1,N*blocks);
HH2s = reshape(HH2(:,:,m),1,N*blocks);
HH3s = reshape(HH3(:,:,m),1,N*blocks);
cc1(:,:,m) = corrcoef(abs(HH1s),abs(Hs));
cc2(:,:,m) = corrcoef(abs(HH2s),abs(Hs));
cc3(:,:,m) = corrcoef(abs(HH3s),abs(Hs));
end
simulation_T=toc;
figure;
semilogy(snrdB,pb2,'b-*',snrdB,pb1,'b-d',snrdB,pb3,'b-+');
legend('ʱÓò¹À¼Æ·½·¨','ʱÓò¹À¼Æ·½·¨£¨¸Ä½øÐŵÀ²ÎÊý¼ì²â£©','ƵÓòÊá×´µ¼Æµ·½·¨');
xlabel('ÐÅÔë±È/dB');
ylabel('ÎóÂëÂÊ');
grid on;
axis([0,25,10^(-4),10^0]);
figure;%
plot(1:N,abs(H(1,:,4)),'b-',1:N,abs(HH2(1,:,4)),'b-',1:N,abs(HH1(1,:,4)),'b:',1:N,abs(HH3(1,:,4)),'b-.');%
legend('ÕæʵÐŵÀ','ʱÓò¹À¼Æ·½·¨','ʱÓò¹À¼Æ·½·¨£¨¸Ä½øÐŵÀ²ÎÊý¼ì²â£©','ƵÓòÊá×´
µ¼Æµ·½·¨');%
xlabel('×ÓÔز¨');%
ylabel('ÐŵÀ·ùƵÏìÓ¦');%
axis([1 N 0 2]);

Weitere ähnliche Inhalte

Was ist angesagt?

Single Sideband Suppressed Carrier (SSB-SC)
Single Sideband Suppressed Carrier (SSB-SC)Single Sideband Suppressed Carrier (SSB-SC)
Single Sideband Suppressed Carrier (SSB-SC)
Ridwanul Hoque
 
Lecture 5 - Superheterodyne Receivers.pdf
Lecture 5 - Superheterodyne Receivers.pdfLecture 5 - Superheterodyne Receivers.pdf
Lecture 5 - Superheterodyne Receivers.pdf
NahshonMObiri
 

Was ist angesagt? (20)

Ec 2401 wireless communication unit 3
Ec 2401 wireless communication   unit 3Ec 2401 wireless communication   unit 3
Ec 2401 wireless communication unit 3
 
Single Sideband Suppressed Carrier (SSB-SC)
Single Sideband Suppressed Carrier (SSB-SC)Single Sideband Suppressed Carrier (SSB-SC)
Single Sideband Suppressed Carrier (SSB-SC)
 
Pulse modulation
Pulse modulationPulse modulation
Pulse modulation
 
Path Loss and Shadowing
Path Loss and ShadowingPath Loss and Shadowing
Path Loss and Shadowing
 
Unit iv wcn main
Unit iv wcn mainUnit iv wcn main
Unit iv wcn main
 
Information theory
Information theoryInformation theory
Information theory
 
Lecture 5 - Superheterodyne Receivers.pdf
Lecture 5 - Superheterodyne Receivers.pdfLecture 5 - Superheterodyne Receivers.pdf
Lecture 5 - Superheterodyne Receivers.pdf
 
Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)
 
Equalization
EqualizationEqualization
Equalization
 
Ofdma Basics
Ofdma BasicsOfdma Basics
Ofdma Basics
 
Dc unit 2
Dc unit 2Dc unit 2
Dc unit 2
 
4. free space path loss model part 2
4. free space path loss model   part 24. free space path loss model   part 2
4. free space path loss model part 2
 
PIFA
PIFA PIFA
PIFA
 
OFDMA - Orthogonal Frequency Division Multiple Access PPT by PREM KAMAL
OFDMA - Orthogonal Frequency Division Multiple Access PPT by PREM KAMALOFDMA - Orthogonal Frequency Division Multiple Access PPT by PREM KAMAL
OFDMA - Orthogonal Frequency Division Multiple Access PPT by PREM KAMAL
 
Receiver design
Receiver designReceiver design
Receiver design
 
Frequency Hopping Spread Spectrum (FHSS) System
Frequency Hopping Spread Spectrum (FHSS) System Frequency Hopping Spread Spectrum (FHSS) System
Frequency Hopping Spread Spectrum (FHSS) System
 
ASk,FSK,PSK
ASk,FSK,PSKASk,FSK,PSK
ASk,FSK,PSK
 
Frequency modulation
Frequency modulationFrequency modulation
Frequency modulation
 
FILTER BANKS
FILTER BANKSFILTER BANKS
FILTER BANKS
 
M ary psk modulation
M ary psk modulationM ary psk modulation
M ary psk modulation
 

Andere mochten auch

Implementation of Wireless Channel Model in MATLAB: Simplified
Implementation of Wireless Channel Model in MATLAB: SimplifiedImplementation of Wireless Channel Model in MATLAB: Simplified
Implementation of Wireless Channel Model in MATLAB: Simplified
Rosdiadee Nordin
 
Simulation of A Communications System Using Matlab
Simulation of A Communications System Using MatlabSimulation of A Communications System Using Matlab
Simulation of A Communications System Using Matlab
Polytechnique Montreal
 
Mimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlabMimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlab
ntnam113
 
Final presentation
Final presentationFinal presentation
Final presentation
Rohan Lad
 
Ofdm performance analysis
Ofdm performance analysisOfdm performance analysis
Ofdm performance analysis
Saroj Dhakal
 

Andere mochten auch (20)

Matlab source codes section | Download MATLAB source code freerce-codes
Matlab source codes section | Download MATLAB source code freerce-codesMatlab source codes section | Download MATLAB source code freerce-codes
Matlab source codes section | Download MATLAB source code freerce-codes
 
Wireless Channel Modeling - MATLAB Simulation Approach
Wireless Channel Modeling - MATLAB Simulation ApproachWireless Channel Modeling - MATLAB Simulation Approach
Wireless Channel Modeling - MATLAB Simulation Approach
 
Matlab code
Matlab codeMatlab code
Matlab code
 
Implementation of Wireless Channel Model in MATLAB: Simplified
Implementation of Wireless Channel Model in MATLAB: SimplifiedImplementation of Wireless Channel Model in MATLAB: Simplified
Implementation of Wireless Channel Model in MATLAB: Simplified
 
Simulation of A Communications System Using Matlab
Simulation of A Communications System Using MatlabSimulation of A Communications System Using Matlab
Simulation of A Communications System Using Matlab
 
Simulating communication systems with MATLAB: An introduction
Simulating communication systems with MATLAB: An introductionSimulating communication systems with MATLAB: An introduction
Simulating communication systems with MATLAB: An introduction
 
Multiuser MIMO-OFDM simulation framework in Matlab
Multiuser MIMO-OFDM simulation framework in MatlabMultiuser MIMO-OFDM simulation framework in Matlab
Multiuser MIMO-OFDM simulation framework in Matlab
 
4g lte matlab
4g lte matlab4g lte matlab
4g lte matlab
 
MATLAB and Simulink for Communications System Design (Design Conference 2013)
MATLAB and Simulink for Communications System Design (Design Conference 2013)MATLAB and Simulink for Communications System Design (Design Conference 2013)
MATLAB and Simulink for Communications System Design (Design Conference 2013)
 
Etude et simulation d'un système MIMO OFDM
Etude et simulation d'un système MIMO OFDMEtude et simulation d'un système MIMO OFDM
Etude et simulation d'un système MIMO OFDM
 
Mimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlabMimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlab
 
Simulation of Wireless Communication Systems
Simulation of Wireless Communication SystemsSimulation of Wireless Communication Systems
Simulation of Wireless Communication Systems
 
Ofdm sim-matlab-code-tutorial web for EE students
Ofdm sim-matlab-code-tutorial web for EE studentsOfdm sim-matlab-code-tutorial web for EE students
Ofdm sim-matlab-code-tutorial web for EE students
 
MIMO-OFDM SYSTEM IN RAYLEIGH FADDING CHANNEL
MIMO-OFDM SYSTEM IN RAYLEIGH FADDING CHANNELMIMO-OFDM SYSTEM IN RAYLEIGH FADDING CHANNEL
MIMO-OFDM SYSTEM IN RAYLEIGH FADDING CHANNEL
 
Final presentation
Final presentationFinal presentation
Final presentation
 
DIY OFDM Session
DIY OFDM SessionDIY OFDM Session
DIY OFDM Session
 
OFDM
OFDMOFDM
OFDM
 
Combating fading channels (1) (3)
Combating fading channels (1) (3)Combating fading channels (1) (3)
Combating fading channels (1) (3)
 
ESTIMATION OF CHANNEL IN OFDM WIRELESS CHANNEL USING LS AND MMSE TECHNIQUES
ESTIMATION OF CHANNEL IN OFDM WIRELESS CHANNEL USING LS AND MMSE TECHNIQUESESTIMATION OF CHANNEL IN OFDM WIRELESS CHANNEL USING LS AND MMSE TECHNIQUES
ESTIMATION OF CHANNEL IN OFDM WIRELESS CHANNEL USING LS AND MMSE TECHNIQUES
 
Ofdm performance analysis
Ofdm performance analysisOfdm performance analysis
Ofdm performance analysis
 

Ähnlich wie matlab code for channel estimation for ofdm

Matlab kod taslağı
Matlab kod taslağıMatlab kod taslağı
Matlab kod taslağı
Merve Cvdr
 
Tb16 nguyễn minhđan_20183876
Tb16 nguyễn minhđan_20183876Tb16 nguyễn minhđan_20183876
Tb16 nguyễn minhđan_20183876
NgGiaHi
 
Tb16 nguyễn minhđan_20183876
Tb16 nguyễn minhđan_20183876Tb16 nguyễn minhđan_20183876
Tb16 nguyễn minhđan_20183876
NgGiaHi
 
MIMO OFDM with Least square method and minimum mean square estim.docx
MIMO OFDM with Least square method and minimum mean square estim.docxMIMO OFDM with Least square method and minimum mean square estim.docx
MIMO OFDM with Least square method and minimum mean square estim.docx
ARIV4
 
Incorporate the SOR method in the multigridTest-m and apply the multig.pdf
Incorporate the SOR method in the multigridTest-m and apply the multig.pdfIncorporate the SOR method in the multigridTest-m and apply the multig.pdf
Incorporate the SOR method in the multigridTest-m and apply the multig.pdf
aartechindia
 
Fourier series example
Fourier series exampleFourier series example
Fourier series example
Abi finni
 
I need help understanding the Pan Tompkins algorythm, and Id also .pdf
I need help understanding the Pan Tompkins algorythm, and Id also .pdfI need help understanding the Pan Tompkins algorythm, and Id also .pdf
I need help understanding the Pan Tompkins algorythm, and Id also .pdf
eyewatchsystems
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
butest
 
Drill bit optimization code
Drill bit optimization codeDrill bit optimization code
Drill bit optimization code
ANKIT KUKREJA
 
Consider a 4-Link robot manipulator shown below. Use the forward kine.pdf
Consider a 4-Link robot manipulator shown below. Use the forward kine.pdfConsider a 4-Link robot manipulator shown below. Use the forward kine.pdf
Consider a 4-Link robot manipulator shown below. Use the forward kine.pdf
meerobertsonheyde608
 

Ähnlich wie matlab code for channel estimation for ofdm (20)

Matlab kod taslağı
Matlab kod taslağıMatlab kod taslağı
Matlab kod taslağı
 
Tb16 nguyễn minhđan_20183876
Tb16 nguyễn minhđan_20183876Tb16 nguyễn minhđan_20183876
Tb16 nguyễn minhđan_20183876
 
Tb16 nguyễn minhđan_20183876
Tb16 nguyễn minhđan_20183876Tb16 nguyễn minhđan_20183876
Tb16 nguyễn minhđan_20183876
 
MIMO OFDM with Least square method and minimum mean square estim.docx
MIMO OFDM with Least square method and minimum mean square estim.docxMIMO OFDM with Least square method and minimum mean square estim.docx
MIMO OFDM with Least square method and minimum mean square estim.docx
 
Incorporate the SOR method in the multigridTest-m and apply the multig.pdf
Incorporate the SOR method in the multigridTest-m and apply the multig.pdfIncorporate the SOR method in the multigridTest-m and apply the multig.pdf
Incorporate the SOR method in the multigridTest-m and apply the multig.pdf
 
Fourier series example
Fourier series exampleFourier series example
Fourier series example
 
Main code
Main codeMain code
Main code
 
matlab codes.pdf
matlab codes.pdfmatlab codes.pdf
matlab codes.pdf
 
Main code for images
Main code for imagesMain code for images
Main code for images
 
Implicit crank nicolson - du fort-frankel - ftcs
Implicit crank nicolson - du fort-frankel - ftcsImplicit crank nicolson - du fort-frankel - ftcs
Implicit crank nicolson - du fort-frankel - ftcs
 
I need help understanding the Pan Tompkins algorythm, and Id also .pdf
I need help understanding the Pan Tompkins algorythm, and Id also .pdfI need help understanding the Pan Tompkins algorythm, and Id also .pdf
I need help understanding the Pan Tompkins algorythm, and Id also .pdf
 
Mnistauto 5
Mnistauto 5Mnistauto 5
Mnistauto 5
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
The Moore-Spiegel Oscillator
The Moore-Spiegel OscillatorThe Moore-Spiegel Oscillator
The Moore-Spiegel Oscillator
 
Drill bit optimization code
Drill bit optimization codeDrill bit optimization code
Drill bit optimization code
 
QFSK: BER and SER Derivation and Simulation
QFSK: BER and SER Derivation and SimulationQFSK: BER and SER Derivation and Simulation
QFSK: BER and SER Derivation and Simulation
 
CODING
CODINGCODING
CODING
 
bask, bfsk, bpsk
bask, bfsk, bpskbask, bfsk, bpsk
bask, bfsk, bpsk
 
Consider a 4-Link robot manipulator shown below. Use the forward kine.pdf
Consider a 4-Link robot manipulator shown below. Use the forward kine.pdfConsider a 4-Link robot manipulator shown below. Use the forward kine.pdf
Consider a 4-Link robot manipulator shown below. Use the forward kine.pdf
 
Recursion in C
Recursion in CRecursion in C
Recursion in C
 

Kürzlich hochgeladen

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Kürzlich hochgeladen (20)

social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 

matlab code for channel estimation for ofdm

  • 1. Matlab code for ofdm channel estimation(pn sequence as cyclic prefix) blocks = 200; %OFDM¿éÊý %ÓëchanestnewÏà±È£¬Êǽ«ÏßÐÔÏà¹Ø¸ÄΪԲÖÜÏà¹Ø %Êá×´µ¼ÆµÓë±¾ÎÄ·½·¨£¨µü´úÇ°ºÍµü´úºó£©×÷±È½Ï % |--cp--|----PN----|------OFDM------| tic; fc = 2000; %MHz,ϵͳÔز¨ÆµÂÊ N = 512; %×ÓÔز¨Êý L = 32; %Ñ-»·Ç°×º³¤¶È Nf3 = 6; %µ¼ÆµÂÊΪ M = 26; %¶à¾¶Êý%%%%%%%%%%%%%% %generate transmitted signal DN = blocks*N; for j = 1:DN temp = rand; if (temp<0.25) s(j) = 1; elseif (temp<0.5) s(j) = sqrt(-1); elseif (temp<0.75) s(j) = -1; else s(j) = (-1)*sqrt(-1); end end %generate pn code pns pn = genpncode(6); pL = length(pn)+L; pns = [pn pn(1:L)]; PNS = fft(pns,N)/sqrt(N); 1*pL s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %transmit & receive %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for n = 1:blocks for k = 1:N TR(n,k) = s(N*(n-1)+k); %convert series to parallel end end for n = 1:blocks tr1(n,:) = [pns ifft(TR(n,pL+1:N))*sqrt(N-pL)]; end tr1 = [tr1(:,(N-L+1):N) tr1]; %blocks*(N+L) for j = 1:blocks ss1((j-1)*(N-pL)+1:j*(N-pL)) = s((j-1)*N+pL+1:j*N); %±¾ÎÄËùÌá·½·¨µÄ´«ÊäÐźŠend pfc = sqrt(-1)*ones(blocks,1); TR3 = TR; for j = 1:Nf3:N-2%%%%%%%%%%%%% %ƵÓòÊá×´µ¼Æµ·½·¨3·¢ÉäµÄÊý¾Ý
  • 2. TR3(:,j) = pfc; end TR3(:,end) = pfc;%%%%%%%%%%%%%%%%%%%%%%%%%% for n = 1:blocks tr3(n,:) = sqrt(N)*ifft(TR3(n,:)) end tr3 = [tr3(:,(N-L+1):N) tr3]; %blocks*(N+L) j = 1; Npc = round(N/Nf3)+1; %Êá×´µ¼ÆµÊý Npc = (N-1)/Nf3+1;%%%%%%%%%%%%%% %for k = 1:N %if (mod(k-1,Nf3)~=0) %ss3(j:(Npc-1)*(Nf3-1):j+(blocks-1)*(Npc-1)*(Nf3-1)) = TR3(:,k); %µÃµ½³ýµ¼ÆµÐźÅÍâµÄÊý¾ÝÐźŠ%j = j+1; %end %end for k = 1:N-1% if (mod(k-1,Nf3)~=0)% ss3(j:(Npc-1)*(Nf3-1)+1:j+(blocks-1)*((Npc-1)*(Nf3-1)+1)) = TR3(:,k); %%µÃµ½³ýµ¼ÆµÐźÅÍâµÄÊý¾ÝÐźŠj = j+1;% end% end% ss3(j:(Npc-1)*(Nf3-1)+1:j+(blocks-1)*((Npc-1)*(Nf3-1)+1)) = TR3(:,N-1); % %delayTime = [0 0.2 0.6 1.6 2.4 5.0]*10^(-6);%%%%%%%%%%%%%%%%%%% %delayn = delayTime/chipT;%%%%%%%%%%%%%%%%%%%%% %averPower = %%%%%%%%%%%%%%%%%% %channel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% pnss = pns(L+1:pL); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% delayn = 0:25;%[0 1 2 3];%[0 1 3 8 12 25]; %averPower = [0.189 0.379 0.239 0.095 0.060 0.038];[0.575 0.362 0.057 0.006]; snrdB = 0:5:25; for m = 1:length(snrdB) %%%%%%%%%%%%%%%%%%%%%%%channel model h = zeros(N,blocks);% for k=1:M% h(delayn(k)+1,:)=randn(1,blocks)+sqrt(-1)*randn(1,blocks);% end% for k = 1:M% h(delayn(k)+1,:) = h(delayn(k)+1,:)/norm(h(delayn(k)+1,:))*sqrt(blocks);% %¹éÒ»»¯ÐŵÀ N*blocks end% %for k = 1:M %h(delayn(k)+1,:) = sqrt(averPower(k))*h(delayn(k)+1,:); %end for n = 1:blocks h(:,n) = h(:,n)/norm(h(:,n));%¹éÒ»»¯ÐŵÀ end HL = fft(h); % N*blocks H(:,:,m) = HL'; Hs = reshape(H(:,:,m),1,N*blocks);
  • 3. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% h1 = zeros(blocks,N); h2 = zeros(blocks,N);%²ÎÊý¼ì²âδ¸Ä½ø֮ǰ for n = 1:blocks r1(n,:) = zeros(1,N); r3(n,:) = zeros(1,N); for j = 1:M r1(n,:) = r1(n,:)+h(j,n).*tr1(n,(L+1-(j-1):N+L-(j-1)));% r3(n,:) = r3(n,:)+h(j,n).*tr3(n,(L+1-(j-1):N+L-(j-1)));% end r1(n,:) = AWGN(r1(n,:),snrdB(m)); r3(n,:) = AWGN(r3(n,:),snrdB(m)); R1(n,:) = fft(r1(n,:))/sqrt(N); %blocks*N %R12(n,:) = fft(r12(n,:))/sqrt(N); R3(n,:) = fft(r3(n,:))/sqrt(N); %blocks*N Rprw = circlecorr(pnss,r1(n,L+1:pL)); %Ϊ±¾ÎÄ·½·¨1×÷×¼±¸ Rs = Rprw; for j = 1:M; Rpp = Rs(pL-L:-1:1); [a(n,j,m),b(n,j,m)] = max(Rpp); a(n,j,m) = a(n,j,m)/(pL-L); pnsd = [pnss(pL-L-b(n,j,m)+2:pL-L) pnss(1:pL-L-b(n,j,m)+1)]; Rppd = circlecorr(pnss,pnsd); Rs = Rs-a(n,j,m)*Rppd; h1(n,b(n,j,m)) = a(n,j,m); %±¾ÎÄËùÌá·½·¨½á¹û end H1(n,:) = fft(h1(n,:))/sqrt(N); Rs2 = Rprw; %Ϊδµü´ú·½·¨×÷×¼±¸ for j = 1:M; Rpp2 = Rs2(pL-L:-1:1); [c(n,j,m),d(n,j,m)] = max(Rpp2); c(n,j,m) = c(n,j,m)/(pL-L); Rs2(pL-L-d(n,j,m)+1) = 0; h2(n,d(n,j,m)) = c(n,j,m); %±¾ÎÄËùÌá·½·¨½á¹û end H2(n,:) = fft(h2(n,:))/sqrt(N); end k3 = 1; for j = 1:N-2;%j = 1:N if (mod(j-1,Nf3)==0) H3(:,k3) = R3(:,j)./pfc; %ƵÓòÊá×´µ¼Æµ¹À¼Æ3½á¹û k3 = k3+1; end end H3(:,k3) = R3(:,N)./pfc; %%%%%%%%%%%%%%%%% [X3,Y3] = meshgrid([1:Nf3:N-2 N],1:blocks);%[X3,Y3] = meshgrid(1:Nf3:N,1:blocks);%%%%%%%%%%% [X,Y] = meshgrid(1:N,1:blocks); HH1(:,:,m) = H1*sqrt(N); %±¾ÎÄ·½·¨1 ²åÖµÍê±Ïblocks¡ÁN HH2(:,:,m) = H2*sqrt(N);
  • 4. HH3(:,:,m) = interp2(X3,Y3,H3,X,Y,'linear'); %ƵÓòÊá×´µ¼Æµ·½·¨4²åÖµÍê±Ï %¾ùºâ£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½£½ TRe1 = R1./HH1(:,:,m); for n = 1:blocks tre1(n,:) = ifft(TRe1(n,:)-PNS)*sqrt(N); TRe1(n,:) = [zeros(1,pL) fft(tre1(n,pL+1:N))/sqrt(N-pL)]; TRes1(N*(n-1)+1:N*n) = TRe1(n,:); %²¢´®×ª»» end for j = 1:blocks TRess1((j-1)*(N-pL)+1:j*(N-pL)) = TRes1((j-1)*N+pL+1:j*N); %±¾ÎÄËùÌá·½·¨¾ùºâºóµÄƵÓò´«ÊäÐźŠend TRe2 = R1./HH2(:,:,m); for n = 1:blocks tre2(n,:) = ifft(TRe2(n,:)-PNS)*sqrt(N); TRe2(n,:) = [zeros(1,pL) fft(tre2(n,pL+1:N))/sqrt(N-pL)]; TRes2(N*(n-1)+1:N*n) = TRe2(n,:); %²¢´®×ª»» end for j = 1:blocks TRess2((j-1)*(N-pL)+1:j*(N-pL)) = TRes2((j-1)*N+pL+1:j*N); %µü´úÇ°±¾ÎÄËùÌá·½·¨¾ùºâºóµÄƵÓò´«ÊäÐźŠend j = 1; TRe3 = R3./HH3(:,:,m); %for k = 1:N %if (mod(k-1,Nf3)~=0) %TRess3(j:(Npc-1)*(Nf3-1):j+(blocks-1)*(Npc-1)*(Nf3-1)) = TRe3(:,k); % %j = j+1; %end %end for k = 1:N-1 if (mod(k-1,Nf3)~=0) TRess3(j:(Npc-1)*(Nf3-1)+1:j+(blocks-1)*((Npc-1)*(Nf3-1)+1)) = TRe3(:,k); % j = j+1; end end TRess3(j:(Npc-1)*(Nf3-1)+1:j+(blocks-1)*((Npc-1)*(Nf3-1)+1)) = TRe3(:,N1); %½âµ÷²¢¼ÆËãÎó±ÈÌØÂÊÎó·ûºÅÂÊ [ps1(m),pb1(m)] = demanderr(ss1,TRess1); [ps3(m),pb3(m)] = demanderr(ss3,TRess3); [ps2(m),pb2(m)] = demanderr(ss1,TRess2);% HH1s = reshape(HH1(:,:,m),1,N*blocks); HH2s = reshape(HH2(:,:,m),1,N*blocks); HH3s = reshape(HH3(:,:,m),1,N*blocks); cc1(:,:,m) = corrcoef(abs(HH1s),abs(Hs)); cc2(:,:,m) = corrcoef(abs(HH2s),abs(Hs)); cc3(:,:,m) = corrcoef(abs(HH3s),abs(Hs));