精华内容
下载资源
问答
  • 正常通信条件下,发送方和接受方进行的是合作通信,即接受方预先知道发送信号的频率、调制类型、码元速率等参数,这样,接受方可以完全解调发送信号,从而无损失地获得传送的信息。然而,在某些场合,我们需要接收机...

    西安电子科技大学 西电大宝

    在电子技术迅猛发展的当代社会,空间中充满了各种各样不同频率、不同调制类型的通信信号。正

    常通信条件下,发送方和接受方进行的是合作通信,即接受方预先知道发送信号的频率、调制类型、码

    元速率等参数,这样,接受方可以完全解调发送信号,从而无损失地获得传送的信息。然而,在某些场合,我们需要接收机能够在没有先验知识的情况下进行解调工作。这些场合包括:电子侦察、电子战、空间威胁分析以及民用的灵巧收音机(即可以自动调台的收音机)等。显然,这些场合属于非合作通信,发送方并不希望接受方能够正确地解调发送信号,接受方也无法预先完全得知信号的各种调制参数。调制识别的任务就是在未知调制信息内容的前提下,确定信号的调制类型,然后估计载波频率、载波相位、码元速率等各种调制参数。码元速率估计在调制识别中是非常重要的一个环节,首先,码元速率估计不正确将导致调制识别不正确,将信号进行不正确的解调会部分或者全部破坏信号携带的信息;其次,如果知道了正确的码元速率,就可以确定正确的调制类型,从而进一步选择合适的干扰波形。在传统调制识别过程中,需要预先掌握一些调制参数,比如,载波频率、载波相位等等。这样,在估计这些参数过程中的误差会被引入到码元速率估计中,从而影响码元速率估计的精度。为了提高精度,我们必须寻找一种直接估计码元速率的新方法。通信信

    号是一种典型的非平稳信号,分析非平稳信号一般采用而时频信号分析。进一步分析各种调制信号我们发现,码元变化会导致调制信号中有瞬时突变信号出现,而时频信号分析中

    的小波分析正是分析瞬时突变信号的有效工具。

    移相键控(phase shift

    keying, PSK)调制方式在通信系统中获得了广泛的应用。在电子侦察与对抗中, 对数字调制信号M元的识别和符号速率的估计是通信对抗的重要问题。如何在低信噪比的条件下实现PSK信号符号速率的精确估计和有效地区分信号的M元已成为研究的热点。各种现代信号处理技术, 包括人工神经网络、小波理论、谱相关理论、支撑向量机(SVM ) 等数学方法已被应用到此项研究中。PSK信号属于一种循环平稳信号, 其相位中存在着瞬变,

    而小波变换(WT)非常适于提取相位跃变的瞬态变化信息。数字通信中多采用PSK调制方式, 该信号经过一定变换后,

    相位变化可反映为小波变换后不同峰值幅度的变化, 经一定处理后便可利用PSK信号小波变换的自相关精确地估计出符号速率。这种方法的最大优点是无需任何载频或信噪比的先验知识。

    一.

    解决问题

    研究基于小波变换有效提取信号瞬变特性的功能, 对数字调制移相键控(PSK)信号进行码元速率估计。通过对信号作多尺度下的小波变换, 提取PSK信号码元间的相位瞬变信息。然后通过对小波变换幅值求自相关运算及其他处理, 实现对PSK信号符号速率的准确估计。该方法的优点是无需任何PSK信号的先验知识, 在低信噪比下仍能准确估计。对QPSK信号在Matlab环境下的仿真结果表明,信噪比≥9 dB时能准确估计其码元速率。

    二.

    理论分析

    2.1 移相键控(phase shift keying,

    PSK)调制方式

    一般调制信号的改变部份可分为幅度A(用)、相位θ(用)及频率fo(用)三种。移相键控是一种利用相位差异的信号来传送信息的调制方式。

    MPSK通用的传输符号之公式:

    a4c26d1e5885305701be709a3d33442f.png

    其调制的码元为x=[0 2 3 0

    1],每隔一个码元周期,如果前后两个码元不一样,调制信号会有一个不连续的变化。下面就是根据这一点,利用小波分析来检测出这些不连续变化的点,从而得到码元周期。

    2.2 小波

    小波分析方法在上篇已经做过简要介绍,这里略去。

    本文中采用db5小波对4psk调制信号进行分析。Db5小波是dbN(N是小波的阶数)小波的一种,除了N=1外,dbN不具有对称性,没有明确的表达式。其母小波图形见上一篇博文中图3。

    2.3 码元速率估计的实现

    从上面分析当中,我们知道在MPSK信号的小波变换信号幅度信号中有很多峰值,而且这些峰值恰好出现在相位突变之处。这些峰值之间的间隔是码元周期的整数倍,如果峰值足够多的话,最小的峰值间隔就是码元周期。这样码元速率估计问题就转换为周期估计问题(或者频率估计,尽管实际信号不在频域,但是方法非常类似)。周期估计有很多成熟的方法可以利用,比如:过零点估计方法,信号自相关法,周期图法等等。需要指出的是,用这种方法进行码元速率估计是不需要先验知识的,例如中频,调制类型等等调制参数,当然,我们也不需要对信号进行解调。这种方法可以避免在估计其它参数或者解调时引入误差,从而获得比较高的估计精度。

    这里采用信号自相关法进行周期估计。调制信号在相位突变的时候,小波变换高频系数重构的信号幅值在码元跳变处会频率明显的增大,因而会形成图5的信号。

    a4c26d1e5885305701be709a3d33442f.png

    a4c26d1e5885305701be709a3d33442f.png

    三.matlab仿真

    a4c26d1e5885305701be709a3d33442f.png

    a4c26d1e5885305701be709a3d33442f.png

    选取D1频率段的小波系数做自相关,D1段是高频段。下图是小波分解出的高频信号,通过对小波系数自相关后得到的结果,对其设定门限

    即可得到信号峰值,这里采用的是先程序先搜出自相关信号中心的最大值对应的时间点t,然后向左右两边搜寻出下一个峰值时间点t1,t2。则码元周期T=(t2-t1)/2,码元速率Rs=1/T。图10是信噪比10db的QPSK的高频小波系数自相关绝对值,检测出最大值在第6400个采样点处,旁边两峰分别是在6201和6599处,采样频率fs=200kHz,所以码元速率Rs=1000字符/s。

    a4c26d1e5885305701be709a3d33442f.png

    仿真发现,

    在信噪比为20, 15, 10

    dB时,码元速率估计结果均为1000 字符/s 范围内,误差在1%以内。可见在仿真条件下能得到比较准确估计。但当信噪比小于9 dB 时此方法失效,噪声过大导致自相关后的峰值不明显,检测出错的几率很大。

    四.总结

    运用小波变换后再求其自相关的方法对运用小波变换后再求其自相关的方法对PSK 的字符速率进行估计, 在信噪比≥9 dB

    时的仿真该方法有较好的估计效果。文中的方法要很好地解决实用问题,还需要进一步的工作:对PSK混合调制信号的符号速率估计。

    五.仿真程序:

    主m文件

    M=4;%ºÍµ÷ÖÆÔªÊýMÓйأ¬2*pi/MԽСԽÄÑÓëÔëÉùÇø·Ö¡£Ôز¨±ä»¯£¬Ð¡²¨³ß¶ÈÓ¦±ä»¯£¬

    %Ñ°ÕÒ×îºÃµÄС²¨·Ö½â²ãÊýN£¬»¹ÓÐÈ¥ÔëÃÅÏÞ£¬×ÔÏà¹Ø²î·Öƽ·½Ð§¹û½ÏºÃ

    j=32;%ÂëÔª¸öÊý

    x=[0 2 1 3 0 2 0 1 3 2 0 1 1 3 1 0 0 2 0 1 3 2 0 1

    3 0 2 0 1 3 2 0];%%randint(1,j);

    fc=10000;

    fd=1000;

    fs=200000;

    [sn,t]=dmod(x,fc,fd,fs,'psk',M);

    s=awgn(sn,7,'measured','db');%¼ÓÔëÉù

    t=1/fs:1/fs:j/fd;

    N=7;%С²¨·Ö½â²ãÊý

    ls=length(s);

    [c,l]=wavedec(s,N,'db5');

    figure(1);

    subplot(N+2,1,1);plot(t,s);

    aN=wrcoef('a',c,l,'db5',N);

    subplot(N+2,1,2);plot(aN);

    for i=1:ls

    if abs(c(i))<0.64

    c(i)=0;

    end

    end

    for i=1:N

    di=wrcoef('d',c,l,'db5',N+1-i);

    subplot(N+2,1,2+i);plot(di);

    end

    r = xcorr(di);

    ls1=length(r);

    % d(ls1-1)=0;

    % for i=1:ls1-1

    %

    d(i)=r(i+1)-r(i);

    % end

    R=1;

    figure(2);

    %

    subplot(R,1,1);plot(r);xlabel('¸ßƵС²¨ÏµÊý×ÔÏà¹Ø');

    subplot(R,1,1);plot(abs(r));xlabel('¸ßƵС²¨ÏµÊý×ÔÏà¹Ø¾ø¶ÔÖµ');

    for i=1:ls1-1

    if(r(i)==max(r))

    mr=i

    end

    end

    i=mr-5;

    while(abs(r(i))<2.7)

    i=i-1;

    end

    Rs1=i

    i=mr+5;

    while(abs(r(i))<2.7)

    i=i+1;

    end

    Rs2=i

    Rs=(Rs2-Rs1)/2

    由于涉及大很多公式,很不方便录入到博客里,所以我直接截图进来。我也找了新浪博客和office相关的发博文软件,我搞了半天也没搞会。最终还是直接发图片了,有谁搞懂怎么把新浪博客和office结合起来,一定请告诉我下,谢谢了先!!!!!

    本人郑重声明:此博客文章电子制作文章禁止转载,请尊重个人劳动成果。

    西电大宝

    展开全文
  • 子程序代码 %% 符号速率估计-基于代价函数的小波脊相位提取算法 % 脊线-脊线均值 硬判决为 0 和 1 function [RBpri]=Fsk_RB_Wavridge_DynOpt(sig,f1,f2,Fs,da) sig = sig./(abs(sig)); wname = 'cmor4-4'; % morlet...

    算法来源

    王勇, 王李福, 邹辉,等. 一种小波脊相位提取方法: 中国专利.

    仿真结果

    在这里插入图片描述在这里插入图片描述

    引言

    当前,脊点的选取较准确也较经典的方法是Liu等提出的里程碑式的基于代价函数的小波脊相位提取方法(即代价函数脊法),其利用代价函数来抑制噪声的影响,并结合动态规划的思想进行脊线的搜索定位,该方法具有较好的抗噪性和鲁棒性。通过考虑小波变换系数模值信息,选取了小波变换系数模极大值及其周围的点作为候选脊点。在选取出候选脊点的基础上,通过引入代价函数计算出最小的小波变换系数模值与小波脊与相位间的曲线变化代价函数值来定位真实的小波脊点。但是在受到随机噪声的影响后,会导致真正的脊点不是模极大值点也不是其周围的点;此外,原有代价函数也不能很好的准确选取小波脊相位。

    综上所述,现有的基于代价函数的小波脊相位提取方法具有如下不足之处&#

    展开全文
  • 循环平稳框架下PSK信号的鲁棒符号估计
  • 码元速率的盲估计-包络谱法

    千次阅读 2019-09-04 21:49:06
    码元速率的盲估计 实现自论文 算法的大致原理请看论文,本文这里是帮助实现了论文代码。分享出来。 源代码 clc clear close all % 这是一个对码元速率的盲估计程序,先经过谱分析粗估计码元速率,然后利用 ...

    码元速率的盲估计

    实现自论文
    主要实现的是包络谱的检测方法。

    算法的大致原理请看论文,本文这里是帮助实现了论文代码。分享出来。

    源代码

    clc 
    clear 
    close all
    % 这是一个对码元速率的盲估计程序,先经过谱分析粗估计码元速率,然后利用
    % CZT细化频谱,然后对码元速率精估计
    
    Rs = 1000; % 设置码元速率,每秒1000个码元
    T = 5; % 设置持续时间,[0,5]s
    N = Rs * T; % 共有N个码元
    fs = 8000;
    dt = 1/fs; 
    IPOINT = fs / Rs; % 计算每个码元的采样点数
    sum = N * IPOINT;
    df = fs / sum;
    data = randsrc(1, N, (0:3));
    dataMod = pskmod(data, 4);
    % 绘制星座图
    % scatterplot(dataMod) 
    
    irfn=21; % 滤波器的抽头系数
    alfs=0.5;
    % 脉冲成型滤波器
    xh=rcosdesign(alfs,irfn, IPOINT,'sqrt');
    numOfFir = irfn * IPOINT;
    
    % 上采样
    dataUpsample = upsample(dataMod, IPOINT);
    dataSent = conv(dataUpsample, xh);
    % 接收数据
    delay = floor(numOfFir/2);
    % 经过和滤波器的卷积,会多出滤波器的点数2 * delay个点
    % 时延为delay个点
    receiveData = dataSent(delay+1:end-delay);
    % 得到复包络的平方Ak
    Ak = power(abs(receiveData), 2);
    AkFFT = fft(Ak);
    figure()
    plot(1:length(AkFFT), abs(AkFFT))
    AkFFT(1) = 0;
    
    AkFFTHalf = AkFFT(1:floor(length(AkFFT)/2));
    [maxValue, maxIndex] = max(AkFFTHalf);
    % 归一化
    AkFFT = AkFFT / maxValue;
    
    RsCoarseEstimate = maxIndex * df;
    RsCoarseEstimate 
    
    % 阈值的设置,大于0,远小于1,可调解
    Th = 0.01;
    f2 = RsCoarseEstimate * (1+Th); 
    f1 = RsCoarseEstimate * (1-Th);
    
    
    M = length(Ak);
    delf = (f2 - f1) / M;
    w = exp(-j*2*pi*delf/fs);
    
    % w = exp(-1i*2*pi*(delf)/fs);
    a = exp(1i*2*pi*f1/fs);
    
    AkCZT = czt(Ak, M, w, a);
    
    [~, maxIndex] = max(AkCZT);
    figure()
    plot(1:length(AkCZT), AkCZT);
    RsAccurateEstimate = maxIndex * delf + f1
    
    展开全文
  • 1、设置归一化频偏 时域(使用l两段完全一样的chu序列,这里设置每一段长度为1024),基带传输 ...FFT窗口设置为1024,基带传输速率设置为 RsR_sRs​,则子载波间隔 fsc=Rs1024f_{sc} = \frac{R_...

    1、设置归一化频偏

    • 时域(使用l两段完全一样的chu序列,这里设置每一段长度为1024),基带传输

    在这里插入图片描述
    x ( k ) = x ( k + N ) , k = 1 , 2 , . . . , 1024 x(k )=x(k+N),k=1,2,...,1024 x(k)=x(k+N),k=1,2,...,1024

    • FFT窗口设置为1024,基带传输速率设置为 R s R_s Rs,则子载波间隔 f s c = R s 1024 f_{sc} = \frac{R_s}{1024} fsc=1024Rs
    • Matlab添加频偏(起始偏移设置为0)
    step_freq = f_shift*2*pi/1024;                          %f_shift为归一化频偏设置,1024为FFT窗口长度
    add_freq = mod(step_freq*[0:(length(rxdata)-1)] ,2*pi); %相位循环递增(或递减)
    rxdata_addfreqshift = rxdata.*exp(1j*add_freq );
    

    2、频偏估计方法

    • 频偏估计宽度为 l e n g t h e s t i = l e n g t h F F T l e n g t h t r a i n s e q length_{esti}=\frac{length_{FFT}}{length_{trainseq}} lengthesti=lengthtrainseqlengthFFT l e n g t h F F T length_{FFT} lengthFFT 为FFT窗口长度, l e n g t h t r a i n s e q length_{trainseq} lengthtrainseq 为单个训练符号长度,估计范围为 [ − l e n g t h e s t i 2 , l e n g t h e s t i 2 ] \left[ -\frac{length_{esti}}{2},\frac{length_{esti}}{2}\right] [2lengthesti,2lengthesti],当前为 [ − 0.5 , 0.5 ] [-0.5,0.5] [0.5,0.5]
    • 相位偏移计算 p h a s e s h i f t = a n g l e ( r x d a t a i ∗ c o n j ( r x d a t a i + 1024 ) ) , i = 1 , 2 , . . . , 1024 phase_{shift} = angle\left(rxdata_i*conj\left(rxdata_{i+1024}\right)\right),i = 1,2,...,1024 phaseshift=angle(rxdataiconj(rxdatai+1024)),i=1,2,...,1024
    • 频偏计算 f s h i f t = − Σ i = 1 1024 p h a s e s h i f t 2 ∗ π ⋅ l e n g t h F F T l e n g t h t r a i n s e q f_{shift} = -\frac{\Sigma_{i=1}^{1024}phase_{shift}}{2*\pi}\cdot\frac{length_{FFT}}{length_{trainseq}} fshift=2πΣi=11024phaseshiftlengthtrainseqlengthFFT
    • Matlab计算归一化频偏(当前FFT窗口设置1024)
    f_shift = -angle(sum(trainseq(1:1024).*conj(trainseq((1:1024)+1024))))*1024/(2*pi*1024);
    
    • Matlab补偿方法
    rxdata_freqoffset = rxdata.*(-1j*2*pi*f_shift*([0:(length(rxdata)-1)]./1024))
    

    训练序列相关距离越长,估计精度越高,估计范围越小

    微信公众号:通信随笔XIDIAN

    在这里插入图片描述

    展开全文
  • MPSK_QAM.rar

    2019-10-25 08:18:48
    主要是MPSK_QAM的程序代码,里面包含调制解调,还有频谱图,误码率
  • qam调制速率计算

    万次阅读 2014-09-12 20:05:19
    数据传输速率(又称码率、比特率或数据带宽),速率描述通信中每秒传送数据代码的比特数,单位是bps。波特率(调制速率符号率)描述数据信号对模拟载波调制过程中,载波每秒中变化的数值。(数据进行远距离传送时...
  • 新的工具集使得编写更简单、更精确的声明性代码成为可能。 extensive 大量的 The recent turn towards deep learning has exerbated this issue 最近向深度学习的转变已经使这个问题得到了解决 turn 转变 ...
  • 例如对于频带有效的QPSK调制,高速数据的宽带接收机中载波相位误差估计器除了采用Costas环外,也可采用Viterbi非线性相位误差估计算法[1],当载波频偏远远小于符号速率时,它通过对IQ观测采样点的非线性坐标变换和...
  • 神经网络BP(原理到代码

    千次阅读 2019-07-21 00:29:12
    神经网络以及BP(原理到代码) 神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向–深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。...
  • 数据传输速率(比特率):每秒种传输构成数据代码的二进制比特数,单位bps 我们使用M进制码元来表示数据传输速率(比特率), 1/T:是1s传了多少码元, log2M:一个M进制码元是log2M的比特数(比如8进制需要3bit) ...
  • CSI笔记【4】:信道估计/Channel Estimation概述及举例。
  • 文章目录核密度估计定义参数估计方法非参数估计方法带宽选择的重要性宽度 h 的选择原则定理 1 证明 参考文献: 维基百科 kernel density estimation:...
  • matlab匹配滤波代码Gen2 UHF RFID读取器 这是Gen2 UHF RFID读取器。...标签解码器:负责帧同步,信道估计符号周期估计和检测。 Reader(Gen2逻辑):创建/发送阅读器命令。 安装 安装log4cpp()
  • matlab匹配滤波代码Gen2 UHF RFID读取器 这是Gen2 UHF RFID读取器。...标签解码器:负责帧同步,信道估计符号周期估计和检测。 Reader(Gen2逻辑):创建/发送阅读器命令。 安装 安装log4cpp()
  • 早年(比如摩托罗拉手机时代)的基带成形都是用模拟电路做的,那会儿的数字电路密度极低,想想大学本科数电实验里面的各种74系列芯片,如果用这个东西拼个数字滤波器估计会疯掉。况且,就算有数字滤波器,高速高精度的...
  • SNR,这意味着在存在AWGN信道的情况下模拟的性能可以用来估计各种衰落条件下的性能。 这样做的原因如下 为了评估某些技术的性能,在部署系统级模拟以进行适用性分析之前,先对其进行了评估 如果每个节点都对完整的...
  • 因子数据流的速率是原来的1/N,即符号周期扩大为原来的N倍,远大于信道的最大延迟扩展,这样MCM就把一个宽带频率选择性信道划分成N个窄带平坦衰落信道,从而“先天”具有很强的抗多径衰落和抗脉冲干扰的能力,特别...
  • 下列代码运行结果是?

    千次阅读 2021-01-30 18:43:18
    其中正确的是( ) 【填空题】某系统以每分钟60000个码元的速率传输二进制信号,若以同样码元速率传输8进制信号,其信息速率是 bit/s。 【单选题】施工图设计阶段的投资控制目标是( )。 【判断题】电阻应变片可以...
  • 每个信道中所传输的比特速率可由调制类型、编码速率、和符号速率来确定。 为什么用3db带宽 5.2 有用符号持续时间Tu 对子载波之间间隔、译码的等待周期都有影响,为了保持数据的吞吐量,子载波数目和FFT的长度要有...
  • matlab匹配滤波代码Gen2 UHF RFID读取器 这是Gen2 UHF RFID读取器。...标签解码器:负责帧同步,信道估计符号周期估计和检测。 Reader(Gen2逻辑):创建/发送阅读器命令。 安装 安装log4cpp()
  • 代码英文词汇

    千次阅读 2020-08-06 09:06:59
    字符,符号,特性 22. current n. 电流 23. type n. 型,类型;v. 打印 24. screen n. 屏幕,屏;v. 屏蔽 25. specify v. 指定,规定,确定 26. move v. 移动 27. disk n. 盘,磁盘 28. text n. 正文,文本 29. ...
  • matlab匹配滤波代码Gen2 UHF RFID读取器 源自此存储库 这是Gen2 UHF RFID读取器。...标签解码器:负责帧同步,信道估计符号周期估计和检测。 Reader(Gen2逻辑):创建/发送阅读器命令。 安装 安装log
  • BERT |(3)BERT模型的使用--pytorch的代码解释

    千次阅读 多人点赞 2021-03-13 10:47:17
    参考代码:https://github.com/649453932/Bert-Chinese-Text-Classification-Pytorch ...模型代码学习-CLS文本分类-Bert-Chinese-Text-Classification-Pytorch代码学习-训练并测试过程 模型代码学习-CLS文本分类-Be
  • 第7章:OFDM 信道估计与均衡(4)

    千次阅读 多人点赞 2021-02-22 21:06:59
    本文所有可运行代码下载地址是:123kevin456/OFDM- 一、导频结构与图案 前三讲介绍了OFDM经过AWGN信道和衰落信道的误码率情况,其中在第(2)节假设了接收端已经完美知道信道状态信息h,做了完美补偿(perfect ...
  • 第7章:OFDM 信道估计与均衡(2)

    千次阅读 2021-02-22 18:49:37
    本文对应的完整可运行代码下载地址:123kevin456/OFDM-。 一、瑞利衰落信道介绍 第(1)内容《第7章:OFDM 信道估计与均衡(1)》讲到OFDM经过高斯白噪声信道下的误码率分析,这一节重点关注OFDM经过多径衰落信道的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,396
精华内容 1,358
关键字:

符号速率估计代码