添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

因此通过上述分析我们可以通过求解循环自相关函数求解出OFDM 信号的有效数据长度 和符号总长度 ,因此可以间接的求出OFDM信号的子载波间隔 和循环前缀的长度 。

由循环自相关函数的特点可知,通过估计循环频率 a=0 截面上次峰值的位置可以估计出信号的有效数据长度 ,通过搜索 截面上的峰值间隔可以估计出信号的符号总长度。但是在求解过程中不需要直接去求解循环自相关,增加不必要的运算量。只需要求解 和 a=0 两个截面即可。

首先通过可变延时自相关的方法求解出 a=0 的截面估计出有效数据长度 然后根据令可变延时 ,对 做FFT变换估计出符号总长度 ,进而可以算出子载波间隔和循环前缀的长度。

给出matlab代码如下:

 function [Tu,Ts] = auto_xcorr(data, P, xcorr_len, N,t,K)
 %*************************************************************************
 %功能:计算发送数据或接收数据自相关
 %data:输入数据
 %P:循环周期
 %N:OFDM符号数
 %xcorr_len:自相关长度,以OFDM符号为单位
 %K=1时绘制图形  
 %Rx自相关函数
 %*************************************************************************
 kk = xcorr_len+2 ;
 xcorr_len = xcorr_len*P;
 Rx = zeros(xcorr_len, 2*P);
 data1=[zeros(1,P),data,zeros(1,P)];
 for i = 1 : N-kk+1
    for tao = 1-P : P
        for n = 1 : xcorr_len
            Rx(n,tao+P) = Rx(n,tao+P) + data1(P*(i-1)+n+P)*conj(data1(P*(i-1)+n+tao+P));
 Rx = Rx./(N-kk+1);
 R_tao =zeros(1,length(Rx(1,:)));
 for i=1:length(Rx(:,1))
    R_tao= R_tao+Rx(i,:);
 R_tao= abs(R_tao)/length(Rx(:,1));
 if K==1
     figure
     stem ((1-P)*t :t:( P)*t ,R_tao);   %P*t是将由采样点数表示的有效数据长度变为由时间表示的
     xlabel('delay/s');
     ylabel('amplitute');
     title('短波可变延时自相关')
     figure
     stem ((1-P) :( P) ,R_tao);   %P*t是将由采样点数表示的有效数据长度变为由时间表示的
     xlabel('delay/s');
     ylabel('amplitute');
     title('基带可变延时自相关')
 %********************************************
 %取有效数据长度
 %********************************************
 abc=sort( R_tao(1,1:end/2));    %按升序排序
 Z=length(abc);
 [as1 ,Tu1] =find( R_tao(1,1:end/2)==abc(1,Z-1));%取峰值高度为第二高的峰值对应坐标
 Tu=(length(R_tao)/2-Tu1)*t;       %为信号的有效数据长度
 %********************************************
 %取数据的总长度
 %********************************************
 sigma0 = 6;   %观测数据的长度因子
 L_fft=sigma0*P;     %观测数据的长度,即fft的长度
 RR = zeros(xcorr_len, L_fft);
 data111=[zeros(1,P),data,zeros(1,P)];   %将观测的数据长度延长,避免求自相关时超出长度
 for i = 1 : N-4 
    for k=1:L_fft
            RR(i,k) =data111(P*(i-1)+k)*conj(data111(P*(i-1)+k+length(R_tao)/2-Tu1));
 RRR_tao =zeros(1,length(RR(1,:)));
 for i=1:length(RR(:,1))
    RRR_tao= RRR_tao+RR(i,:);
 RRR_tao= abs(RRR_tao)/length(RR(:,1));
 RRR_T=ifft(RRR_tao);
 RRR_fft= abs(RRR_T(1,1:20*sigma0));
 if K==1
     figure
     LL=t:t:20*sigma0*t;
     stem(LL,RRR_fft);
     title('短波固定延时自相关的IFFT')
     figure
     stem(RRR_fft);
     title('基带固定延时自相关的IFFT')
