%实现OFDM传输的仿真程序
para=128; %并行子信道的个数
fftlen:128; %FFT的长度
paradata=reshape(seldata,para,nd
*m1);
%QPSK调制
[ich,qch]=qpskmod(paradata,para,nd,m1);
kmod=1/sqrt(2);
ichl=ich.*kmod;
qchl=qch.*kmod;
%In叩(离散傅里叶反变换)
X=ichl+qchl.*i:
y=ifft(x);
ich2=real(y);
qch2=imag(y);
%插入保护间隔
[ich3,qch3]=giins(ich2,qch2,fftlen,gilen,nd);
fftlen2=fftlen+gilen;
%衰减计算
spow=suln(ich3.2+qch3.“2)/nd./para;
attn=0.5*spow*sr/br*10.“(.ebn0/10);
attn=sqrt(attn);
%高斯自信道
[ich4,qeh4]=eomb(ich3,qch3,attn);
%接收部分
%去除保护间隔
[ieh5,,qeh5]=girem(ich4,qch4,fftlen2,gilen,
nd);
%FFr(离散傅里叶变换)
IX=ich5+qch5.*i:
ry=fit(Ⅸ);
ich6=real(ry);
qch6=imag(ry);
%QPSK解调
ieh7=ich6./kmod;
qch7=qch6./kmod;
[derrtxtata]=qpskdemod(ich7,qch7,para,nd,m1);
%并串变换
demodatal=reshape(demodata,I,para*nd*rnl);
%比特误码率(BER)
bit—errors=find(seldata~=demodatal);
bit—error—count 2 size(bit—e/TOES,2);
total—bits=size(demodatal,2);
bit—error—rate=bit—error—count/total—bits;
fprintf(7%f\n’,bit—eITor—rate)
%end offile
程序运行结果,输出误码率为:
>>0.037109
1.OFDM
OFDM的主要思想是将信道分成N个子信道。每个子信道包含一个子载波,不同的子载波之间相互正交。实现时,将一路高速串行输入的数据信号流转换成N路并行的低速子数据流,调制到每个子载波上进行传输。
OFDM系统优点:
①频谱效率高
②带宽可灵活配置,可扩展性强
③自适应能力强
④抗衰落能力与抗干扰能力强
2.子载波正交原理
f(t)=a1·sin(2π·Δf·t)+ a2·sin(2π·Δf·2t)+ ...ak·sin(2π·Δf·kt)
+ b1·cos(2π·Δf·t) + b2·cos(2π·Δf·2t)+ ... bk·cos(2π·Δf·kt)
=∑ak·sin(2π·Δf·kt)+ ∑bk·cos(2π·Δf·kt)
复数形式:f(t) = ∑Fk·e(j·2π·Δf·kt)
即傅里叶级数。
如果将t离散化,那么就是离散傅立叶变换。
3.IFFT
用IFFT实现OFDM:
fn = 1/N·∑Fk·e(j·2π·k·n/N) ,n∈[1,N]
在一个OFDM symbol的时长T内,用N个子载波各自发送一个信号F(k)(k∈[1,N]),等效于直接在时域上连续发送fn(n∈[1,N])N个信号,每个信号发送T/N的时长。
IFFT实现OFDM的系统用"数学的方法",在发送端计算信号的叠加波形,在接收端去除正交子载波,从而大大简化了系统的复杂度。
4.信道估计
信道估计:信道估计主要分为非盲信道估计和盲信道估计
非盲信道估计需要使用已知的导频序列进行信道估计,目前主要使用的非盲信道估计包括最小二乘(LS)信道估计、最小均方误差(MMSE)信道估计、基于DFT的信道估计以及基于判决反馈信道估计等。
LS信道估计算法:
①发送端导频信号的插入
②接收端导频位置信道信息的获取估计:[if !msEquation]H_LS=X^(-1) Y[endif]
③通过导频位置获得的信息用内插算法获得数据频点处信道响应
5.导频
块状导频:一个OFDM符号内所有子载波上插入导频,即每隔一定的符号间隔,会放置一定数目的导频符号。较适合于恒参信道、WLAN信道等。
梳状导频:在某些子载波的所有时间上插入导频,即每隔一定的子载波间隔,会放置一定数目的导频符号。对信道的变化速度适应性较好。
6.5GNR帧结构
NR中,帧长是固定的10ms;包含10个子帧,每个子帧是1ms。但每个子帧包含不同的slot数目。一个NR资源块(RB)在时域中对应一个slot,一个slot固定包含14个符号(normal情况),并且在频域中包含12个子载波。
7.100MHz带宽参数
在小于6 GHz的频段,NR最大的信道带宽是100MHz信道。此时对应273RB,载波间隔是30Khz,每个RB有12个子载波使用带宽98.280Mhz,并没有完全占满100Mhz带宽,因为两边需要留出保护带宽。
若是你打算用stm32 做个基于低频载波的ofdm 通信原理验证,应该是是可以实现的。电路方面只用到AD、DA加个运放就可以做了,选好载波频段,然后就是编程计算编码并载波后的数据波形,DA输出。AD采样输出信号,然后通计算解析采样信号,分离原始信号。
实际上stm32和ODFM技术没有任何必然关系,也没有实际开发的意义。
但是作为通信技术和单片机开发的混合课程设计好像有点意思。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)