Cómo utilizar Matlab para generar señales OFDM
Cerrar todo;
Tu=224e-6; Período del símbolo
T=Tu/2048; Período del elemento de banda base
G=1/4;
delta=G*Tu;
Ts=delta Tu
Kmáx=1705; Kmín=0;
FS=4096;
q=10;
fc=q*1/T; 4*fc;
t=0: 1/Rs: Tu
M=Kmáx 1;
rand( 'estado', 0); /p>
a=-1 2*ronda(rand(M, 1)).' i*(-1 2*ronda(rand(M, 1)).' ;
A =longitud(a);
info=zeros(FS,1);
info(1: (A/2))=[a(1: (A/2) ).'] ;
info((FS-((A/2)-1)):FS)=[a((A/2) 1):A).'] ; p> p>
transportistas=FS.*ifft(info, FS);
tt=0: T/2: Tu;
figura(1); p>
subtrama(211);
stem(tt(1:20), real(portadores(1:20)));
subtrama(212);
stem(tt(1:20), imag(portadores(1:20)));
f=(2/T)*(1: (FS))/( FS) ;
subplot( 211);
plot(f, abs(fft(portadores, FS))/FS);
[Pxx, f ]= pwelch(portadores, [], [], [], 2/T
plot_Pxx1=10*log10(Pxx);
subplot(212); p>
plot(f, plot_Pxx1);
L=longitud(portadores);
chips=[portadores.';zeros((2*q)-1, L) ];
p=1/Rs: 1/Rs: T/2
g=unos(longitud(p), 1
figura (3);
stem(p, g);
dummy=conv(g, chips(:)); (1 :longitud(t))];
figura(4);
subtrama(211);
trama(t(1:400), real( u(1:400));
subtrama(212);
subtrama(t(1:400), imag(u(1:400))); /p >
figura(5);
ff=(Rs)*(1: (q*FS))/(q*FS);
subtrama(211
plot(ff, abs(fft(u, q*FS))/FS);
[Pxx, f]=pwelch(u, [], [] , [ ].[], Rs);
>
plot_Pxx2=10*log10(Pxx);
subplot(212);
plot(f, plot_Pxx2);
[b, a ]=mantequilla(13,1/20);
[H, F]=FREQZ (b, a, FS, Rs);
figura(6);
plot(F, 20*log10(abs(H)));
uoft=filter(b, a, u);
figura(7);
subtrama(211);
trama(t(80:480), real(uoft(80:480)));
subtrama(212);
plot(t(80:480), imag(uoft(80:480));
figura(8);
subtrama(211);
plot(ff, abs(fft(uoft, q*FS))/FS);
[Pxx, f]=pwelch(uoft, [], [], [ ], Rs);
plot_Pxx3=10*log10(Pxx);
plot(f, plot_Pxx3);
s_tilde=(uoft.'). *exp(1i*2*pi*fc*t);
s=real(s_tilde);
figura(9);
trama(t (80:480), s(80:480));
figura(10);
subtrama(211);
trama(ff, abs). (fft(s, q*FS))/FS);
[Pxx, f]=pwelch(s, [], [], [], [],
);plot_Pxx4=10*log10(Pxx);
subplot(212);
plot(f, plot_Pxx4);
figura(11);
subplot(211);
plot(ff, abs(fft((real(uoft).')) .*cos(2*pi*fc*t)), q*FS))/FS);
figura(12);
subtrama(211);
trama(ff, abs(fft((( real(uoft). ')) .*sin(2*pi*fc*t)), q*FS))/FS);
[Pxx, f]=pwelch(((imag( uoft).')) .*sin(2*pi*fc*t)),[],[],[], Rs);
plot_Pxx6=10*log10(Pxx); p>
plot_Pxx6=10*log10(Pxx);
p>subplot(212);
plot(f, plot_Pxx6);
Puedes intentarlo, no sé cómo ser específico.