精华内容
下载资源
问答
  • 1.通过一维语音信号了解整个数字信号处理的实现过程。2.对一维语音信号进行简单的数字信号处理,对数字信号处理有一定的感性认识。3.结合音频信号去噪,初步了解matlab在数字信号处理的应用。
  • 信号为正弦信号,叠加高斯白噪声后,分别采用上述三种时域滤波方式对噪声进行滤除,可修改各滤波器的窗口大小。
  • 形态学一维信号的基本运算-形态学.rar 包括腐蚀和膨胀运算, 解压后放到matlab中work文件里就可以 用了,
  • MATLAB数字信号处理(2)LFM脉冲雷达回波处理仿真

    万次阅读 多人点赞 2019-03-13 15:41:24
    线性调频(LFM)信号是应用广泛的种波形,主要优点是脉冲压缩的形状和信噪比对多普勒频移不敏感,即在目标速度未知的情况下,用匹配滤波器仍可以实现回波信号的脉冲压缩,这将大大有利于雷达对目标的探测和信号...

    将上学期的“气象雷达原理与系统”课程报告放到blog上。


    摘要

    线性调频(LFM)信号是应用广泛的一种波形,主要优点是脉冲压缩的形状和信噪比对多普勒频移不敏感,即在目标速度未知的情况下,用匹配滤波器仍可以实现回波信号的脉冲压缩,这将大大有利于雷达对目标的探测和信号处理效率的提高。本设计实现了对线性调频(LFM)脉冲压缩雷达的工作原理仿真,在MATLAB 平台中模拟一个叠加的线性调频回波信号,对该信号分别进行采样解调、滤波抽取、脉冲压缩,提取出其中包含的测量物体的距离信息,实验效果良好。


    Abstract

    The linear frequency modulation (LFM) signal is a widely used waveform. The main advantage is that the shape and signal-to-noise ratio of pulse compression are not sensitive to Doppler shift. That is, if the target speed is unknown, the matched filter is still used. Pulse compression of the echo signal can be achieved, which will greatly benefit the radar’s detection of the target and the improvement of signal processing efficiency. This design realizes the simulation of the working principle of linear frequency modulation (LFM) pulse compression radar. In the MATLAB platform, a superimposed chirp echo signal is simulated, and the signal is sampled, demodulated, filtered and compressed, and the distance information of the measured object is extracted. The experimental results are good.


    1、引言

    1.1 作用距离和距离分辨力

    作用距离和距离分辨力是雷达最重要的两个技术指标。作用距离取决于发射信号的能量,发射信号的能量又与发射脉冲的功率和发射时间(即脉冲宽度)成正比。前者受发射管峰值功率和传输线功率损耗等的限制,成本高且调节范围有限。因此,在发射机峰值功率受限的情况下,只能通过增加脉冲宽度的方法来增加信号能量以增大雷达的作用距离。

    雷达的距离分辨力取决于发射信号带宽,带宽越大,距离分辨力越好。传统脉冲雷达发射的是单频信号,脉冲宽度越窄,信号带宽就越宽,距离分辨率就越好。然而发射窄脉冲必然导致平均功率下降,进而减小雷达的作用距离。因此,传统的脉冲雷达中,增大作用距离和提高雷达的分辨力之间存在矛盾。

    为了兼顾雷达的作用距离和距离分辨力,发射信号应同时具备大时宽和大带宽的特点,为此,研究人员利用复杂波形来替代传统的单频脉冲信号。在发射端调制信号的频率或相位以增大信号的带宽,并发射大时宽的信号以保证作用距离。在接收端通过匹配滤波器,将接收到的宽脉冲信号进行脉冲压缩得到窄脉冲信号,提高距离分辨率,从而兼顾了作用距离和距离分辨力。这是雷达隐蔽、抗干扰、区分多目标的重要手段。研究最早且应用最广泛的复杂波形便是线性调频信号。

    1.2 线性调频信号

    雷达波形设计中,采用线性调频信号的优势在于信号产生方便,同时当目标回波存在多普勒频移时脉压结果变化较小,缺点是经过脉压处理后副瓣较高,固定为13.6dB,虽然可以通过加窗的方法对其进行抑制,但同时对信号的其他特性也会带来损失,另外在时宽带宽积小于20时,主瓣副瓣比会变小,导致性能恶化。

    线性调频信号的产生方法在早期雷达中使用的是通过全通移相网络、压控振荡器或色散延迟线的方法,后来采用声表面波器件通过模拟手段形成。而新一代雷达一般则使用DDS技术直接合成。脉冲压缩处理方法在现代雷达中一般采用数字方式进行。有两类方式,一类是在频域上进行处理,将零中频回波信号进行快速傅里叶变换然后与发射信号的频谱相乘,然后再进行逆傅里叶变换得出结果;另一类是时域处理法,将零中频信号与回波信号进行卷积直接得出结果。

    早期,由于FPGA硬件水平较低,无法进行大量的乘法并行运算,所以主要使用DSP以第一类方法为主。目前随着FPGA的设计制造工艺水平逐步提高,使用FPGA来实现各种雷达信号处理算法乃至整个雷达信号处理系统成为了一种数字信号处理的发展趋势。
    本文设计实现了对线性调频(LFM)脉冲压缩雷达的工作原理仿真,在MATLAB 平台中模拟一个叠加的线性调频回波信号,对该信号分别进行采样解调、滤波抽取、脉冲压缩,提取出其中包含的测量物体的距离信息。


    2、原理分析

    2.1 LFM 脉冲雷达原理分析

    雷达是利用无线电波来检测目标并测定目标的有无、目标斜距、目标角位置、目标相对速度等的装置。雷达发射机的任务是产生符合要求的雷达波形,然后经馈线和收发开关由发射天线辐射出去,遇到目标后,电磁波一部分反射,经接收天线和收发开关由接收机接收,对雷达回波信号做适当的处理就可以获知目标的相关信息。

    假设目标与雷达的相对距离为 R,雷达发射信号s(t) ,传播速度为光速C ,则经过时间R/C后电磁波到达目标,照射到目标上的电磁波可写成:s(t-R/C)。电磁波与目标相互作用,一部分电磁波被目标散射,被反射的电磁波为σ·s(t-R/C),其中σ为目标的雷达散射截面(RCS)。再经过时间R/C后,被雷达接收天线接收的信号为σ·s(t-2 R/C)。
    在这里插入图片描述

    图 2.1 雷达等效于 LTI 系统

    如果将雷达天线和目标看作一个系统,便得到如图 2.1 的等效,而且这是一个 LTI(线性时不变)系统。

    等效 LTI 系统的冲激响应可写成:

    █(h(t)=∑_(i=1)^M▒σ_i  δ(t-τ_i )#(2.1) )
    M 表示目标的个数,σ_i是目标散射特性,τ_i是光速在雷达与目标之间往返一次的时间:
    在这里插入图片描述
    式中, Ri 为第 i 个目标与雷达的相对距离。雷达发射信号 s(t) 经过该 LTI 系统,得输出信号(即雷达的回波信号)sr (t) :
    在这里插入图片描述
    从雷达回波信号sr (t)提取出表征目标特性的τ_i(表征相对距离)的常用方法如图2.2所示。
    在这里插入图片描述

    图 2.2 雷达回波信号处理

    以上便是线性调频(LFM)脉冲压缩雷达的工作原理。

    2.2数字下变频原理分析

    本设计中可以选用降低采样率来实现数字下变频的目的,原理如图2.3所示。
    在这里插入图片描述

    图 2.3 降低采样率实现数字下变频

    如果原信号采样率为f,则经过n点重采样处理后,采样频率变为f/n。

    2.3脉冲压缩原理分析

    脉冲压缩相当于让 sr(t) 通过雷达发射信号s(t)的匹配滤波器。s(t)的匹配滤波器hr (t)为:
    在这里插入图片描述
    于是进行滤波处理有:
    在这里插入图片描述
    对上式进行傅立叶变换:
    在这里插入图片描述
    如果选取合适的s(t),使它的幅频特性|S(jω)|为常数,那么2.6式可写为:
    在这里插入图片描述
    其傅立叶反变换为:
    在这里插入图片描述
    so (t)中包含目标的特征信息τi和σi。从so(t)中可以得到目标的个数M和每个目标相对雷达的距离:
    在这里插入图片描述
    实现脉冲压缩的方式有两种,一种是直接在时域卷积(滤波)法,另一种是在频域中进行处理,如图 2.4 所示。
    在这里插入图片描述

    图 2.4 频域脉冲压缩处理

    3、详细设计

    3.1 线性调频信号回波产生模块

    表3.1 关键系统参数
    参数含义
    f调频信号基础频率 10MHz
    fs采样频率 100MHz
    ts采样周期 1/fs
    B调频范围 10MHz
    T脉冲宽度 10μs
    c信号传播速度 3×108m/s
    PRT脉冲周期 500μs

    本系统中使用到的关键系统参数如表3.1所示。基于上述参数,本系统中使用的线性调频信号为:
    在这里插入图片描述
    本系统假设该线性调频信号检测到三个目标,距离分别为 10km,30km和31km。本模块使用到的主要信号如表3.2所示。

    表 3.2 回波信号生成模块信号
    信号含义
    y基础线性调频信号
    y110km 处的回波信号
    y230km 处的回波信号
    y331km 处的回波信号
    xt叠加后的回波信号

    线性调频信号回波产生模块的程序设计流程图如图3.1所示。
    在这里插入图片描述

    图3.1 LFM信号回波产生模块程序流程图

    程序设计时先计算出三个距离所对应的传播时间,然后根据时间计算出其对应的序列长度,建立三个子信号分别作为三个距离上的回波信号。之后再设计一个 10μs 的 LFM 信号。每一个回波信号由传播时间、10μs的LFM信号、补零三部分组成,总时长为 PRT。最后将三个回波信号叠加起来。

    3.2 回波信号采样解调模块

    该模块使用一个基础频率的信号进行解调:
    在这里插入图片描述
    本模块使用到的主要信号如表3.3所示。

    表3.3 回波信号采样解调模块信号
    信号含义
    xtLFM 叠加的回波信号
    yf相干载波信号
    xrt解调后的信号

    相干解调的过程只需要让 xt 和 yf 相乘即可,相乘结果即为解调出来的雷达信号。

    3.3 滤波抽取模块

    解调后的信号xrt中包含有两信号相乘的和频信号和差频信号,本模块滤除掉和频信号分量,之后对滤波后的信号重采样,以降低采样率达到数字下变频的目的。本模块使用到的主要信号如表 3.4 所示。

    表3.4 滤波抽取模块信号
    信号含义
    xrt解调后的信号
    firxrt滤波后的信号
    xrtdown数字下变频处理后的信号

    滤波抽取模块的程序设计流程图如图3.2所示。
    在这里插入图片描述

    图 3.2 滤波抽取模块程序流程图

    由于回波信号为10-20MHz,与10MHz的相干信号相乘,结果频谱应该包含 0-10MHz和20-30MHz两个频段,因此使用fdatool设计一个低通滤波器滤除掉20~30MHz的信号。滤波器通带频率15MHz,阻带频率18MHz,通带衰减1dB,阻带衰减1dB,将系数导出到工作空间供滤波处理调用。

    对滤波后的信号使用downsample函数进行4位的抽取,则抽取后的信号采样频率变为100Mhz/4=25MHz。

    3.4 脉冲压缩模块

    表3.5 脉冲压缩模块信号
    信号含义
    xrtdown数字下变频处理后的信号
    hdt匹配滤波信号
    out脉冲压缩处理后的信号

    脉冲压缩模块让下变频后的回波信号通过发射信号的匹配滤波器,提取出每个目标回波的距离信息。脉冲压缩有时域法和频域法两种。本模块使用到的主要信号如表3.5所示。匹配滤波信号hdt如公式3.3所示。
    在这里插入图片描述
    匹配滤波信号中的f0为0Hz。时域法进行脉冲压缩使用hdt与xrtdown直接进行卷积即可。频域法进行脉冲压缩按照图2.4中的原理框图处理。


    4、仿真分析

    4.1 回波产生模块仿真分析

    绘制出雷达回波信号的时域图与频域图,结果如图4.1所示。
    在这里插入图片描述

    图 4.1 雷达回波信号时域与频域

    时域中可以看到在10km、30km、31km处看到三个脉冲波形,其中在30km和 31km的交界处发生了信号叠加。频域中信号的频率范围在10MHz至20MHz间线性分布,符合预期设定。

    4.2 采样解调模块仿真分析

    在这里插入图片描述

    图 4.2 解调后信号时域图和频域图

    绘制出解调,即相乘后的信号时域和频域图,如图4.2所示。时域中可以仍然保留了10km、30km、31km处的三个脉冲波形信息。由于回波信号为10~20MHz,与10MHz的相干信号相乘,结果频谱应该包含0-10MHz和20-30MHz两个频段,因此该模块设计符合预期设定。

    4.3 滤波抽取模块仿真分析

    绘制对解调信号滤波后的信号频域如图4.3所示。
    在这里插入图片描述

    图 4.3 解调信号滤波后频域图

    经过低通滤波后,解调信号中的 20~30MHz 频段被滤除,只留下 0~10MHz频段信号。对该信号抽取后绘制频域如图4.4所示。
    在这里插入图片描述

    图4.4 抽取后信号频域图

    抽取后信号仍保留了0~10MHz的信号信息,但采样频率由100MHz降至25MHz,图4.3中最大频率为100MHz/2=50MHz,图4.4中最大频率为25MHz/2=12.5MHz,表明该模块设计符合预期设定。

    4.4 脉冲压缩模块仿真分析

    脉冲压缩处理后绘制信号的时域图如图4.5所示。
    在这里插入图片描述

    图 4.5 脉冲压缩后信号时域图

    原来每个距离的回波信号脉宽为10μs,经过脉冲压缩后,每个脉冲变为10μs/100=0.1μs。从图4.5中可以清楚的看到在10km、30km、31km处各有一个很窄的脉冲。脉冲压缩处理的能力也决定了雷达信号处理系统的距离分辨力大小, 压缩后脉冲越窄,距离分辨力越大。


    5、结束语

    本设计实现了对线性调频( LFM)脉冲压缩雷达的工作原理仿真,在MATLAB 平台中模拟一个叠加的线性调频回波信号,对该信号分别进行采样解调、滤波抽取、脉冲压缩,提取出其中包含的测量物体的距离信息,实验效果良好。

    脉冲压缩的原理就是使用一个发射信号与接收回波进行相关,可以将较宽的回波信号“压缩”成很窄的信号。压缩后的脉冲宽度决定了可以分辨的最小距离。例如两个目标的回波信号重叠在一起,在回波信号中无法直接分辨出两个目标的位置,未进行脉冲压缩的雷达距离分辨力 ΔR=(cτ)/2=c/(2B)。这种体制的雷达要提高距离分辨率必须减小脉冲宽度,脉宽减少会降低平均发射功率,使用线性调频信号进行脉冲压缩可以实现提高距离分辨率而保持平均发射功率。脉冲压缩后的距离分辨力 ΔR=(cτ’)/2<<(cτ)/2。


    MATLAB代码如下(fir.mat放不上来,按照文中参数使用FDATOOL工具设计导出即可):

    % written by 刘奇
    
    clc;
    clear;
    close all;
    
    f = 10000000;         %10MHz
    fs = 100e6;
    ts = 1 / fs;
    B = 10^7;
    T = 10^(-5);
    u = B / T;
    c = 3e8;
    PRT = 500e-6;
    
    
    r1 = 10000;   tao1 = 2*r1/c;  n1 = round(tao1 / ts);
    r2 = 30000;  tao2 = 2*r2/c;  n2 = round(tao2 / ts);
    r3 = 31000;  tao3 = 2*r3/c;  n3 = round(tao3 / ts);
    NN = PRT / ts;
    
    t1 = 0 : ts : T-ts;
    y = sin(2*pi*(f*t1+0.5*u*t1.^2));
    N = length(y);
    
    
    y1 = [zeros(1, n1), y, zeros(1, NN-n1-N)];
    y2 = [zeros(1, n2), y, zeros(1, NN-n2-N)];
    y3 = [zeros(1, n3), y, zeros(1, NN-n3-N)];
    xt = y1+y2+y3;
    figure;
    subplot(2, 1, 1);
    plot((0:length(xt)-1)*ts*c/2/1000, xt);
    xlabel('距离/km');
    xtfft = abs(fft(xt, 50000));
    subplot(2, 1, 2);
    fx=(0:length(xt)/2-1)*fs/length(xt);
    plot(fx/1e6, xtfft(1:length(xt)/2));
    xlabel('频率/MHz');
    
    % 对回波信号采样
    fs1 = 100e6;
    ts1 = 1/fs1;
    t2 = 0 : ts1 : (length(xt)-1)*ts1;
    xrt = xt .* sin(2*pi*f*t2);
    
    fx1=(0:length(xt)/2-1)*fs1/length(xt);
    figure;
    subplot(2, 1, 1);
    plot((0:length(xt)-1)*ts*c/2/1000, xrt);
    xlabel('距离/km');
    xrtfft = abs(fft(xrt, 50000));
    subplot(2, 1, 2);
    fx1=(0:length(xrt)/2-1)*fs1/length(xrt);
    plot(fx1/1e6, xrtfft(1:length(xrt)/2));
    xlabel('频率/MHz');
    
    load fir.mat
    firxrt = filter(Num, 1,  xrt);
    firfft = abs(fft(firxrt, 50000));
    figure;
    plot(fx1/1e6, firfft(1:length(firxrt)/2));
    xlabel('频率/MHz');
    xrtdown = downsample(firxrt, 4);
     value0=abs(fft(xrtdown));%FFT分析
    figure;
    fx1=(0:length(xrtdown)/2-1)*(fs1/4)/length(xrtdown);
    %plot((fx1(1:length(value0)))/1e6, value0);
    plot( fx1/1e6, value0(1:length(fx1)));
    xlabel('频率/MHz');
    
    T = 10^(-5);
    u = B / T;
    c = 3e8;
    fs = 25e6;
    ts = 1 / fs;
    t1 = 0 : ts : T-ts;
    hdt = sin(2*pi*(0*t1+0.5*u*t1.^2));
    figure;
    plot(hdt);
    
    replica = xrtdown;
    y = fliplr(hdt);
    % out = conv(replica, y);
    replica1= [replica,zeros(1,16384-length(replica))];
    y1 = [hdt,zeros(1,16384-length(hdt))];
    
    rfft = fft(replica1);
    yfft = fft(y1);
    out = abs(ifft((rfft.*conj(yfft))));
    figure;
    t = (0:length(xrtdown)-1)*ts*c/2/1000;
    plot(t, out(1:length(t)));
    xlabel('距离/km');
    
    展开全文
  • 、在matlab下声音信号的I/O 1、读wav文件函数 •y = wavread('filename') •[y,Fs,bits] = wavread('filename') •[...] = wavread('filename',N) •[...] = wavread('filename',[N1 N2])   ...

    一、在matlab下声音信号的I/O

    1、读wav文件函数

    •y = wavread('filename')
    
    •[y,Fs,bits] = wavread('filename')
    
    •[...] = wavread('filename',N)
    
    •[...] = wavread('filename',[N1 N2])

     

    2、写wav文件函数

    •wavwrite(y,'filename')
    
    •wavwrite(y,Fs,'filename')
    
    •wavwrite(y,Fs,N,'filename')

     

    3、播放声音函数

    •sound(y,Fs)
    
    •sound(y)
    
    •sound(y,Fs,bits)

     

    二、图像处理相关MATLAB自带函数

    1、读取图像:

    函数imread可以从任何Matlab支持的图像文件格式中,以任意位深度读取一幅图像。格式为:

    X=imread(‘FILENAME.FMT’)
    %FILENAME-为需要读入的图像文件名
    %FMT-为图像格式

     

    2、图像显示

    Imshow(gray) ;显示灰度图像,gray为一个二维矩阵
    Imshow(RGB)  ;显示真彩图像,RGB为一个三维矩阵
    Imshow(BW)   ;显示二值图像,BW为一个二维矩阵

     

    3、图像保存

    imwrite(I,'文件名.文件格式')
     %文件格式:bmp、jpg、pcx、tif。

     

    3、图像格式转换

    rgb2gray('图片名字');        %RGB转成灰度
    im2bw('图片名字');           %灰度转成二值图像
    展开全文
  • 一维信号的Haar小波分解与重构matlab程序
  • MIMO信号处理学习笔记

    千次阅读 热门讨论 2019-05-22 21:11:27
    最近学习了MIMO雷达信号处理的部分基础知识,现将我的学习笔记与大家分享,不对之处请多指教。 本文主要包含的内容有 MIMO雷达的发射信号 回波信号模型 双基地MIMO雷达的DOD、DOA估计 MIMO雷达的发射信号 在MIMO...

    最近学习了MIMO雷达信号处理的部分基础知识,现将我的学习笔记与大家分享,不对之处请多指教。
    本文主要包含的内容有

    1. MIMO雷达的发射信号
    2. 回波信号模型
    3. 双基地MIMO雷达的DOD、DOA估计

    MIMO雷达的发射信号

    在MIMO雷达系统中,假设有N个发射阵元构成了一个均匀线阵,以第一个阵元为参考阵元,则发射信号可写为:
    s n ( t ) = u n ( t ) e − j 2 π f c t s_{n}(t)=u_{n}(t)e^{-j2\pi f_{c}t} sn(t)=un(t)ej2πfct其中 u n ( t ) u_{n}(t) un(t)为基带正交波形, f c f_{c} fc为载频, t ∈ [ 0 , T ] t\in [0,T] t[0,T] T T T为脉冲宽度,PRI为脉冲重复周期。
    发射信号矩阵为: S = [ s 1 ( t ) , s 2 ( t ) , . . . , s N ( t ) ] T S=[s_{1}(t),s_{2}(t),...,s_{N}(t)]^{T} S=[s1(t),s2(t),...,sN(t)]T通常在Matlab中仿真的时候,正交基带波形 u n ( t ) u_{n}(t) un(t)通过Hadamard函数实现,例如

    N = 10; % 发射阵元个数
    h = 64;
    H = hadamard(h); %此处h必须是2的整数幂
    St = (H(1:N,:)+1i*H(N+1:2*N,:))/sqrt(2); % 得到归一化的复信号矩阵,信号长度为h
    

    回波信号模型

    此部分主要涉及阵列的发射导引矩阵和接收导引矩阵
    假设,收、发阵列中阵元间距均为半波长: d = λ / 2 = c / ( 2 f c ) d=\lambda /2=c/(2f_{c}) d=λ/2=c/(2fc),发射阵列有N个阵元,接收阵列有M个阵元。共有K个目标,各目标的信息为:
    波离角(DOD): φ \varphi φ=[40°,20°,-30°]
    波达交(DOA): θ \theta θ=[10°,50°,0°]
    径向速度:vel=[100, 50, 20]

    此处需要注意的是:在MIMO雷达系统中,运动速度不同的目标被称为非相干目标,运动速度相同的目标被称为相干目标。MUSIC算法及Capon算法只能估计非相干目标的参数。

    因此,发射导引矩阵可以写为:
    A = [ a ( φ 1 ) , a ( φ 2 ) , . . . , a ( φ K ) ] A=[a(\varphi _{1}),a(\varphi _{2}),...,a(\varphi _{K})] A=[a(φ1),a(φ2),...,a(φK)]其中
    a ( φ k ) = [ 1 , e − j 2 π f c ⋅ 1 ⋅ d s i n ( φ k ) , . . . , e − j 2 π f c ⋅ ( N − 1 ) ⋅ d s i n ( φ K ) ] T a(\varphi _{k})=[1,e^{-j2\pi f_{c}\cdot 1\cdot dsin(\varphi _{k})},...,e^{-j2\pi f_{c}\cdot (N-1)\cdot dsin(\varphi _{K})}]^{T} a(φk)=[1,ej2πfc1dsin(φk),...,ej2πfc(N1)dsin(φK)]T
    接收导引矩阵为:
    B = [ b ( θ 1 ) , b ( θ 2 ) , . . . , b ( θ K ) ] B=[b(\theta _{1}),b(\theta _{2}),...,b(\theta _{K})] B=[b(θ1),b(θ2),...,b(θK)]其中
    b ( ϑ k ) = [ 1 , e − j 2 π f c ⋅ 1 ⋅ d s i n ( θ k ) , . . . , e − j 2 π f c ⋅ ( M − 1 ) ⋅ d s i n ( θ K ) ] T b(\vartheta _{k})=[1,e^{-j2\pi f_{c}\cdot 1\cdot dsin(\theta _{k})},...,e^{-j2\pi f_{c}\cdot (M-1)\cdot dsin(\theta _{K})}]^{T} b(ϑk)=[1,ej2πfc1dsin(θk),...,ej2πfc(M1)dsin(θK)]T

    多普勒频移为
    f d k = 2 f c v k / c f_{dk}=2f_{c}v_{k}/c fdk=2fcvk/c其中 v k v_{k} vk为第k个目标的径向运动速度,当条件:
    2 π f d k T ≪ 1 2\pi f_{dk}T\ll 1 2πfdkT1满足时,多普勒慢变化成立。即可认为同一个脉冲回波内的多普勒包络是不变的,所以第 m m m个阵元接收的回波信号为:
    x m ( t ) = ∑ k = 1 K e − j 2 π f c ( m − 1 ) d s i n ( θ k ) e − j 2 π f d k l ⋅ P R I a ( φ k ) S x_{m}(t)=\sum_{k=1}^{K}e^{-j2\pi f_{c}(m-1)dsin(\theta _{k})}e^{-j2\pi f_{dk}l\cdot PRI}a(\varphi _{k})S xm(t)=k=1Kej2πfc(m1)dsin(θk)ej2πfdklPRIa(φk)S

    信号处理-双基地MIMO雷达的DOD、DOA估计

    快拍(snapshot),是ADC采集数据的一个时间窗内的采样
    此处,可将一个脉冲内的ADC采样点数设为h。所以,第 l l l个快拍得到的信号矩阵为 X l X_{l} Xl,其维度为 M × h M\times h M×h
    所以,当快拍数为 L L L时,可以得到 L L L M × h M\times h M×h维的接收信号矩阵: X 1 , X 2 , . . . , X L X_{1}, X_{2}, ..., X_{L} X1,X2,...,XL对这 L L L个信号矩阵做匹配滤波 Y l = X l × S = e − j 2 π f d k l P R I B A T Y_{l}=X_{l}\times S=e^{-j2\pi f_{dk}lPRI}BA^{T} Yl=Xl×S=ej2πfdklPRIBAT可以得到 L L L M × N M\times N M×N维的匹配滤波输出: Y 1 , Y 2 , . . . , Y L Y_{1}, Y_{2}, ...,Y_{L} Y1,Y2,...,YL 矩阵 Y l Y_{l} Yl可以成为数据矩阵
    对数据矩阵做行列堆栈处理,可以得到 M N × 1 MN\times 1 MN×1维的数据列向量 y l = v e c ( Y l T ) y_{l}=vec(Y_{l}^{T}) yl=vec(YlT) L L L个数据列向量可以构成一个 M N × L MN\times L MN×L维的数据矩阵 Y ~ = [ y 1 , y 2 , . . . , y L ] \tilde{Y}=[y_{1}, y_{2}, ...,y_{L}] Y~=[y1,y2,...,yL]

    MUSIC算法

    求矩阵 Y ~ \tilde{Y} Y~的协方差矩阵 R R R, R = 1 / L ∗ Y ~ ∗ Y ~ H R=1/L*\tilde Y*\tilde Y^{H} R=1/LY~Y~HMUSIC的具体内容、推导与证明可以参考这里
    在具体实现中

    1. 对协方差矩阵 R R R做奇异值分解 R = U S γ S U S + U N γ N U N R=U_{S}\gamma _{S}U_{S}+U_{N}\gamma _{N}U_{N} R=USγSUS+UNγNUN
    [U,~,~] = svd(R);
    
    1. 求噪声子空间
    UU = U(:,K+1:end); % (需要知道目标个数的先验信息)
    
    1. 谱峰搜索 P M U S I C = 1 / ∣ a ( φ , θ ) H ( U U ∗ U U H ) ∗ a ( φ , θ ) ∣ P_{MUSIC}=1/|a(\varphi ,\theta)^{H}(UU*UU^{H})*a(\varphi ,\theta)| PMUSIC=1/a(φ,θ)H(UUUUH)a(φ,θ)
    n1 = (0:N-1)';
    m1 = (0:M-1)';
    theta = (-90:1:90)/180*pi;
    phi = (-90:1:90)/180*pi;
    Pmusic = zeros(length(theta),length(phi));
    Pcapon = zeros(length(theta),length(phi));
    for i = 1:length(theta)
       for j = 1:length(phi)
           A = exp(-1i*2*pi*n1*sin(phi(j))/2); % N*1
           B = exp(-1i*2*pi*m1*sin(theta(i))/2); % M*1
           AA = kron(B,A); % NM*1
           Pmusic(i,j) = 1/abs(AA'*(UU*UU')*AA);
           Pcapon(i,j) = 1/abs(AA'*Ri*AA);
       end
    end
    

    Capon算法

    与MUSIC算法在实现时的不同是谱峰搜索 P C a p o n = 1 / ∣ a ( φ , θ ) H R − 1 ∗ a ( φ , θ ) ∣ P_{Capon}=1/|a(\varphi ,\theta)^{H}R^{-1}*a(\varphi ,\theta)| PCapon=1/a(φ,θ)HR1a(φ,θ)

    仿真结果

    MUCSIC仿真结果
    Capon仿真结果

    展开全文
  • 一维信号拟合算法

    千次阅读 2019-05-05 17:45:44
    从幅度、频率、相位三个维度对一维信号进行正弦拟合,从而达到去燥及输出标准波形的目的。可以根据实际需求修改分段长度、拟合带宽,其中分段长度的选取是假定信号在分段时间内平稳且必须大于一个信号周期。 算法...

    算法简介

    从幅度、频率、相位三个维度对一维信号进行正弦拟合,从而达到去燥及输出标准波形的目的。可以根据实际需求修改分段长度、拟合带宽,其中分段长度的选取是假定信号在分段时间内平稳且必须大于一个信号周期。
    算法效果如下:
    在这里插入图片描述

    完整代码(java)

    //参数说明:input为输入的一维信号,fr为输入信号采样率。算法默认使用32点的分段长度,即要求信号在32点的时间内是平稳的且信号单周期长度小于32点,用户可根据实际需求修改分段长度。算法默认拟合带宽为0.8~3Hz,用户同样可以按需修改带宽。

    float[] CurveFittingAlgorithm(float[] input, float fr){
        ArrayList resultList=new ArrayList();
        float[] seg=new float[32];
        double[] y=new double[32];
        double scale=3;
        double best_freq=0;
        double best_phase=0;
        for(int p=0;p<input.length/32;p++) {
            //数据分段,每32点拟合一次
            for (int q = 32 * p; q < 32 * (p + 1); q++) {
                seg[q - 32 * p] = input[q];
            }
            //分段拟合,实现幅度、相位、频率对齐
            double max=0;
            //double scale=findMax(seg);
            for (int k = 0; k < 45; k++) {
                double phase = (Math.PI) * k / 22.5;  //相位分辨率8度
                for (int j = 0; j < 44; j++) {
                    double freq = 0.8 + 0.05 * j; //0.8~3Hz带宽等间隔切成44份,频率分辨率0.05Hz
                    for (int i = 0; i < seg.length; i++) {
                        double t = (double) i / fr;
                        y[i] = scale * Math.sin(2 * (Math.PI) * freq * t + phase);
                    }
                    double sum = 0;
                    for (int m = 0; m < seg.length; m++) {
                        sum = sum + seg[m] * y[m];
                    }
                    if (sum > max) {
                        max = sum;
                        best_freq = freq;
                        best_phase = phase;
                    }
                }
            }
            //找到最佳匹配后进行存储
            for (int r = 0; r < seg.length; r++) {
                double t = (double) r / fr;
                y[r] =scale*Math.sin(2 * (Math.PI) *best_freq* t+best_phase);
                resultList.add(y[r]);
            }
        }
        float[] output =new float[resultList.size()];
        for(int i=0;i<output.length;i++){
            output[i]=Float.parseFloat(resultList.get(i).toString());
        }
        System.out.println("拟合曲线:"+Arrays.toString(output));
        return output;
    }
    
    展开全文
  • WGAN-GP应用于一维时序信号

    千次阅读 热门讨论 2019-06-07 12:26:55
    前言 近年来生成对抗网络在各大顶会上大放异彩,...除了这个方面外,GAN在这些信号的生成的研究对于医疗方面受损信号的恢复、意图生成特定的属性的信号方面也具有重要的意义。 学习路线(选读) 在研究中我走了许多...
  • 本课程设计是基于一维信号被噪声信号污染后,分别经过均值滤波和中值滤波处理后,提取出原始信号,并且观看不同M值时滤波后波形的比较。均值滤波和中值滤波在数字信号处理中都是非常重要的滤波器,具有广泛的应用。
  • 一维信号小波阈值去噪

    万次阅读 多人点赞 2017-11-16 09:43:45
     本博文根据小波的分解与重构原理,实现了基于硬阈值和软阈值函数的一维小波阈值去噪的C++版本,最终结果与matlab库函数运算结果完全一致。 1,小波阈值处理基本理论 小波阈值收缩法是Donoho和Joh
  • 基于matlab实现了一维信号用Haar小波来分解与重构的算法,
  • 文章目录一、一维卷积1.1 介绍1.2 类别1.2.1 一维Full卷积1.2.2 一维Same卷积...三、一维卷积应用场景四、转置卷积应用场景五、代码5.1 net.py5.2 sample_train5.3 Train.py5.4 信号拟合效果展示 一、一维卷积 1.1 介绍
  • 一维卷积处理时间序列

    千次阅读 2020-07-11 10:35:22
    一维卷积在以下几个方面能取得很好的效果: Analysis of a time series of sensor ...一维卷积提取固定长度信号的特征,一个卷积核通常覆盖一段完整的信号。上面左图中是使用1D CNN处理文本。这里的文本已经通过embedin
  • 根据信号的特点,可表示为一个或几个独立变量的函数,例如图像信号就是空间位置(二维变量)的亮度函数,一维信号的变量可以是时间,也可以是频率、空间或其他物理量,但习惯上看成是时间。信号的幅度和时间可以取...
  • 一维信号分别经过高斯滤波和双边滤波后,得到的曲线和原曲线之间的差异,图片如![图片说明](https://img-ask.csdn.net/upload/201512/17/1450320427_527179.jpg),下面蓝色的是滤波后与滤波前的差值,matlab程序如何...
  • matlab时域频域信号特征提取资料整合

    万次阅读 多人点赞 2019-09-28 15:31:44
    最近在做个项目,需要将声纳信号中的特征都提取出来进行分析。资料查到头秃终于整合出来了些东西,记录一下。 由于不是专业人员,如果发现任何错误请不要大意的附在评论区,我会及时修改,谢谢! 2 思路 思路这...
  • 一维信号小波降噪matlab程序

    热门讨论 2011-05-17 09:55:11
    用小波处理一维信号matlab实验,包括小波分解,阈值选择等。
  • 种求解离散时间信号卷积的简单方法如下所示 输入序列x[n] ={1,2,3,4},其索引为{0,1,2,3} 脉冲响应h[n] ={5,6,7,8},其索引为{- 2,1,0,1} 蓝色箭头表示x[n]和h[n]的第0个索引位置。红色指针表示输出卷积索引的第零...
  • 一维信号去噪:提升小波阈值去噪

    万次阅读 2016-02-26 22:51:33
    的新的小波构造方案-----lifting scheme,其复杂度只有原来卷积方法的一半左右,因此成为计算离散小波变换的主流方法.  其实lifting scheme就是为了构造第二代小波,使得不像第代小波那样构造,非常依赖Fourier
  • 中值滤波在一维数据处理中的应用

    千次阅读 2019-06-16 22:34:43
    中值滤波在一维数据处理中的应用   滤波操作是单片机接受数据完之后的常用操作之一,中值滤波是用来处理椒盐噪声的常用操作。椒盐噪声即脉冲噪声,指数据接受到一个类似于脉冲一样的极大值或者极小值,例如在处理...
  • 卷积神经网络CNN:一维信号输入

    万次阅读 多人点赞 2018-08-30 11:22:25
    时光荏苒,转眼间已经过去两个月了,这段日子大概是我研究生生涯中最忙碌的段时光,从个python小白,深度学习小白,到现在感觉自己总算摸到了深度学习的门槛,心中还是有一些欣慰和感慨,可能对于很多人来说,我...
  • 在matlab环境编程实现了形态学的核心算法:膨胀、腐蚀,进一步可用它们的组合实现形态学的开运算,闭运算,交替滤波、混合滤波、交替混合滤波、...可用于一维信号的时域分析处理。希望对你有用。 很容易移植到C语言的。
  • 【阵列信号处理】DOA估计之MUSIC算法

    千次阅读 多人点赞 2019-09-15 09:07:24
    空间谱估计是阵列信号处理中很重要的部分,而空间谱估计的个主要内容就是估计空间信号源的方向,即DOA(Direction of arrival)的估计。MUSIC是种有效的DOA估计方法。MUSIC(1969年提出)即多重信号分类(Multiple ...
  • matlab对非平稳一维信号的小波变换

    千次阅读 2019-01-17 14:42:14
                  matlab实验代码如下 ...%信号采样时间点 ...%实验信号 ...%进行一维离散小波变换,获得近似分量和细节分量 [sigWaveApp,sigWaveDet]=dwt(signal,'db4'); %提取小波基的滤波器...
  • 【信号】用matlab实现一维信号的高斯滤波

    万次阅读 多人点赞 2016-11-07 20:57:17
    1.从正态分布说起高斯滤波使用的是高斯函数,即我们熟悉的正态分布的概率密度函数: f(x)=1σ2π−−√exp(−(x−μ)22σ2) ...例如要生成个大小为3,标准差为1的模板,则只需要代公式计算(此处均值μ\
  • 一维信号光滑去毛刺处理

    万次阅读 2016-03-16 16:44:24
    Problem:  Implement theKalman Filter (Use identity matrix for state propagation)or other smoothing filter of your choice on the enclosed “speed24.csv” data.Compare the filtered and the original ...
  • 采用LSTM循环神经网络对时序数据进行预测,根据评价指标对测试集进行误差计算,具有较好的预测精度
  • 例如:第章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言、...
  • cnn实现一维震动信号故障诊断

    千次阅读 2020-03-15 11:25:32
    cnn实现一维震动信号故障诊断 import os os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’ import numpy as np import scipy.io as sio import tensorflow.compat.v1 as tf tf.disable_v2_behavior() import xlrd from...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,143
精华内容 25,257
关键字:

一维信号处理方法