M&M 和LS 方法估计OFDM信号检测与估计理论小数部分频偏时,训练序列在MATLAB中应该如何实现

网站已改版,请使用新地址访问:
hxt 此为非数据辅助的频偏估计算法的MATLAB仿真
240万源代码下载- www.pudn.com
&文件名称: hxt
& & & & &&]
&&所属分类:
&&开发工具: matlab
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 249
&&提 供 者:
&详细说明:此为非数据辅助的频偏估计算法的MATLAB仿真-data supporting this non- Offset Estimation Algorithm MATLAB
文件列表(日期:)(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&[]:和说明完全不符&[]:纯粹是垃圾&[]:纯粹是垃圾&[]:纯粹是垃圾&[]:纯粹是垃圾&[]:纯粹是垃圾&[]:纯粹是垃圾&[]:一般,勉强可用&[]:一般,勉强可用&[]:纯粹是垃圾
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站240万海量源码库中尽情搜索:
&[] - this paper talks about ofdm synchronization for selective fading channels,hope it to be of help to evrybody
&[] - OFDM系统中的载波频偏估计算法及其性能分析,OFDM 系统中训练序列辅助的载波频偏估计算法及其性能
&[] - 《MIMO-OFDM关键技术的研究和完整仿真平台的建立》,建立了一个完整的MIMO-OFDM的仿真平台,为实际的硬件平台提供解决方案,给出性能评估。为建立这个完整的仿真平台,本文从MIMO-OFDM信号模型,提出系统实现的各个关键技术:帧同步和载波频偏估计、信道估计、采样同步和载波跟踪、空时/频编解
&[] - OFDM信号的频偏校正程序,用于估计子带上的频率偏移。
&[] - 支持4到16bit 的m序列的MATLAB源码。输入寄存器长度M_Len,输出2.^M_Len-1长度的寄存器状态值向量
&[] - 这是一个关于Wigner-Ville分布的线性预测算法的程序,大家看看可以作为参考资料研究一下了.
&[] - 是一个用串行通信进行接收和发送数据的例程,程序实现功能:PIC18单片机接收到PC机下发的8个数据后,将收到的8个数据以中断或非中断发送方式返送回PC机。
&[] - OFDM频偏估计优化算法代码,次代码文章是2007年硕士毕业优秀论文,具有很高的参考价值。
&[] - OFDM Timing Synchronization。OFDM时域同步matlab源代码.
&[] - 考虑频率偏移的OFDM仿真程序,直接根据经典参考文献编写网站已改版,请使用新地址访问:
OFDMtb 频偏估计算法利用已经完成定时同步的同一个训练序列来 小数 和整数 matlab 267万源代码下载- www.pudn.com
&文件名称: OFDMtb& & [
& & & & &&]
&&所属分类:
&&开发工具: matlab
&&文件大小: 76 KB
&&上传时间:
&&下载次数: 47
&&提 供 者:
&详细说明:频偏估计算法利用已经完成定时同步的同一个训练序列来完成小数频偏估计和整数频偏估计。-Offset estimation algorithm uses the same timing synchronization has completed a training sequence to complete the fractional frequency offset estimation and integer frequency offset estimation.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&OFDM同步\OFDM_matlab源程序.doc&&........\载波同步算法程序.doc&&OFDM同步
&[]:纯粹是垃圾
&近期下载过的用户:
&&&&&&&&&&&[]
&相关搜索:
&输入关键字,在本站267万海量源码库中尽情搜索:
&[] - QPSK调制的载波频偏估计,是一个可以调用的函数。接收端进行了一系列的处理。经典的延迟相乘法-非数据辅助
&[] - matlab
频偏估计算法
幅度校正和角度校正
&[] - 无线通信系统中经典的定时同步的MATLAB程序
&[] - 自己根据网上已有程序改写的(127,115)RS编码,有详细的注释及对FPGA实现算法的改写(参考try123.m),希望可以让大家少走弯路~~~一种基于PN训练序列的OFDM时频同步算法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
一种基于PN训练序列的OFDM时频同步算法
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢查看: 10403|回复: 14|关注: 0
Matlab关于OFDM同步定时估计和频偏估计的算法
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
关注者: 3
各位高手你们好,在下有理了。我最近在写有关ofdm的同步的问题,主要是SC算法,
我已经把M(d)的图像仿真出来了,也找到了M(d)取最大时的那个点,还有小数频偏也算算出来了,但是我不会算'定时估计均方差'和‘频率估计均方差’,请给位高手指点一下 在下感激不尽!!!
我写的代码 ,请高手们看一下那儿出错了:
前半部分仿真可能是对的 ,但是后面求频偏估计均方误差与定时估计均方误差的图像时,就不对了
希望告诉们能给我解答一下
para=512;& &% Number of parallel channel to transmit (points)
fftlen=512; % FFT length
noc=512;& & % Number of carrier
nd=6;& && & % Number of information OFDM symbol for one loop
ml=2;& && & % Modulation level : QPSK
sr=250000;&&% Symbol rate
br=sr.*&&% Bit rate per carrier
%gilen=32;& &%Length of guard interval (points)
fullen=gilen+&&%ofdm符号总长
deltad=250;&&%时延
deltaf=0.25;&&%频偏
deltaderr=0;%时延均方误差
deltaferr=0;%频偏均方误差
derr=zeros(1,11);%时延均方误差
ferr=zeros(1,11);%频偏均方误差
error=zeros(1,11);
%************************** main loop part **************************
for ebn0=0:2:20
& & o=o+1;
& & %************************** main loop part **************************
& & nloop=100;&&% Number of simulation loops
& & noe = 0;& & % Number of error data
& & nod = 0;& & % Number of transmitted data
& & eop=0;& && &% Number of error packet
& & nop=0;& && &% Number of transmitted packet
& & for iii=1:nloop
& && &&&%************************** transmitter*********************************
& && &&&%**************************训练序列 ****************************
& && &&&pn = rand(1,para)&0.5;
& && &&&pn = reshape(pn,para/2,2);
& && &&&[ipn0,qpn0] = qpskmod(pn,para/2,1,ml);
& && &&&kmod=1/sqrt(2); %&&sqrt : built in function
& && &&&ipn0=ipn0.*
& && &&&qpn0=qpn0.*
& && &&&sym = ipn0 + i*qpn0;
& && &&&symbuf = zeros(para,1);
& && &&&symbuf(1:2:para,1) =
& && &&&%train1 = symbuf*7;& && && && && && && && && && &&&%为什么乘以7
& && &&&train1 = symbuf*15;
& && &&&pn1 = rand(1,para)&0.5;
& && &&&pn1 = reshape(pn1,para/2,2);
& && &&&[ipn1,qpn1] = qpskmod(pn1,para/2,1,ml);
& && &&&kmod=1/sqrt(2); %&&sqrt : built in function
& && &&&ipn1=ipn1.*
& && &&&qpn1=qpn1.*
& && &&&sym = ipn1 + i*qpn1;
& && &&&symbuf = zeros(para,1);
& && &&&symbuf(1:2:para,1) =
& && &&&pn2 = rand(1,para)&0.5;
& && &&&pn2 = reshape(pn2,para/2,2);
& && &&&[ipn2,qpn2] = qpskmod(pn2,para/2,1,ml);
& && &&&kmod=1/sqrt(2); %&&sqrt : built in function
& && &&&ipn2=ipn2.*
& && &&&qpn2=qpn2.*
& && &&&sym = ipn2 + i*qpn2;
& && &&&symbuf(2:2:para,1) =
& && &&&train2 = symbuf*5;& && && && && && && && && && && &%为什么乘以5
& && &&&%train2 =
& && &&&v = zeros(1,para);
& && &&&kpois=1:2:
& && &&&v(kpois) = sqrt(2)*train2(kpois)./train1(kpois); % 含有 训练序列对应子载波的相位差信息
& && &&&%************************** Data generation
& && &&&%****************************
& && &&&seldata=rand(1,para*nd*ml)&0.5;&&%&&rand : built in function
& && &&&%****************** Serial to parallel conversion
& && &&&%***********************
& && &&&paradata=reshape(seldata,para,nd*ml); %&&reshape : built in function
& && &&&%************************** QPSK modulation
& && &&&[ich,qch]=qpskmod(paradata,para,nd,ml);
& && &&&kmod=1/sqrt(2); %&&sqrt : built in function
& && &&&ich1=ich.*
& && &&&qch1=qch.*
& && &&&%******************* IFFT ************************
& && &&&x=ich1+qch1.*i;
& && &&&x(:,1)=train1;
& && &&&x(:,2)=train2;
& && &&&y=ifft(x); %&&ifft : built in function
& && &&&ich2=real(y);& &%&&real : built in function
& && &&&qch2=imag(y);& &%&&imag : built in function
& && &&&%********* Gurad interval insertion **********
& && &&&[ich3,qch3]= giins(ich2,qch2,fftlen,gilen,nd);
& && &&&fftlen2=fftlen+
& && &&&%********* Attenuation Calculation *********
& && &&&spow=sum(ich3.^2+qch3.^2)/nd./&&%&&sum : built in function
& && &&&attn=0.5*spow*sr/br*10.^(-ebn0/10);
& && &&&attn=sqrt(attn);
& && &&&%***************************&&Receiver&&*****************************
& && &&&%*************************加频率偏移和时延***************************
& && &&&[ich3,qch3]=delay(ich3,qch3,length(ich3),deltad);
& && &&&y=ich3+qch3.*i;
& && &&&for k=1:length(ich3);
& && && && &y(k)=y(k)*exp(i*2*pi*deltaf*k/para);
& && &&&end
& && &&&ich3=real(y);
& && &&&qch3=imag(y);
& && &&&%***************** AWGN addition *********
& && &&&[ich4,qch4]=comb(ich3,qch3,attn);
& && &&&y=ich4+qch4.*i;
& && &&&%*****************小数频率偏移和时延估计*********************************
& && &&&for d=1:para
& && && && &for n=1:para/2
& && && && && & z1(n)=conj(y(d+n+para/2))*y(d+n);
& && && && &end
& && && && &p1(d)=sum(z1);
& && && && &for n=1:para/2
& && && && && & z2(n)=abs(y(d+n+para/2)).^2;
& && && && &end
& && && && &p2(d)=sum(z2);
& && &&&end
& && &&&p=abs(p1).^2./(p2.^2);
& && && &plot(p);
& && &&&%c=linspace(-150,150,256);
& && &&&%stem(c,p);
& && &&&[a a1]=max(p); % 求最大值
& && &&&th=a*0.9;
& && &&&xulie1=p(1:a1-1);
& && &&&xulie2=p(a1+1:end);
& && &&&[j1 j2]=min(abs(xulie1-th));
& && &&&[j3 j4]=min(abs(xulie2-th));
& && &&&if(mod(j2+j4+a1,2)==0)
& && && && &j5=(j2+j4+a1)/2;
& && &&&else
& && && && &j51=(j2+j4+a1-1)/2;
& && && && &j52=(j2+j4+a1+1)/2;
& && && && &[j53 j54]=max([p(j51) p(j52)]);
& && && && &j5=j54+j51-1;& && && && && && && &
& && &&&end& && && &&&
& && &&&%********************求小数陪频偏***********************
& && &&&f=-angle(p1(j5))/&&
& && &&&%这是一种 最大似然方法联合实现符号定时同步和载波同步的方法
& && &&&% 具体的推导 见 《OFDM移动通信技术原理与应用》 4.6节 P104
& && &&&%m =m-1;%&&公式推导中的d实际上是delay 了 d-1 个样值& &wm added
& && &&&%********************定时估计方差***********************
& && &&&%********************小数倍频偏补偿***********************
& && &&&%r1=y;
& && &&&%ich5=real(r1);
& && &&&%qch5=imag(r2);
& && &&&for k=1:length(ich4);
& && && && &y(k)=y(k)*exp(i*2*pi*(-f)*k/para);
& && &&&end
& && &&&%********************整数倍频偏估计***********************
& && &&&r1 = fft(y(gilen+deltad+1:para+gilen+deltad));
& && &&&r2 = fft(y(2*gilen+deltad+para+1:2*para+2*gilen+deltad));
& && &&&for n=2:2:para/2-1
& && && && &for k=1:2:para/2-n
& && && && && & z11(k)=conj(conj(r1(k+n))*r2(k+n))*v(k);
& && && && &end
& && && && &r11(n)=sum(z11);
& && && && &for k=para/2-n+2:2:para/2
& && && && && & z22(k)=conj(conj(r1(k+n-para/2))*r2(k+n-para/2))*v(k);
& && && && &end
& && && && &r22(n)=sum(z22);
& && && && &x=r11+r22;
& && &&&end
& && &&&for k=1:2:para/2
& && && && &z33(k)=2*abs(r2(k)).^2;
& && &&&end
& && &&&q=sum(z33);
& && &&&F=abs(x).^2./(q.^2);
& && &&&b=max(F);& &% 求最大值
& && &&&g=find(F==b) ;& &% 求最大值所在位置
& && &&&%plot(abs(x));
& && &&&%plot(F);
& && &&&%********************频偏的估计值***********************
& && &&&l=g+f; %频偏估计值
& && &&&%********************同步估计均方误差计算***********************
& && & deltaderr=deltaderr+(j5-16-deltad)^2;
& && && &deltaferr=deltaferr+(f-deltaf)^2;
& & derr(o)=sqrt(deltaderr/(nloop))
& & ferr(o)=sqrt(deltaferr/(nloop))
figure(1);
semilogy(0:2:20,ferr,'x--b');
semilogy(0:2:20,ferr,'x--b');
<h1 style="color:# 麦片财富积分
关注者: 1
虽然我不能解决你的问题,但是给你提个建议:不要直接把大段大段的程序发上来让别人来给你看,最好先将问题定下位,比如哪一段程序结果和设想的不符可能有问题,或者哪一步具体实现不明了,毕竟最了解你的程序的人还是你自己,不要让别人浪费宝贵的时间来做一些本来该你自己做的事情:hug: :hug:
<h1 style="color:# 麦片财富积分
确实如此,浪费别人的时间等于谋财害命
<h1 style="color:# 麦片财富积分
推荐参考 robust frequency and timing synchronization for OFDM这篇文章
<h1 style="color:# 麦片财富积分
:loveliness:
<h1 style="color:# 麦片财富积分
支持一下:loveliness:
<h1 style="color:# 麦片财富积分
这段代码我在其他的论坛上看到过
<h1 style="color:# 麦片财富积分
R2010里好像qpskmod不能用吧,还有pn序列是这样产生的吗?
<h1 style="color:# 麦片财富积分
回复 1# student_up 的帖子
R2010里好像qpskmod不能用吧,还有pn序列是这样产生的吗?
<h1 style="color:# 麦片财富积分
deltaderr=deltaderr+(j5-16-deltad)^2;
& && && &deltaferr=deltaferr+(f-deltaf)^2;
& & derr(o)=sqrt(deltaderr/(nloop))
& & ferr(o)=sqrt(deltaferr/(nloop))
deltaderr,deltaferr使用完之后,没有清零
站长推荐 /1
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区17被浏览5,364分享邀请回答85 条评论分享收藏感谢收起2添加评论分享收藏感谢收起写回答1 个回答被折叠()

我要回帖

更多关于 amp信号通路 的文章

 

随机推荐