第二周-OFDM和BPSK是如何通过循环谱提取特征参数

基于循环谱的水声通信信号特征分析和提取

  1. 归纳循环谱的几种方法,总结OFDM和BPSK是如何通过循环谱提取特征参数
  2. 实践仿真利用循环谱提取BPSK信号的特征参数
  3. 下周任务:利用循环谱提取OFDM信号的特征参数


1.研究背景和发展现状

2.原理过程

补充上周所用的原理,这里总结了时域和频域两种角度的方法:
在这里插入图片描述在这里插入图片描述
其中,时域平滑循环周期可以转换为FAM算法(快速FFT变换累积算法),FAM算法有两个不同点,一是FAM算法是在时域平滑循环周期法的基础上进行令两次FFT累计计算的,第二点石在进行离散傅里叶变换的时候,考虑令加权窗对循环谱密度估计的改进作用,从而使估计效果更准确。
频域平滑循环周期可以转黄为DFSM算法(直接频率平滑算法),DFSM算法是在频域平滑循环周期法的基础上直接计算谱分量之间的谱相关。算法框图与上图一致。
在这里插入图片描述

3.谱相关分析的特点

总结了几篇论文和书籍,谱相关分析方法主要有以下特点:
1.很多声呐信号都是循环平稳信号,而噪声却是平稳信号。当给回波信号做循环相关时,噪声大都集中在alpha=0上,而alpha=0相当于传统功率谱,如果采用传统功率谱方法,无法针对噪声进行抑制,而循环谱却可以在低信噪比的情况下很好的抑制平稳噪声。
2.由于循环谱包含幅度和相位,谱相关函数能为信号分析提供更多的信息(信号载频,带宽,符号速率,相位和时间)。所以采用循环谱方法,可以通过二维空间来提取更多的特征参数。
3.由于大多人造信号都是循环平稳信号,和传统的功率谱分析方法,谱相关分析更准确地揭示令循环平稳信号的本质。
拓展方向:解决频偏循环谱泄露的问题,减轻计算量,还可以结合小波变换、高阶累积量等方法进行多种通信信号的调制识别,进行多种通信信号的特征提取

4.举例推导

4.1 BPSK

这周主要仿真了BPSK的循环谱,并利用循环谱进行特征分析。提取载频和符号速率。

内容符号表示数值
符号数N100
信号点数length(x)10000
循环谱检测点数K5000
平滑T25
载波频率fc125Hz
符号速率Fb25个/s
信噪比SNR10dBD

循环谱:
在这里插入图片描述
在这里插入图片描述
仿真代码:

N=100;                               %%每行符号数/符号数
L=32;                                %%L行并行运输
M=2;                                 %%多进制
SNR=10;                              %%单位dBD   
fc=125;                              %%采样定理:小于25
fs=2500;                             %%采样频率
x=PSK(M,fc,SNR,N,fs);                %%信号产生
K=N*50;                              %%循环谱检测采样长度,必须小于等于信号序列长度
T=25;                                %%平滑点数,检测采样长度K=T*频率采样个数
[alpha,f,S]=cyclic_spectrum(x, K, fs, T);        %%做循环谱
S=data_sym(alpha,f,S);                           %%f轴的负半轴对称
%%% 循环谱作图 %%%
figure;
mesh(f, alpha, abs(S));
title('循环谱');xlabel('f');ylabel('a');
normal_data_alpha=S(floor(length(S(:,1))/2)+1,:);    %alpha=0截面
normal_data_f=S(:,floor(length(S(1,:))/2)+1);        %f=0截面
figure;
subplot(211);
plot(f,abs(normal_data_alpha));title('谱相关函数a=0的二维切面');
xlabel('频率 [Hz]');ylabel('S0(f)');grid on;
subplot(212);
plot(alpha,abs(normal_data_f));title('谱相关函数f=0的二维切面');
xlabel('循环频率 [Hz]');ylabel('S0(f)');grid on;
%% 载频估计
% normal_data_f =interp(normal_data_f,10);
% alphas = interp(alpha,10);
mid=fix(length(normal_data_f)/2);
for i=1:mid
  if(abs(normal_data_f(i)) ==max(abs(normal_data_f(1:mid))))
      f1=abs(alpha(i));
  end
end
for ii=mid:length(normal_data_f)
  if(abs(normal_data_f(ii)) ==max(abs(normal_data_f(mid:end))))
      f2=abs(alpha(ii));
  end
