✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
摘要:正交频分复用(OFDM)被选为无线通信的调制技术。OFDM能提供充分大量数据传输在有损耗的无线电信道内。世界上许多研究中心成立了专门的工作组为了实现OFDM的最优化。在乔治尼亚的科技研究所中,其中的一个工作组在SARL,GCATT的一部分。这篇文章的目的是为了提供MATLAB源码去仿真OFDM信号的产生和接受所涉及到的过程在物理层上,并且提供涉及到的涉及到的每一步的描述。为了这个目的,我们将用到为欧洲陆地数字电视服务DVB标准的OFDM信号作为例子。
在一个OFDM设计方案中,大量的正交、重叠、窄带、子信道或者子载波,并行传输,划分可利用的的传输带宽。子载波的间隔理论上是最小的因此有一个非常紧密的谱。OFDM最吸引人是因为这个系统可以克服多径干扰在接收端。多径干扰产生两个影响:频率选择性衰落和符号间干扰。一个窄带信道的平台克服了前者,低速率的调制可以使得记号更长比信道冲击响应,消除了后者。利用强大的纠错吗连同时间和频率交织的增益对抗频率选择性衰落,同时在连续的OFDM模型中插入保护间隔可以减少ISI的影响。因此接收端的均衡器不是必须的。
OFDM,有两个主要的缺点:信号的动态范围较大 (也称为峰均比);多普勒效应. 这些又是,OFDM的主要的研究课题,在世界各地的许多研究中心, ,包括SARL。
欧洲DTB-V标准的图表显示于图表一,这个图表中描述的大部分进行是用DSP来执行的,但是上述的缺点是发生在物理信道的;例如这个系统的输出信号。因此,这个工程的目的是为了提供这个信号的产生所涉及到的每一步的描述和仿真的代码。我们预期这项研究结果可提供一个有用的参考材料,为今后sarl的团队的工作. 换句话说,这个项目将集中一个模块中标记OFDM,d/a,图1.1的前端。
我们只有DVB-T标准中的发射规则,因为接受系统应该是开放的,这样才能促进众多接收机厂商之间的竞争。我们将努力描绘一个普通接收机系统以至于有一个完整的系统描述
⛄ 代码
%DVB-T 2K Transmission
%The available bandwidth is 8 MHz
%2K is intended for mobile services
clear all;
close all;
figure(1);
subplot(211);
stem(tt(1:20),real(carriers(1:20)));
subplot(212);
stem(tt(1:20),imag(carriers(1:20)));
figure(2);
f=(2/T)*(1:(FS))/(FS);
subplot(211);
plot(f,abs(fft(carriers,FS))/FS);
[Pxx,f]=pwelch(carriers,[],[],[],2/T);
plot_Pxx1=10*log10(Pxx);
subplot(212);
plot(f,plot_Pxx1);
% D/A simulation
L = length(carriers);
chips = [ carriers.';zeros((2*q)-1,L)];
p=1/Rs:1/Rs:T/2;
g=ones(length(p),1); %pulse shape
figure(3);
stem(p,g);
dummy=conv(g,chips(:));
u=[dummy(1:length(t))]; % (C)
figure(4);
subplot(211);
plot(t(1:400),real(u(1:400)));
subplot(212);
plot(t(1:400),imag(u(1:400)));
figure(5);
ff=(Rs)*(1:(q*FS))/(q*FS);
subplot(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] = butter(13,1/20); %reconstruction filter
[H,F] = freqz(b,a,FS,Rs);
figure(6);
plot(F,20*log10(abs(H)));
uoft = filter(b,a,u); %baseband signal (D)
figure(7);
subplot(211);
plot(t(80:480),real(uoft(80:480)));
subplot(212);
plot(t(80:480),imag(uoft(80:480)));
figure(8);
subplot(211);
plot(ff,abs(fft(uoft,q*FS))/FS);
[Pxx,f]=pwelch(uoft,[],[],[],Rs);
plot_Pxx3=10*log10(Pxx);
subplot(212);
plot(f,plot_Pxx3);
%Upconverter
s_tilde=(uoft.').*exp(1i*2*pi*fc*t);
s=real(s_tilde); %passband signal (E)
figure(9);
plot(t(80:480),s(80:480));
figure(10);
subplot(211);
plot(ff,abs(fft(s,q*FS))/FS);
[Pxx,f]=pwelch(s,[],[],[],Rs);
plot_Pxx4=10*log10(Pxx);
subplot(212);
plot(f,plot_Pxx4);
figure(11);
subplot(211);
plot(ff,abs(fft(((real(uoft).').*cos(2*pi*fc*t)),q*FS))/FS);
[Pxx,f]=pwelch(((real(uoft).').*cos(2*pi*fc*t)),[],[],[],Rs);
plot_Pxx5=10*log10(Pxx);
subplot(212);
plot(f,plot_Pxx5);
figure(12);
subplot(211);
plot(ff,abs(fft(((imag(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);
subplot(212);
plot(f,plot_Pxx6);
⛄ 运行结果
⛄ 参考文献
[1] 李松涛, 江修富, 郭文峰,等. 基于MATLAB的OFDM通信系统仿真研究[J]. 系统仿真学报, 2005(z2):3.
[2] 张宾. 基于MATLAB的OFDM通信系统仿真设计[J]. 无线互联科技, 2016(11):2.
[3] 魏瑞. 基于MATLAB的OFDM通信系统的仿真[J]. 科技广场, 2011(6):3.