a=sort(RRR_fft);    %按升序排序
Z=length(a);
[a1 ,T1] =find(RRR_fft==a(1,Z));%取峰值高度为第一高的峰值对应坐标
[a2 ,T2] =find(RRR_fft==a(1,Z-1));%取峰值高度为第二高的峰值对应坐标
[a3 ,T3] =find(RRR_fft==a(1,Z-2));%取峰值高度为第三高的峰值对应坐标
Ts1 = abs(T2-T1);
Ts2 = abs(T3-T2);
Ts3 = abs(T3-T1);
Tss = [Ts1 Ts2 Ts3];
TT = sort(Tss);  %按升序排序取间隔最小值
Ts= L_fft/TT(1)*t;       %为信号的有效数据长度
给出参考的结果如下: 对接收信号的自相关函数进行FFT变换后得到OFDM信号的循环自相关函数    因此通过上述分析我们可以通过求解循环自相关函数求解出OFDM 信号的有效数据长度 和符号总长度 ,因此可以间接的求出OFDM信号的子载波间隔 和循环前缀的长度 。    由循环自相关函数的特点可知,通过估计循环频率a=0截面上次峰值的位置可以估计出信号的有效数据长... R^xα(f)≡0\hat R_x^\alpha (f) \equiv 0R^xα​(f)≡0,对∀α≠0,R^x(τ)≠0\forall \alpha \ne 0,{\hat R_x}(\tau ) \ne 0∀α​=0,R^x​(τ)​=0,则x(t)x(t)x(t)为纯平稳 信号 。 R^xα(f)≠0\hat R_x^\alpha (f) \ne 0R^xα​(f)​=0,当α=mT0\alpha = \frac{m}{{{T_0}}}α=T0​m​,则x(t)x(t)x(t)具备纯
对于 matlab 我是新手,程序也是编写好长时间,总想写篇文章纪念下,所以有些地方可能没有说明白,有需要在修改。 目的:利用 自相关 在接受来的数据中找到与本地数据相同的地方,利用的是 自相关函数 在原点位置的值最大。既然是在 matlab 中写程序为啥不用 自相关函数 呢?因为这个程序以后可能会在单片机上 实现 ,所以先用 matlab 实验下。 fs=200000;%抽样频率 B=10000; f0=20000;%LFM 信号 的起始频率 n=2048;%采样点个数 T1=n/fs;%在采样频...
R^xα(f)≡0\hat R_x^\alpha (f) \equiv 0R^xα​(f)≡0,对∀α≠0,R^x(τ)≠0\forall \alpha \ne 0,{\hat R_x}(\tau ) \ne 0∀α​=0,R^x​(τ)​=0,则x(t)x(t)x(t)为纯平稳 信号 。 R^xα(f)≠0\hat R_x^\alpha (f) \ne 0R^xα​(f)​=0,当α=mT0\alpha = \frac{m}{{{T_0}}}α=T0​m​,则x(t)x(t)x(t)具备纯 BPSK实 信号 表达式可以写为 r(t)=y(t)+n(t)r(t) = y(t) + n(t)r(t)=y(t)+n(t) =s(t)p(t)+n(t)= s(t)p(t) + n(t)=s(t)p(t)+n(t) =∑n=−∞∞a(nT)q(t−nT−t0)cos⁡(2πf0t+θ) + n(t)= \sum\limits_{n = - \infty }^\infty {a(nT)q(t - nT - {t_0})} \cos (
OFDM (正交频分复用)是一种多载波 信号 传输技术,通过将高速数据流分成多个低速子流,并在不同的载波上传输,以 实现 高速数据传输和抗干扰性。全1信息 OFDM 一体化 信号 是指在所有传输的子载波上都传输相同的全1 信号 ,这种 信号 通常用于检测 OFDM 系统的通道性能。 在 Matlab 中,可以使用ifft函数生成 OFDM 信号 ,其中每个子载波的频率与其索引成比例关系,即f(k) = k*Δf,其中Δf是子载波间隔。在生成全1信息 OFDM 信号 后,需要计算其模糊函数以了解信道对 信号 的影响。 OFDM 信号 的模糊函数是指信道传输过程中 信号 的频率响应,它可以使用fft函数来计算信噪比(SNR)和信道扭曲之间的关系。可以通过在发送端添加高斯白噪声 信号 并计算接收端 信号 与发送端 信号 之间的误差来模拟信噪比和信道扭曲对 信号 的影响。通过比较发送和接收 信号 的功率谱密度和相位,可以计算 OFDM 信号 在信道中传输时的模糊函数,从而了解信道间隔和 OFDM 带宽之间的关系。 总之,通过在 Matlab 中使用ifft和fft函数,我们可以生成并计算全1信息 OFDM 一体化 信号 的模糊函数,以了解信道扭曲和信噪比对 OFDM 系统的影响。