end
ff=(f1+f2)/4;        %%估计的载波频率
data3=S(:,fix(ff));  %%找到f=fc截面
normal_data3=data3/max(data3);
figure;
plot(alpha,abs(normal_data3));title('谱相关函数f=fc的二维切面');
xlabel('频率 [Hz]');ylabel('S0(f)');grid on;

其中PSK产生函数:

function f=PSK(m,fc,SNR,N,fs)
%%产生所要求的PSK信号
% N=100;                              %%符号个数
% fc=2;                               %%载波频率
% m=2;                                %%m进制
% SNR=1;                              %%单位dBD
% fs=2500;                            %%采样频率
fb=100; 
fc=fc*fb/fs;                          %%带入设定采样速率,计算实际载频
T=1;                                  %%表达式中的参数,符号速率(一组载波运载fc个符号)
tb=1/fb;
t=0:tb:T-tb;
c=sqrt(2/T)*exp(j*2*pi*fc*t);         %%载波信号生成两个正交载波
c1=sqrt(2/T)*cos(2*pi*fc*t); 
c2=-sqrt(2/T)*sin(2*pi*fc*t);
snr=10.^(SNR/10);                     %%转换成单位线性值
msg_PSK=randi(m,1,N);
% msgmod_PSK=dpskmod(msg_PSK-1,m).';            %%dpsk调制
msgmod_PSK=pskmod(msg_PSK-1,m).';             %%psk调制
x=msgmod_PSK*c;
x1=reshape(x.',1,length(msgmod_PSK)*length(c));
s_pow=norm(x1).^2/(N);                  %%这里是符号的平均功率,而不是每一个采样点
sigma=sqrt(s_pow/(2*snr));              %%根据线性值的信噪比和信号功率求出噪声功率
f=x1+sigma*randn(1,length(x1));         %%加性噪声后的信号

循环谱函数(这里采样的是频域平滑周期图法):

function [alpha,f,S] = cyclic_spectrum(x, K, fs, T)
%*******************************************************************
%%频域平滑周期图法求循环谱
% x :  信号
% K :  循环谱检测采样长度,必须小于等于信号序列长度
% fs : 采样频率, 检测带宽为-fs/2至fs/2
% T :  平滑点数, 时间分辨率*频率分辨率=k
%alpha f: alpha轴和f轴
win = 'hamming'; % 平滑窗类型
d_alpha = fs/(K);                                        %% 1/时间分辨率=循环频率分辨率
alpha = -fs:d_alpha:fs;                                  %% 循环频率, 分辨率=1/时间分辨率
a_len = length(alpha);                                   %% 循环频率取样个数
f_len = floor(K/T-1)+1;                                  %% 最大平滑窗个数, 即频率采样个数
f = -(fs/2-d_alpha*floor(T/2)) + d_alpha*T*(0:1:f_len-1);%% 频率采样点位置:-fs/2-fs/2
S = zeros(a_len, f_len);                                 %%初始相关功率谱(负半轴)
i = 1;                                                   %%循环
%%% 信号fft变换 %%%
X = fftshift(fft(x(1:K))); 
X = X';
%%% 遍历循环频率取值 %%%
for alfa = alpha
    interval_f_N = round(abs(alfa)/d_alpha); % 循环频率所对应的频谱序列序号
    f_N = floor((K-interval_f_N-T)/T)+1;     % 平滑窗的个数
    %%% 频域序列平滑模板 %%%
    t = 1:T*f_N;
    t = reshape(t, T, f_N);
    %%% 计算X1,X2 %%%
    X1 = X(t);
    X2 = X(t+interval_f_N); 
    %%% 计算谱相关 %%%
    St0 = conj(X1).*X2;
    St = mean(St0, 1); % 平滑平均
    S(i, floor((f_len-f_N)/2)+(1:f_N)) = St/K; % 将结果平移至序列中央以便作图
    i = i+1;   
end

补f负半轴函数:

function  [SNEW]=data_sym(alpha,f,S)
N=length(alpha);
M=length(f);
mid=floor(M/2);
S_FU=zeros(N,M);
for i=1:N
    S_FU(i,:)=fliplr(S(i,:));
end
SNEW=[S_FU(:,1:mid) S(:,mid+1:end)];
SNEW(:,mid)=2*S(:,mid);

4.2 OFDM

5.利用循环谱进行特征分析

5.1 BPSK

第一步:找到循环谱的f=0截面(alpha=0截面表示传统的功率谱,也可以找到载频,但是当信噪比过大可能就看不出来)
在这里插入图片描述
文献中给的方法是根据f=0截面(图2),峰值位置除以2就是载频fc,理论值是250Hz
这里x的位置有时候会是250HZ,有时候在250徘徊。目前猜测是平滑值采取不当和没有加窗导致的,后面会在改进中再看会不会更准确。通过alpha=0截面(图1),即功率谱密度也能判断出fc
第二步:
找到f=fc截面,我后面写的函数可以找到fc位置,只不过前面估计载频在理论值附件徘徊,所以不准确,有时候程序直接用fc代替fix(ff)。或者打开循环谱找到f=fc的次峰:
在这里插入图片描述
在这里插入图片描述
可以得到符号速率Fb=25个/s,这里的频率分辨率采取的不是很好,应该还是加窗平滑的问题

5.2 OFDM

6.一些改进的方法

  • 15
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: CP-OFDM (正交频分多址,Cyclic Prefix Orthogonal Frequency Division Multiplexing) 是一种带循环前缀的 OFDM 技术,用于减少频偏导致的信道失真。 DFT-S-OFDM (正交频分多址,Discrete Fourier Transform Spread Orthogonal Frequency Division Multiplexing) 是一种基于 DFT (离散傅里叶变换) 的 OFDM 技术,可以支持更高的带宽效率和抗干扰能力。 ### 回答2: CP-OFDM循环前缀正交频分复用)和DFT-S-OFDM(离散傅里叶变换序列正交频分复用)都是OFDM技术的变种,用于数字通信系统中,它们的主要区别在于它们试图解决不同的问题。 CP-OFDMOFDM技术的标准实现形式,它采用循环前缀技术解决了信道失真带来的码间干扰(ICI)问题。当信道失真导致码间干扰的时候,循环前缀可以提供保护,将发送的符号码分为若干个长度相同的块,每个码块后添加一段循环前缀,再将它们串接起来发送,接收器根据自己知道的循环前缀长度来将码块分离并去掉前缀,从而消除了ICI问题。 而DFT-S-OFDM则采用了离散傅里叶变换(DFT)代替了循环前缀,在传输信号矩阵的每一列上执行DFT,由于DFT是正交的,可以保证由不同输入产生的输出彼此正交,从而减少了ICI。此外,DFT-S-OFDM还可以通过增加间隔的DFT长度来实现高灵敏度,DFT长度越大,相邻子载波之间的差异也就越大,因此它对于理论上的通道模型要求低,能够适用于更广泛的情况。 综上所述,CP-OFDM和DFT-S-OFDM都是OFDM技术的重要变种,它们的特点和优缺点有所不同,适用于不同的场景和应用需求。在选择哪种技术时,需要根据具体的通信系统需求和实际环境来进行选择。 ### 回答3: CP-OFDM和DFT-S-OFDM是两种用于数字通信的OFDM技术,在5G等网络中被广泛使用。两者有着不同的特点和应用场景。 CP-OFDM(Cyclic Prefix OFDM)是OFDM技术中最常用的一种类型,它通过添加循环前缀(CP)来解决多径效应带来的因为符号间干扰而引起的信号失真问题。CP是由扩展OFDM符号前面一小段数据组成的,并复制到了OFDM符号序列的末尾,因此发送时会将OFDM符号序列扩展一倍。这么做的好处是可以为符号间消除干扰,使得接收端可以更好地恢复信号。然而CP-OFDM也存在一些缺陷,例如需要额外的发送时间、功耗较高等。 DFT-S-OFDM(Discrete Fourier Transform Spread OFDM)也被称为FBMC (Filtered Bank Multicarrier)。它是一种基于OFDM的子载波调制技术,它利用快速傅里叶变换(FFT)和滤波器银行,使数据能够平稳地分布在原始频率上,从而在不同频带上实现更好的系统性能。另外,DFT-S-OFDM具有下行波束成形的优点,即可以对用户进行动态的波束成形,提高频率复用,从而提高无线电频利用率。 总结来看,CP-OFDM和DFT-S-OFDM各自具有自己的优点和缺点,应用场景也不同。如果需要在对多径效应时进行抗干扰,则CP-OFDM是一个比较好的选择。而如果需要实现波束成形和提高频利用率,那么DFT-S-OFDM更为适合。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值