精华内容
参与话题
问答
  • 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 基础线性调频信号
    y1 10km 处的回波信号
    y2 30km 处的回波信号
    y3 31km 处的回波信号
    xt 叠加后的回波信号

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

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

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

    3.2 回波信号采样解调模块

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

    表3.3 回波信号采样解调模块信号
    信号 含义
    xt LFM 叠加的回波信号
    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仿真

    万次阅读 多人点赞 2018-06-01 13:20:39
    线性调频信号的数学表达式: 其中,t是时间变量,单位为秒(s);T为脉冲持续时间(周期);K是线性调频率,单位是Hz/s; 角度(单位为弧度)表达式: ...

            线性调频信号的数学表达式:

                                                

            其中,t是时间变量,单位为秒(s);T为脉冲持续时间(周期);K是线性调频率,单位是Hz/s;

    角度(单位为弧度)表达式:

                                                            

            对时间取微分后的瞬时频率为:

                                               

            信号的带宽是Chrip信号的斜率和时间的乘积:

                                                                

            带宽决定了能够达到的分辨率。

            Matlab代码如下:

    close all;clc;clear all;
    %%
    %   LFM :linear frequency modulation
    %%
    B  = 70e6;  % 带宽70MHz
    T  = 2e-6;  % 脉宽2us
    Fs = 100e6; % 采样率
    N = T*Fs;
    t = -T/2:1/Fs:T/2-1/Fs;
    K = B/T;
    %%
    St = exp(1j*pi*K*t.^2); %信号
    theta =  pi*K*t.^2; %信号弧度
    f = K*t; %信号频率
    
    figure
    subplot(2,2,1);plot(real(St));title('信号实部');
    subplot(2,2,2);plot(imag(St));title('信号虚部');
    subplot(2,2,3);plot(theta);title('信号相位 °');
    subplot(2,2,4);plot(f);title('信号频率 Hz');
    
    figure;
    plot(abs(fftshift(fft(St))));title('信号频谱');

            运行效果图如下所示:

                            

                            

     

    展开全文
  • 雷达线性调频信号的脉冲压缩处理

    千次阅读 多人点赞 2019-11-09 14:46:48
    其次介绍了LFM 信号的形式以及matlab 的仿真情况,然后从雷达信号处理上进行改进,最后在对LFM 信号进行matlab 仿真,对LFM 在加噪前后脉冲压缩匹配滤波的仿真情况进行详细的分析,明确了脉冲压缩技术不但降低了对...

    一、设计目的和意义

    掌握雷达测距的工作原理,掌握匹配滤波器的工作原理及其白噪声背景下的匹配滤波的设计,线性调频信号是大时宽频宽积信号; 其突出特点是匹配滤波器对回波的多普勒频移不敏感以及更好的低截获概率特性。LFM 信号在脉冲压缩体制雷达中广泛应用;利用线性调频信号具有大带宽、长脉冲的特点,宽脉冲发射已提高发射的平均功率保证足够的作用距离;而接受时采用相应的脉冲压缩算法获得窄脉冲已提高距离分辨率, 较好的解决了雷达作用距离和距离分辨率之间的矛盾。而利用脉冲压缩技术除了可以改善雷达系统的分辨力和检测能力,还增强了抗干扰能力、灵活性,能满足雷达多功能、多模式的需要。

    二、设计原理

    1、 匹配滤波器

    匹配滤波器(match filter)是最佳线性滤波器的一种,该滤波器的准则是输出信噪比最大,常用于通信、雷达等系统的接收机中,下面对其冲激响应/系统函数进行推导。
    设该滤波器传递函数为H(f)H(f),冲激响应为h(t)h(t),输入信号为
    r(t)=s(t)+n(t)

    其中s(t)为输入信号,n(t)为高斯白噪声。设输入信号的频谱密度函数为S(f),而高斯白噪声的单边功率谱为n0/2,其中n0为高斯白噪声单边功率谱密度。 该信号通过匹配滤波器输出如图1.1所示
    001
    其中:
    S(t)=Acos(2πf_0 t+πμt^2) (0≤t≤τ)
    h(t)=ks_t^
    (t_0-t)
    H(f)=kS_t^
    (f)e^(-j2πft_0 )
    τ^’=1/B=1/μτ
    **

    在通信系统中,滤波器是其中重要部件之一,滤波器特性的选择直接影响数字信号的恢复。在数字信号接收中,滤波器的作用有两个方面,使滤波器输出有用信号成分尽可能强;抑制信号外带噪声,使滤波器输出噪声成分尽可能小,减少噪声对信号判决的影响。对最佳线形滤波器的设计有两种准则其中一种是是滤波器输出信噪比在某一特定时刻达到最大,由此而导出的最佳线性滤波器成为匹配滤波器。在数字通信中,匹配滤波器具有广泛的应用。因此匹配滤波器是指滤波器的性能与信号的特性取得某种一致,使滤波器输出端的信号瞬时功率与噪声平均功率的比值最大。

    在信号处理中,匹配滤波器可以用来解调基频带脉冲信号,基频带脉冲信号意指信号内容为同一波形信号乘上一个常数,在每个周期出现,每个周期中代表着或多或少的信息量。匹配滤波器解调出来的结果其SNR
    (Signal Noise Ratio)为最大的,匹配滤波器需要事先知道:1.传送的信号;2.信号的同步。这样才能解调出传送的信号。

    此外,匹配滤波器也可用于模式识别、相似度测试(similarity measure)。

    2、线性调频信号

    线性调频信号指持续期间频率连续线性变化的信号,是一种常用的雷达信号。可以采用如下数学表达式表示:

    S(t)=Acos(2πf_0 t+πμt^2) (0≤t≤τ)

    其中:f0为中心频率;k=B/为调频频率;B为频率变化范围;tao为脉冲宽度;a(t)为线性调频脉冲的包络。

    线性调频信号通过对载波频率进行调制以增加信号的发射带宽并在接收时实现脉冲压缩。由于线性调频信号具有较高的距离分辨力,当在速度上无法区分多目标时,可以通过增加目标距离测试解决多目标的分辨问题;同时在抗干扰方面,线性调频信号可以在距离上区分干扰和目标,因而可以有效地对抗拖曳式干扰,这使得线性调频信号在雷达波形设计中得到了广泛的应用。由于线性调频信号是通过一个发射脉冲实现距离高分辨的,因此该信号对目标多普勒频移不敏感,即使回波信号有较大的多普勒频移,脉冲压缩系统仍能起到压缩的作用。这将大大简化信号处理系统。

    线性调频信号经过压缩处理接收后的信号幅度峰值是原来发射信号峰值的D的1/2次方(D为脉压比,等于脉冲宽度与B的乘积)倍,即输出脉冲峰值功率比输入脉冲峰值功率增大了D倍。在要求发射机输出功率一定的情况下,接收机输出的目标回波信号经过匹配滤波压缩处理,具有窄的脉冲宽度和更高的峰值功率,前者提高距离分辨率而后者符合探测距离远的要求,这便充分体现了脉压体制独特的优越性。从反侦察的角度来说,脉压雷达比普通雷达具有更强的生存能力。由于线性调频信号的幅度和信噪比更小,由侦察方程可知,同等灵敏度的侦察机其侦察距离为原来的D的负1/2次方,所以在雷达应用领域,脉压雷达具有功率优势,应用前景十分广阔。

    3、LFM 信号的脉冲压缩

    脉冲压缩技术是匹配滤波理论和相关接收理论的一个很好的实际应用。它的提出很好的解决了这样的一个问题:在发射端发射大时宽、带宽信号,以提高信号的速度测量精度和速度分辨力,而在接收端,将宽脉冲信号压缩为窄脉冲,以提高雷达对目标的距离分辨精度和距离分辨力。

    三、MATLAB具体仿真

    匹配滤波在通信和雷达等系统中有很多应用,其中以雷达系统中的脉冲压缩较为典型,本文以雷达系统中的脉冲压缩(pulse compress)为例,进行仿真。

    在雷达目标检测中,希望距离分辨率和探测威力都足够大。而距离分辨率与发射波形的时宽成反比,探测威力(能量)与发射波形的时宽成正比。若发射波形为方波,其时宽τ与带宽B乘积约等于1,说明距离分辨率和探测威力是相互矛盾的。此时采用线性调频信号,可以很好的解决这个矛盾。
    对于一个理想的脉冲压缩系统, 要求发射信号具有非线性的相位谱, 并使其包络接近矩形;其中 S(t )就是信号 s(t)的复包络。由傅立叶变换性质, S(t)与 s(t)具有相同的幅频特性,只是中心频率不同而已。因此, Matlab 仿真时,只需考虑S(t)。

    下面对脉冲压缩进行仿真,仿真参数设置如下

    参数 取值
    信号带宽 40MHz
    信号时宽 20μs
    脉冲周期 2ms
    采样频率 20MHz
    信噪比 20dB
    目标距离 T∗fs/2

    以下Matlab 程序产生的线性调频信号,并作出其时域波形和幅频特性,如图:
    001
    对应代码:

    %%demo of chirp signal
    T=20e-6;
    B=40e6;%chirp frequency modulation bandwidth 30MHz
    K=B/T; %chirp slope
    Fs=2*B;Ts=1/Fs; %sampling frequency and sample spacing
    N=T/Ts;
    t=linspace(-T/2,T/2,N);
    St=exp(j*pi*K*t.^2); %generate chirp signal
    subplot(211)
    plot(t*1e6,St);
    xlabel('Time in u sec');
    title(' 线性调频信号');
    grid on;axis tight;
    subplot(212)
    freq=linspace(-Fs/2,Fs/2,N);
    plot(freq*1e-6,fftshift(abs(fft(St))));
    xlabel('Frequency in MHz');
    title(' 线性调频信号的幅频特性');
    grid on;axis tight;
    
    

    以下Matlab 程序段仿真了LFM信号的脉冲压缩,仿真结果如图:
    在这里插入图片描述
    图中,时间轴进行了归一化,(t /(1/ B)= t *B)。图中反映出理论与仿真结果吻合良好。
    对应代码:

    %%demo of chirp signal after matched filter
    T=20e-6;
    B=40e6; %chirp frequency modulation bandwidth 30MHz
    K=B/T; %chirp slope
    Fs=10*B;Ts=1/Fs; %sampling frequency and sample spacing
    N=T/Ts;
    t=linspace(-T/2,T/2,N);
    St=exp(j*pi*K*t.^2); %chirp signal
    Ht=exp(-j*pi*K*t.^2); %matched filter
    Sot=conv(St,Ht); %chirp signal after matched filter
    subplot(211)
    L=2*N-1;
    t1=linspace(-T,T,L);
    Z=abs(Sot);Z=Z/max(Z); %normalize
    Z=20*log10(Z+1e-6);
    Z1=abs(sinc(B.*t1)); %sinc function
    Z1=20*log10(Z1+1e-6);
    t1=t1*B;
    plot(t1,Z,t1,Z1,'r.');
    axis([-15,15,-50,inf]);grid on;
    legend('emulational','sinc');
    xlabel('Time in sec \times\itB');
    ylabel('幅度,dB');
    title(' 傅里叶变换后的线性调频信号');
    subplot(212) %zoom
    N0=3*Fs/B;
    t2=-N0*Ts:Ts:N0*Ts;
    t2=B*t2;
    plot(t2,Z(N-N0:N+N0),t2,Z1(N-N0:N+N0),'r.');
    axis([-inf,inf,-50,inf]);grid on;
    set(gca,'Ytick',[-13.4,-4,0],'Xtick',[-3,-2,-1,-0.5,0,0.5,1,2,3]);
    xlabel('Time in sec \times\itB');
    ylabel('幅度,dB');
    title(' 傅里叶变换后的线性调频信号(Zoom)');
    
    

    以下Matlab 程序段仿真了线性调制信号和噪声的生成,仿真结果如图:
    003
    对应代码:

    % 加白噪声后的线性调频信号
    T=20e-6;
    B=40e6; %chirp frequency modulation bandwidth 30MHz
    K=B/T; %chirp slope
    Fs=2*B;Ts=1/Fs; %sampling frequency and sample spacing
    N=T/Ts;
    t=linspace(0,T,N);
    St=exp(j*pi*K*t.^2);
    subplot(211)
    plot(t*1e6,St);
    xlabel('Time in u sec');
    title(' 线性调频信号');
    grid on;axis tight;
    SNR=20;
    x=awgn(St, 5); %generate chirp signal
    subplot(212)
    plot(t*1e6,x);
    xlabel('Time ');
    title(' 加噪后的线性调频信号');
    grid on;axis tight;
    
    

    实际实际雷达系统中, LFM 脉冲的处理过程如图:
    005
    雷达回波信号 sr (t )经过正交解调后, 得到基带信号,再经过匹配滤波脉冲压缩后就可以作出判决。正交解调原理如图:
    006
    雷达回波信号经正交解调后得两路相互正交的信号I(t) 和Q(t)。一种数字方法处理的的匹配滤波原理如图:
    007
    以下为经过脉冲压缩输出的已加噪声的线性调频信号(模拟雷达回波信号)的matlab仿真结果,仿真结果如图:
    009

    四、小结

    本文首先介绍了匹配滤波器的工作原理,特性特点;其次介绍了LFM 信号的形式以及matlab 的仿真情况,然后从雷达信号处理上进行改进,最后在对LFM 信号进行matlab 仿真,对LFM 在加噪前后脉冲压缩匹配滤波的仿真情况进行详细的分析,明确了脉冲压缩技术不但降低了对雷达发射机峰值功率的要求, 也解决雷达作用距离和距离分辨力之间的矛盾; 在对低截获概率雷达信号处理中将有广阔的应用前景。

    参考文献

    【1】信号与系统(第二版) 西安交通大学出版社
    【2】matlab 基础与编程入门(第二版)西安电子科技大学出版社
    【3】随机信号分析(第一版) 科学出版社
    【4】雷达原理(第三版)西安电子科技大学出版社

    展开全文
  • 基于MATLAB的语音信号处理

    万次阅读 多人点赞 2018-07-15 01:21:20
    基于MATLAB的语音信号处理摘要:语音信号处理是目前发展最为迅速的信息科学研究领域中的一个,是目前极为活跃和热门的研究领域,其研究成果具有重要的学术及应用价值。语音信号处理的研究,对于机器语言、语音识别、...

    基于MATLAB的语音信号处理


    摘要:语音信号处理是目前发展最为迅速的信息科学研究领域中的一个,是目前极为活跃和热门的研究领域,其研究成果具有重要的学术及应用价值。语音信号处理的研究,对于机器语言、语音识别、语音合成等领域都具有很大的意义。MATLAB软件以其强大的运算能力可以很好的完成对语音信号的处理。通过MATLAB可以对数字化的语音信号进行时频域分析,方便地展现语音信号的时域及频域曲线,并且根据语音的特性对语音进行分析。本文主要研究了基于MATLAB软件对语音信号进行的一系列特性分析及处理,帮助我们更好地发展语音编码、语音识别、语音合成等技术。本文通过应用MATLAB对语音信号进行处理仿真,包括短时能量分析、短时自相关分析等特性分析,以及语音合成等。

    关键词:语音信号;MATLAB;特性分析;语音合成

    引言

            人类交换信息最方便的、最快捷的一种方式是语言。在高度发达的信息社会中,用数字化的方法进行语音的识别、合成、增强、传送和储存等是整个数字化通信网中最重要、最基本的组成部分之一。数字电话通信、高音质的窄带语音通信系统、智能机器人、声控打字机、语言学习机、自动翻译机等,都要用到语音信号处理技术,随着现在集成电路和微电子技术的飞速发展,语音信号处理系统逐步走向实用化[1]

            语音信号处理是一个新兴的交叉学科,是语音和数字信号处理两个学科的结合产物。与认知科学、心理学、语言学、计算机科学、模式识别和人工智能学科有着密切的联系。语音信号处理技术的发展依赖于这些学科的发展,语音信号处理技术的进步也将促进这些领域的进展。语音信号处理目的是得到一些语音特征参数,以便高效的传输或存储,或通过某种处理以达到特定目的,如语音合成,辨识出讲话者、识别出讲话的内容等。随着现代科学技术和计算机技术的发展,除了人与人的自然语言的沟通,人机对话和智能机领域也开始使用语言。这些人造的语言拥有词汇,语法,语法结构和语义内容等。

            语音信号处理的研究可以追溯到1876年贝尔电话的发明,其在真正意义上首次用声电,电声转换技术实现了远距离语音传输。 1939Homer Dudley提出并研制成功第一个声码器,奠定了语音产生模型的基础,其在语音信号处理领域具有划时代的意义。在20世纪40年代,一种语言声学的专用仪器语谱图仪问世。它可以让你把语音的时变频谱用语图表示出来,得到一个“可见的语言 1984年哈斯金斯实验室研制成功语音回放机,此仪器可以自动转换手工绘制的语谱图成为语言,并进行语音合成。随着计算机的出现,语音分析技术可以在计算机上进行。此时语音信号处理无论是在基础研究或在技术应用,都已取得了突破性进展。现在语音信号可分为三个主要分支,即语音编码,语音识别和语音合成技术[10]

            语音编码技术。语音编码的目的就是在保证一定语音质量的前提下,尽可能降低编码比特率来节省频率资源。语音编码技术的研究开始于1939年, Homer Dudley提出并实现了在低带宽电话电报上传输语音信号的通道声码器,第一个研制成功了语音编码技术。到20世纪70年代,国际电联于1972年发布了64kbit/s脉冲编码调制(PCM)语音编码算法的G.711建议,它被广泛应用于数字交换机、数字通信等领域,从而占据统治地位。在199511ITU-T SG15全会上共轭代数码激励线性预测(CS-ACELP)的8kbit/s语音编码G.729建议被通过,并于19966ITU-T SG15会议上通过G.729附件A:减少复杂度的8kbit/s CS-ACELP语音编解码器,正式成为国际标准[1]

            语音识别技术。语音识别的研究开始于20世纪50年代贝尔实验室的Audry系统,它是第一个可以识别10个英文数字的语音识别系统, 1959FryDenes等人采用频谱分析和模式匹配来进行识别决策构建音素识别器来辨别9个辅音和4个元音。20世纪60年代末单语音识别的研究取得实质性进展,并将其作为一个重要的课题。一方面是因为计算机的计算能力有了迅速的提高,计算机能够提供实现复杂算法的硬件、软件;另一方面,数字信号处理在当时有了蓬勃发展,从而自20世纪60年代末开始引起了语音识别的研究热潮。

            语音合成技术。第一个合成器是在1835年由W.von Kempelen发明,经过Weston改进的机械讲话机。机器完全模仿人的生理过程,分别应用了特别设计的哨和软管模拟肺部空气动力和口腔。Homer Dudley1939年发明了第一台电子语音合成器,它不是一个简单的生理过程的模拟,而是在电子电路基础上来实现语音产生源。本文关于语音信号处理方面主要研究了语音合成。语音合成已经在许多方面得到了实际应用,方便了人们的生活,创造了很好的经济效益和社会效益,如公共交通中的自动报站、各种场合的自动报警、电话自动查询服务、文本校对中的语音提示等。综观语言合成技术的研究,语音合成发展方向为提高合成语音的自然度、丰富合成语音的表现力、降低语音合成技术的复杂度等。

    一、语音信号处理基本知识与仿真环境介绍

    1.1 语音信号处理基本知识

    1.1.1语音信号分析技术

            语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分析的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。

            贯穿于语音分析全过程的是“短时分析技术”。语音信号从整体来看其本质特征的参数是随时间而变化的,所以它是一个非稳态过程,不能用处理稳信号的数字信号处理技术对其进行分析处理。但是,由于不同的语音是由人的口腔肌肉运动构成声道某种形状而产生的响应,而这种口腔肌肉运动相对于语音频率来说是非常缓慢的,所以从另一方面看,虽然语音倍号具有时变特性,但是在一个短时间范围内(一般认为在1030ms的短时间内),其特性基本保持不变即相对稳定,因可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。所以任何语音信号的分析和处理必须建立在“短时”的基础上.即进行“短时分析”将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为1030ms。这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列[4]

            根据所分析参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒领域分析等;时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。

    1.1.2语音信号处理理论依据

        采样定理。在进行模拟/数字信号的转换过程中,当采样频率大于信号中最高频率的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。采样定理又称奈奎斯特定理。

            采样位数。采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。

        采样频率。样频率是指计算机每秒钟采样多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音频率之间有一定的关系,根据奈奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。

            采样位数与采样频率的关系。采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度,每增加一个采样位数相当于力度范围增加了6dB,采样位数越多则捕捉到的信号越精确,对于采样率来说你可以想象它类似于一个照相机,44.1khz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。显然采样率越高,计算机提取的图片越多,对于原始音频的还原也越加精确。

    1.2 实现平台MATLAB 7.0介绍

    1.2.1 MatLab软件基本介绍

            MATLAB产生于1982年,是一种效率高、功能强的数值计算和可视化计算机高级语言,它将信号处理、数值分析和图形显示结合一体,形成了一个极其方便又强大的操作环境,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平[7]

            MATLAB7.0是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB 7.0 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域

    1.2.2 MatLab与语音处理的关系

            MATLAB软件以其强大的运算能力可以很好的完成对语音信号的处理。通过MATLAB可以对数字化的语音信号进行时频域分析,方便地展现语音信号的时域及频域曲线,并且根据语音的特性对语音进行分析。例如,请浊音的幅度差别、语音信号的端点、信号在频域中的共振峰频率、加不同窗和不同窗长对信号的影响、LPC分析、频谱分析等[3]

            同时,通过MATLAB可以对数字化的语音信号进行估计和判别。例如,根据语音信号的短时参数,一级不同语音信号的短时参数的性质对一段给定的信号进行有无声和请浊音的判断、对语音信号的基音周期进行估计等。另外,通过利用MATLAB编程可以对语音信号进行各种处理。由于MATLAB是一种面向科学和工程计算的高级语言,允许用数学形式的语言编程,又有大量的库函数,所以编程简单、编程效率高、易学易懂,我们可以对信号进行加噪去噪、滤波、截取语音等,也可进行语音编码、语音识别、语音合成的处理等。总之,对于语音信号进行分析处理,MATLAB软件是当今比较高效的平台。

    二、语音信号的特点与采集

    2.1语音信号的特点分析

            语音信号的特点可以分为时域方面和频域方面。

            在时域内,语音信号具有短时性的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。

            在频域内,语音信号的频谱分量主要集中在300~3400Hz的范围内。利用这个特点,可以按8kHz的采样率对语音信号进行采样,得到离散的语音信号。语音信号的这两种特点均可通过MATLAB软件表现出来,如图2.1和图2.2所示。


    图2.1 语音信号时域图


    图2.2 语音信号频域分析

    2.2语音信号的采集

    2.2.1语音信号的量化编码采样

            在将语音信号进行数字化前,必须先进行防混叠预滤波,预滤波的目的有两个,一是抑制输入信导各领域分量中频率超出/2的所有分量(为采样频率),以防止混叠干扰;二是抑制50Hz的电源工频干扰。这样,预滤波器必须是一个带通滤波器,设其上、下截止颜率分别是和,则对于绝人多数语音编译码器,=3400Hz、=60~100Hz、采样率为=8kHz;而对于语音识别而言,当用于电话用户时,指标与语音编译码器相同。当使用要求较高或很高的场合时=4500Hz或8000Hz、=60Hz、=10kHz或20kHz。

            为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。采样也称抽样,是信号在时间上的离散化,即按照一定时间间隔△t在模拟信号x(t)上逐点采取其瞬时值。采样时必须要注意满足奈奎斯特定理,即采样频率必须以高于受测信号的最高频率两倍以上的速度进行取样,才能正确地重建波它是通过采样脉冲和模拟信号相乘来实现的。

            在采样的过程中应注意采样间隔的选择和信号混淆:对模拟信号采样首先要确定采样间隔。如何合理选择△t涉及到许多需要考虑的技术因素。一般而言,采样频率越高,采样点数就越密,所得离散信号就越逼近于原信号。但过高的采样频率并不可取,对固定长度(T)的信号,采集到过大的数据量(N=T/△t),给计算机增加不必要的计算工作量和存储空间;若数据量(N)限定,则采样时间过短,会导致一些数据信息被排斥在外。采样频率过低,采样点间隔过远,则离散信号不足以反映原有信号波形特征,无法使信号复原,造成信号混淆。根据采样定理,当采样频率大于信号的两倍带宽时,采样过程不会丢失信息,利用理想滤波器可从采样信号中不失真地重构原始信号波形。量化是对幅值进行离散化,即将振动幅值用二进制量化电平来表示。量化电平按级数变化,实际的振动值是连续的物理量。具体振值用舍入法归到靠近的量化电平上。

            语音信号经过预滤波和采样后,由A/D变换器变换为二进制数字码。这种防混叠滤波通常与模数转换器做在一个集成块内,因此目前来说,语音信号的数字化的质量还是有保证的。市面上购买到的普通声卡在这方面做的都很好,语音声波通过话筒输入到声卡后直接获得的是经过防混叠滤波、A/D变换、量化处理的离散的数字信号。

    2.2.2利用Windows录音器采集语音信号

    在本次设计中,可以利用Windows自带的录音机录制语音文件,图2.3是基于PC机的语音信号采集过程,声卡可以完成语音波形的A/D转换,获得WAV文件,为后续的处理储备原材料。调节录音机保存界面的更改选项,可以存储各种格式的WAV文件。

      

    2.3 基于PC机的语音采集过程

    第三章 语音信号的分析

    3.1 语音信号的短时能量分析
            一定时宽的语音信号,其能量的大小随时间有明显的变化。清音信号和浊音信号之间的能量差别相当显著。其中清音段(以清音为主要成份的语音段),其能量比浊音段小得多[10]。因此,对语音的短时能量进行分析,可以描述语音的这种特征变化情况。定义短时能量为如式(3-1)所示。
                                                    (3-1)
    其中N为窗长。特殊地,当采用矩形窗时,可简化为如式(3-2)所示。
                                                            (3-2)
    也可以从另外一个角度来解释。令
                                                              (3-3)                                         
    则 可表示为如式(3-4)所示。
                                              (3-4)  
            可以理解为,首先语音信号各个样点值平方,然后通过一个冲击响应为h(n)的滤波器,输出为由短时能量构成的时间序列。
            短时能量的计算直接受冲击响应的选择即窗函数的选择的影响。如果冲击响应的幅度是恒定的,它的序列长度N(即窗长)会很长,将其等效为非常窄的低通滤波器,这时冲击响应对 产生的平滑的作用比较明显,使短时能量基本没有很大的变化,将不能表现出语音的时变的特性。相反,如果冲击响应的序列长度过于小,等效窗就不能提供出够用的平滑,以导致语音的振幅在瞬时的变化的许多细节仍被留了下来,进而不能看出振幅包络变化的规律,一般我们要求窗长是几个基音周期的数量级。
            图3.1为采样率8000kHZ,16位,单声道的一个语音信号(单词“earth”)在不同矩形窗长时的短时能量函数,我们会发现:语音信号的幅度变化在被短时能量所反映时,窗长的长短都有影响。
     
    图3.1 不同矩形窗长的短时能量函数
            我们知道,单词earth前半部分是浊音,后半部分是清音。由以上分析结果可知,浊音部分的能量较之清音部分要大得多,而清音部分的能量相当小,几乎为零。
            对语音信号进行短时能量函数运算,可实现以下三点应用:
    (1)可用于区分清音段与浊音段。En值大对应于浊音段,En值小对应于清音段。
    (2)可用于区分浊音变为清音或清音变为浊音的时间(根据En值的变化趋势)。
    (3)对高信噪比的语音信号,也可以用来区分有无语音(语音信号的开始点或终
    止点)。无信号(或仅有噪声能量)时,En值很小,有语音信号时,能量显著增大。
    3.2短时自相关分析
            对于确定性信号序列,自相关函数定义如式(3-5)所示。
                                                      (3-5)
            对于随机性信号序列或周期性信号序列,自相关函数的定义如式(3-6)所示。
                                                (3-6)
            自相关函数具有以下几项性质:
        (1)若序列是周期性的,假设序列周期为 ,那么其自相关函数也是具有相同周期的周期函数,即 
        (2)自相关函数是偶函数,即R(k)=R(-k);
        (3)当k=0时,自相关函数有极大值,即
        (4)R(0)为随机性序列的平均功率或确定性信号序列的能量。
            自相关函数的上述性质,完全可以适用于语音信号的时域分析中。例如,浊音语音波形序列具有周期性,因此可用自相关函数求出这个周期,即是基音周期。此外,自相关函数也可用在语音信号的线性预测分析中。
    短时自相关函数的定义如式(3-7)所示。 
                                       (3-7)
    令 ,并且 ,可以得到如下式子,如(3-8)所示。
                                 (3-8)
            如图3.2是在不同的矩形窗窗长条件下单词earth的语音自相关的函数的波形。
            对两图分析可得:清音信号的短时自相关函数的波形不具有周期性,也没有明显的峰值,且随着延时k的增大迅速变小,因此其接近于随机噪声;浊音是具有周期性的信号,浊音信号的周期为自相关函数的周期,由此可知,语音信号的性质是浊音还是清音,如果是浊音,还可以得出它的基音周期,它的基音周期可由自相关函数波形中的第一个峰值的位置来估计。所以,自相关函数常用作一下两种作用:
    (1) 区分语音信号是清音还是浊音;
    (2) 估计浊音语音信号的基音周期[4]。
     

    图3.2 不同的矩形窗窗长下短时自相关

    第四章 语音合成

    4.1 语音合成技术概述
    4.1.1 语音合成技术的意义                                                   
            语音合成技术涉及声学、语言学、数字信号处理技术、多媒体技术等多个领域, 是当今世界强国竞相研究的热门技术之一。语音合成技术可分为参数合成和波形拼接两种方法。早期的研究主要是采用参数合成方法, 它是计算发音器官的参数, 从而对人的发音进行直接模拟。语音合成已经在许多方面得到了实际应用,方便了人们的生活,创造了很好的经济效益和社会效益,如公共交通中的自动报站、各种场合的自动报警、电话自动查询服务、文本校对中的语音提示等[8]。
            本文主要利用载波调制技术进行语音合成。基于载波调制的语音信号合成是以语音信号处理技术、数字信号处理技术为基础,依托于电子计算机、Windows操作系统、MATLAB处理软件等工具将两个信号合成为一个信号。具有较强的实用性、可操作性等特点。
    4.1.2 基于载波调制语音合成的基本原理
                语音信号合成是一个“分析—存储—合成”的过程。一般是选择合适的基本单元,将基本单元用一定的参数编码方式或波形方式进行存储,形成一个语音库。合成时,根据待合成语音信号,从语音库中取出基本单元进行合成,并将其还原成语音信号。在语音合成中,为了便于存储和后续分析,必须先将语音信号进行预分析、预处理、波形变换等一系列操作。其中,基元是语音合成处理的最小单元,待合成的语音库就是所有语音基元的某中集合。根据基元的选择方式以及其存储形式的不同,可以将合成方法笼统的分为波形合成方法和参数合成方法。
            波形合成是一种相对简单的语音合成技术。它把人的发音波形直接存储或者进行进行简单的波形编码后存储,组成一个合成的语音库;合成时,根据待合成的信息,在语音库中取出相应单元的波形数据,拼接或编辑到一起,经过解码还原成语音。该语音合成技术具有一定的局限和不足,但对语音信号具有数据量庞大的特点,这种误差在某种范围内是可以接受的。
            基于载波调制的语音信号合成是基于信号的振幅调制原理而实现的。将低频信号加载到高频载波信号的过程,或者说把信息加载到信息载体上以便传输的处理过程,称为调制。所谓“加载”,其实质是使高频载波信号(信息载体)的某个特性参数随信息信号幅值的大小程线性变化。基于载波调制的语音信号合成是以语音一信号作为调制信号,语音二信号为载波信号来进行合成一种以语音二信号声色表述语音一内容的新信号。这种调制方式是用传递的低频信号(如代表语言、音乐、图像的电信号)去控制作为传送载体的高频振荡波(称为载波)的幅度,是已调波的幅度随调制信号的大小线性变化,而保持载波的角频率不变。
    4.2 基于载波调制的语音合成基本知识
    4.2.1 关键函数希尔伯特变换介绍
            本文语音合成的设计思路是用一个语音信号的包络去调制另一个语音信号,实现语音的合成。这就用到了一个关键的函数,希尔伯特变换。在数学与信号处理的领域中,一个实值函数的希尔伯特变换是将信号s(t)与1/(πt)做卷积,以得到s'(t)。因此,希尔伯特变换结果s'(t)可以被解读为输入是s(t)的线性时不变系统的输出,而此系统的脉冲响应为1/(πt)。这是一项有用的数学工具,用在描述一个以实数值载波做调制的信号之复数包络,出现在通讯理论中发挥着重要作用[9]。
            希尔伯特变换的频域数学表达式如式(4-1)所示。                       
                                                          (4-1)
    其中F是傅里叶变换,i是虚数单位,ω是角频率。
            希尔伯特变换等效于 π/2的相移,对正频率产生-π/2的相移,对负频率产生π/2相移,或者说,在时域信号每一频率成分移位1/4波长,因此,希尔伯特变换又称为90度移相器。
            MATLAB提供了计算Hilbert变换的函数,其格式为y=Hilbert(x)。但需注意的是,该函数计算出的结果是序列的解析信号,其虚部才是序列的Hilbert变换。
            希尔伯特变换在语音信号处理中具有两个性质: 序列x(n)通过Hilbert变换器后,信号频谱的幅度不发生变化,这是因为Hilbert变换器是全通滤波器,引起频谱变化的只是其相位; 序列x(n)与其Hilbert变换是正交的[6]。
    4.2.2 信号调制
            所谓调制,就是将调制信号加载在三个参数中的某一个参数上,或幅值、或频率、或相位,随调制信号大小成线性或非线性变化的过程。主要有三种基本调制方法,第一种是把调制信号加载在载波信号的幅值上,称为幅度调制 ,简称AM;第二种是把调制信号加载在载波的频率上,称为频率调制,简称FM。 第三种是把调制信号装载在载波的相位上,称为相位调制,简称PM[10]。 本设计采用的是第一种方法,用采集到的语音二信号去对语音一信号进行幅度调制,实现语音合成的目的。
            采用调幅调制是因为其以下特点在语音信号处理中得到很好的应用。一是调幅波的振幅(包络)随调制信号变化,而且包络的变化规律与调制信号波形一致,表明调制信号(信息)记载在调幅波的包络中;二是调制系数反应了调幅的强弱程度,一般情况下,调制系数越大调幅度越深。
            当调制系数为0时,表示未调幅,即无调幅作用;
            当调制系数为1时,此时包络的振幅最小值为0;
            当调制系数大于1时,已调波的包络与调制信号不一样,产生严重的包络失真,称为过量调幅。
    4.3 语音信号合成过程
    4.3.1 语音信号合成流程图
            用MATLAB 处理音频信号的基本流程是:先将WAV 格式音频信号经wavread 函数转换MATLAB 列数组变量;再用MATLAB 强大的运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、信号变换、识别和增强等等;处理后的数据如是音频数据,则可用wavwrite函数 转换成WAV 格式文件或用sound、wavplay 等函数直接回放。本设计的语音合成流程图如图4.1所示。
     
    图4.1  语音信号合成流程图
    4.3.2 语音信号的采集
            分析和处理音频信号,首先要对声音信号进行采集,MATLAB 的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集。Windows 自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV 格式文件,供MATLAB 相关函数直接读取、写入或播放。本文以WAV 格式音频信号作为分析处理的输入数据。
    4.3.3 语音信号的合成
            声音信号是一种非平稳信号,如果采用简单的时变系统的分析方法,将会产生很大的失真,但是在一小段时间内声音信号完全可以视为平稳信号。因此必须对语音信号做预处理。在本次语音信号合成中采用加窗截断,分帧处理将非平稳信号近似转换为平稳信号。
            声音信号特征量提取。声音信号特征量提取包括语音一声音信号声色(频率)的提取和语音二声音信号包络的提取。语音二声音信号包络的提取采用希尔伯特变换实现,得到语音二声音信号的复数包络。
            获取语音信号起始位置。在录音过程中控制两段声音从相同的起点开始录取并不是一件容易的事,但是如果不确定语音信号的起始位置直接对语音信号进行合成既存在数据量大又会带来较大的误差。本设计语音合成中拟定连续四个时间点的语音信号强度不为0,则认为语音信号开始,也即找到信号起始位置。
            语音信号合成。语音信号合成即是一个调幅载波的过程,是以语音一信号作为载波信号,语音二信号包络作为调幅信号来实现语音合成。实际的载波是一个物理可实现的复杂过程,本语音合成中采用语音一信号点乘包络信号,实际的载波是一个物理可实现的复杂过程,并非简单地乘积运算,然而,得到的合成声音信号效果并不理想,但其波形仍能反应载波过程的实质。
    4.4 语音信号合成结果及分析
    4.4.1 语音信号预处理结果及分析
            该处理过程以语音一信号和语音二声音信号为分析样本。使用Windows系统自带录音器分别录下语音一和语音二,分别命名为one和two,保存为WAV格式。通过MATLAB对所录语音进行采样,采样频率 为16000Hz,获取语音信号并进行加窗。语音一和语音二的时域波形图如图4.2所示,时域图反映出了语音信号的非平稳性。
            对采集到的语音信号分别做傅里叶变换进行频谱分析,并显示频谱图,观察各自的幅频谱特性。语音一和语音二的声音信号幅频特性如图4.3所示,语音一和语音二的声音FFT图如图4.2和图4.3。该频谱图横坐标并未进行对应关系处理,但仍不失其频谱特性的本质,由频谱图可清楚地看到样本声音主要以低频为主。人的语音信号频率一般集中在1kHz之前,从声音频谱的包络来看, 根据采样定理,信号宽度近似取为1kHz,重放语音后仍可较清晰的听出原声, 不存在声音混叠现象。
     
    图4.2  信号预处理之后时域图
     
    图4.3 信号预处理之后频域图
    4.4.2 合成语音信号结果及分析
            合成语音信号的实质是用语音二信号的包络调制语音一信号振幅的结果。语音二信号包络提取结果如图4.4,该图是语音二信号经希尔伯特—黄变换的虚部显示,因为希尔伯特—黄变换是一个时域信号与1/(πt)的卷积,其结果是载波做调制信号之复数包络,必然蕴含虚部成分,取其虚部的结果必然与时域信号有着直观上的差别,但仍是信号的包络成分。
     
    图4.4 语音二信号包络图
            合成信号的时域显示结果如图4.5所示,该合成信号是以语音一信号的特性和语音二信号的幅度变化的,由其快速傅里叶变换的结果更证实了这一点,其幅频特性与语音一信号的幅频特性更接近。
     
    图4.5 合成语音信号的时域波形
     
    图4.6 合成语音信号的幅频特性

     

    图4.7 合成语音信号快速傅里叶变换结果


    结  论

            随着语音技术的逐渐成熟,语音信号处理技术也在不断发展,不断完善。本文主要研究了通过对语音信号短时能量、短时自相关等特性参数的分析,使我进一步了解了语音信号的特性,明白了只有准确分析并提取出语音信号的特征参数,才能够利用这些参数进行语音编码、语音合成等处理。另外在语音处理方面,我选择了语音合成这一处理方式。基于载波调制的语音处理实现简单,运用广泛,研究这一语音合成方法及特性,对于更加深入地进行各种语音处理有着重要的意义。这次设计我是通过了MATLAB这一平台,MATLAB软件以其强大的运算能力可以很好的完成对语音信号的处理,因此,近一步的加强对MATLAB的研究对我以后的学习会起到很大的帮助。
            至此,设计基本符合要求。但是由于个人能力的有限,采集的语音信号清、浊音区分不明显,导致对语音进行短时自相关得出的波形特征不明显。考虑解决方案是通过专业的设备采集语音信号。除此之外,本设计必有其他欠妥之处,请各位老师给予指正!

    参考文献

    [1] 张雪英.数字语音处理[M].北京:电子工业出版社, 2010.
    [2] 郑君里,应启绗,杨为理.信号与系统[M].北京:高等教育出版社,2000.
    [3] 薛年喜.MATLAB在数字信号处理中的应用[M].北京:清华大学出版社,2003.
    [4] 胡航.语音信号处理[M].哈尔滨:哈尔滨工业大学出版社, 2000.
    [5] 易克初,田斌,付强.语音信号处理[M].北京:国防工业出版社, 2000.
    [6] 万永革.数字信号处理的MATLAB实现[M].北京:科学出版社,2007.
    [7] 刘卫国. MATLAB程序设计与应用[M].北京:高等教育出版社,2006.
    [8]王嘉梅.基于MATLAB的数字信号处理与时间开发[J].西安:西安电子科技大学出版社,2007:10-14.
    [9] 程佩青.数字信号处理教程(第二版)[M].北京:清华大学出版社,2010.
    [10] 韩纪庆 张磊 郑铁然.语音信号处理[M].北京:清华大学出版社,2004.
    [11] 徐明远,邵玉斌. Matlab仿真在通信与电子工程中的应用[M].西安:西安电子科技大学出版社,2005. 
    [12] 邓华. Matlab通信仿真及应用实例详解[M].北京:人民邮电出版社,2005. 
    [13] 张照明,刘政波,刘斌等. 应用Matlab实现信号分析处理[C].北京:科学出版社,2006.
    [14] 徐守时. 信号与系统理论方法和应用[M].合肥:中国科学技术大学出版,1999. 

    [15] 高俊斌. Matlab语言与程序设计[M].武汉:华中理工大学出版社,1998. 

    附  录

    附录A   语音信号特性分析程序

    %语音信号时域频域显示%
    [y,Fs,bits]=wavread('biye.wav');%读出信号、采样率和采样位数
    y=y(:,1);%取单声道
    sigLength=length(y);
    Y=fft(y,sigLength); 
    Pyy=Y.* conj(Y) / sigLength;
    halflength=floor(sigLength/2);
    f=Fs*(0:halflength)/sigLength;
    figure;plot(f,Pyy(1:halflength+1));
    xlabel('Frequency(Hz)');
    t=(0:sigLength-1)/Fs;
    figure;
    plot(t,y);
    xlabel('Time(s)');
    
    %语音信号短时能量%
    x=wavread('biye.wav');
    %x=fscanf(fid,'% f');
    %fclose(fid);
    s=fra(50,25,x)
    s2=s.^2;
    energy=sum(s2,2)
    subplot(2,2,1)
    plot(energy);
    xlabel('帧数')
    ylabel('短时能量 E')
    legend('N=50')
    %axis({0,1500,0,10*10^5})
    s=fra(100,50,x)
    s2=s.^2;
    energy=sum(s2,2)
    subplot(2,2,2)
    plot(energy);
    xlabel('帧数')
    ylabel('短时能量 E')
    legend('N=100')
    %axis({0,750,0,2*10^6}) 
    s=fra(400,200,x)
    s2=s.^2;
    energy=sum(s2,2)
    subplot(2,2,3)
    plot(energy);
    xlabel('帧数')
    ylabel('短时能量 E')
    legend('N=400')
    %axis({0,190,0,7*10^6})
    s=fra(800,400,x)
    s2=s.^2;
    energy=sum(s2,2)
    subplot(2,2,4)
    plot(energy);
    xlabel('帧数')
    ylabel('短时能量 E')
    legend('N=800') 
    %axis({0,95,0,14*10^6})
    
    %语音信号短时自相关%
    x=wavread('biye.wav');
    s1=x(1:320);
    N=320;   %选择的窗长,加N=320的矩形窗
    A=[];
    for k=1:320;
    sum=0;
    for m=1:N-(k-1);
    sum=sum+s1(m)*s1(m+k-1);   %计算自相关
    end
    A(k)=sum;
      end
    for k=1:320
    A1(k)=A(k)/A(1);        %归一化A(k)
       end
    N=160;                  %选择的窗长,%加N=160的矩形窗
    B=[];
    for k=1:320;
    sum=0;
    for m=1:N-(k-1);
    sum=sum+s1(m+k-1);   %计算自相关
    end
    B(k)=sum;
    end
    for k=1:320
    B1(k)=B(k)/B(1);      %归一化B(k)
    end
    N=70;                 %选择的窗长,加N=70的矩形窗
    C=[];
    for k=1:320;
    sum=0;
    for m=1:N-(k-1);
    sum=sum+s1(m)*s1(m+k-1);        %计算自相关
    end
    C(k)=sum;
    end
    for k=1:320
    C1(k)=C(k)/C(1);                %归一化C(k)
    end
    s2=s1/max(s1)
    figure(1)
    subplot(4,1,1)
    plot(s2)
    title('语音信号')
    xlabel('样点数')
    ylabel('幅值')
    axis([0,320,-2,2])
    subplot(4,1,2)
    plot(A1)
    xlabel('延时k')
    ylabel('R(k)')
    axis([1,320,-2,2]);
    legend('N=320')
    subplot(4,1,3)
    plot(B1);
    xlabel('延时k')
    ylabel('R(k)')
    axis([1,320,-2,2]);
    legend('N=160')
    subplot(4,1,4)
    plot(C1);
    xlabel('延时k')
    ylabel('R(k)')
    axis([0,320,-2,2]);
    legend('N=70')
    附录B  语音合成主程序
    [y1,fs,bits]=wavread('one');      %读取语音一信号
    [y2,fs,bits]=wavread('two');      %读取语音二信号
    L1=length(y1);                    %测定语音一信号长度
    L2=length(y2);                    %测定语音二信号长度
    a1=y1.*hamming(L1);               %加窗预处理
    a2=y2.*hamming(L2);               %加窗预处理
    L1=length(a1);                    %测定语音一信号长度
    L2=length(a2);                    %测定语音二信号长度
    %采样信号的时域显示
    figure(1);
    subplot(211);
    plot(a1);
    title('语音一载波信号时域波形');
    subplot(212);
    plot(a2);
    title('语音二调幅信号时域波形');
    %傅里叶频谱绘制
    F1=fft(a1,L1);                    
    F2=fft(a2,L2);
    AF1=abs(F1);
    AF2=abs(F2);
    figure(2);
    subplot(211);
    plot(AF1);
    title('语音一载波信号幅频特性显示');
    subplot(212);
    plot(AF2);
    title('语音二调幅信号幅频特性显示');
    figure(3);
    freqz(F1);
    title('语音一载波信号FFT频谱显示');
    figure(4);
    freqz(F2);
    title('语音二载波信号FFT频谱显示');
    %获取语音一信号的开始位置
    for i=1:L1-4
         g(i)=a1(i).*a1(i+1).*a1(i+2).*a1(i+3).*a1(i+4);%认为连续4个幅值不为0的信号即为开始
         if g(i)~=0
             break;
         else i=i+1;
         end
    end
    I=i;
     
    % 获取语音二信号开始位置
    for j=1:L2-4
         m(j)=a2(j).*a2(j+1).*a2(j+2).*a2(j+3).*a2(j+4);
         if m(j)~=0
             break;
         else j=j+1;
         end
    end
    J=j;
    %语音二信号hilbert变换
    H=hilbert(a2);
    figure(5);
    plot(abs(H));
    title('语音二信号包络显示');
    %信号对齐,语音二包络调制语音一振幅
    max1=max(I,J);
    for k=1:L1-max1
        N(k)=a1(i).*H(j);
        i=i+1;
        j=j+1;
    end
    %N=N';
    N = N/(max(abs(N)) * 1.05);
    wavwrite(N,16000,16,'HC.wav');
    figure(6);
    plot(imag(N));
    title('合成信号时域显示');
    pause(1);
    sound(10*N,fs);
    FN=fft(N);
    figure(7);
    freqz(FN);
    title('合成声音信号FFT显示');
    figure(8);
    plot(abs(FN));
    title('合成声音信号的幅频特性');
    

    展开全文
  • 1.连续信号与离散信号 2.周期信号和非周期信号 3.实信号和复信号 4.能量信号和功率信号 1.3 信号的基本运算 1.加法和乘法 2.反转和平移 3.尺度变换(横坐标展缩) 1.4 阶跃函数和冲激函数 1.阶跃函数和冲激...
  • 数字信号处理考试要点

    万次阅读 多人点赞 2019-01-06 11:48:07
    数字信号处理考点整理
  • 信号

    千次阅读 2016-09-28 09:59:23
     简而言之,信号是一种软件中断,提供了一种处理异步的方法,信号发生是随机的。例如键盘输入中断按键(^C),它的发生在程序执行过程中是不可预测的。  硬件异常也能产生信号,例如被零除、无效内存引用(test里...
  • 信号与系统学习笔记》—信号与系统(二)

    千次阅读 多人点赞 2017-08-11 10:12:33
    注:本博客是基于奥本海姆的《信号与系统》第二版编写,主要是为了自己学习的复习与加深。 一、指数信号与正弦信号 一)、连续时间复指数信号与正弦信号 1、连续时间复指数信号具有如下形式: 其中C和a一般为...
  • 信号与系统学习笔记》—信号与系统(一)

    千次阅读 多人点赞 2017-08-09 10:25:24
    注:本博客是基于奥本海姆的《信号与系统》第二版编写,主要是为了自己学习的复习与加深。 一、连续时间和离散时间信号 一)、举例与数学表示 1、信号的定义  1)、在物理上,信号可以描述范围极广的一类物理...
  • 写在前面 1)现实意义 早期使用的交通信号灯是固定配时的调控方式,无法随着车流量的变动而调整绿灯时间...智能交通系统的核心是交通信号灯的智能控制算法,根据实时交通流的大小,配置信号周期及各种色灯的闪亮时间...
  • BPSK,QPSK,2FSK,16QAM,64QAM信号在高斯信道与瑞利信道下的误码率性能仿真 王家尉1 (1.湖南大学通信工程系,湖南长沙 410082;) 摘要: 为了获得BPSK, QPSK, 2FSK, 16QAM, 64QAM信号在不同信道下的误码率,借助...
  • 本人当前对小波理解不是很深入,通过翻阅网络他人博客,进行汇总总结,重新调试Matlab代码,实现对小波与小波包、小波包分解与信号重构、小波包能量特征提取,供大家参考。以下的所有内容均搬运自 cqfdcw 用户 。...
  • 信号与系统(郑君里)——第一章(绪论)

    千次阅读 多人点赞 2018-06-15 14:10:56
    题记: 对于信号与系统,一直以来都是断断续续的学,断断续续的用,没有很系统的从头到尾的理透彻,对于实际工作来说,信号与系统以及数字信号处理都是内功,这些理论性的东西还是要扎实的搞搞透彻,写这篇博客,一...
  • 【阵列信号处理】DOA估计之MUSIC算法

    千次阅读 2019-09-15 09:07:24
    空间谱估计是阵列信号处理中很重要的一部分,而空间谱估计的一个主要内容就是估计空间信号源的方向,即DOA(Direction of arrival)的估计。MUSIC是一种有效的DOA估计方法。MUSIC(1969年提出)即多重信号分类(Multiple ...
  • 注:本博客是基于奥本海姆《信号与系统》第二版编写,主要是为了自己学习的复习与加深。 一、基本系统性质 一)、记忆系统与无记忆系统 1、无记忆系统 如果对自变量的每一个值,一个系统的输出仅仅取决于该时刻...
  • FPGA数字信号处理(一)数字混频(NCO与DDS的使用)

    万次阅读 多人点赞 2018-05-30 16:27:36
    这是数字信号处理系列的第一篇,以简单的数字混频为例,介绍在FPGA程序设计中很重要的二进制原码、补码;有符号数、无符号数的问题。本文不是像课本那样介绍这些基础概念,而是介绍很实际的设计方法。 借助于数字...
  • 对于振动信号而言,时域常见的特征指标有波形指标、脉冲指标、峭度指标、裕度指标、峰峰值等;频域指标有重心频率、均方频率、均方根频率、频率方差、频率标准差等; 时域、频域提取特征都是针对某段长度的样本而...
  • matlab信号频谱分析FFT详解

    万次阅读 多人点赞 2019-06-12 22:27:09
    做OFDM通信少不了频谱分析,基带信号DA后的频谱,以及基带数字上变频后的DA信号都要频谱分析。我觉得其实做任何工程都是这样,先规定实施方案,然后仿真成功,再实际开发,不过也可以一边开发,一边仿真,开发结果要...
  • 数字信号处理经典书籍

    千次阅读 2015-11-02 15:03:15
    数字信号处理-(第三版) (美)莱昂斯,张建华 9787121243677 电子工... 分享到 查看大图 数字信号处理-(第三版) (美)莱昂斯,张建华 9787121243677 电子工业出版社...
  • Matlab:语音信号处理与滤波

    万次阅读 多人点赞 2019-06-12 13:53:37
    文章目录语音信号的采集对语音信号进行频谱分析设计数字滤波器利用滤波器进行滤波 语音信号的采集 首先利用win自带的录音机(没有的话手机录也行),录下一段语音信号,时间40秒左右。运用MATLAB对语音进行采样 [x,...
  • 心电图中的各个波形都包含了非常多的信息,例如RR间期可以反映心动周期的时限;相邻心动周期的 RR 间期的比值可以反映室性早搏;R 波和 S 波幅值的比值...第一步: 识别检测ECG信号中的波群(目前主要是先定位QRS波...
  • bpmn信号事件

    千次阅读 2020-07-16 15:54:45
    本文章主要讲解了bpmn信号事件的使用,系列文章包含工作流、工作流系统、工作流引擎的相关讲解,涉及的到Camunda BPM、BPMN规范、activit、 flowable的基础性知识,对于流程自动化、业务流程等进行了深入研究探讨。
  • 线性调频信号MATLAB仿真

    千次阅读 2019-11-04 09:17:02
    %% LFM线性调频信号%% fs=48e6; %采样率:fs=1.2B此时效果最好 T=2e-6; %脉宽:脉冲持续时间 B=40e6; %带宽:所包含的所有的频率成分 k=B/T; %调频斜率 n=round(Tfs); %采样点个数,round是取整 t=linspace(-T/2,T/2...
  • Matlab音频信号的基本处理与分析

    千次阅读 2019-11-29 19:02:49
    Matlab音频信号的基本处理与分析 1 音频信号的读取与时域分析 原文链接:Matlab音频信号的基本处理与分析 close all clear all clc %读取音频文件 info =audioinfo('sample_orig.mp3');%获取音频文件的信息 [audio...
  • 能量信号和功率信号的分别

    万次阅读 多人点赞 2019-09-22 12:38:02
    首先要明确一点,这两种信号概念是建立在无穷大的时间积分的基础上的。 一.能量与功率 判断一个信号是能量信号还是功率信号,首先需要计算其能量和功率。 不想看公式的可以直接跳到加粗的结论部分。 对于信号f(t...
  • 模拟信号和数字信号的区别

    千次阅读 2019-04-18 11:04:12
    ①模拟信号是用模拟量的电压或电流来表示的电视信号,时间上是连续的,幅度变化也是连续的。 ②数字信号是通过0和1的数字串所构成的数字流来传输的,幅度变化是跳变的。 模拟信号和数字信号的根本区别就是传输的形式...
  • 连续时间信号 : 在时间t 上是连续的值 时间连续, 幅值连续。 定义为模拟信号。 时间连续, 幅值离散。 比如脉冲信号。 离散时间信号 : 在时间t上 是离散的值 时间离散, 幅值连续。 (在任意两个离散...
  • 信号是事件(event),信号通过信号处理程序响应。发出信号时,将调用相应的信号处理程序。在处理程序中放置诸如脚本或其他操作之类的逻辑允许组件响应事件。 第一个例子:信号处理程序 //以下所有示例都在Qt...
  • 心电信号去噪1--心电信号简介

    千次阅读 2019-06-02 13:17:47
    开一个坑总结一下最近学的ECG滤波算法,先对心电图和心电信号做一下简要介绍 注:这里是以小型手持心电图机为研究对象的(单导联)。 心电图介绍 心电图(electrocardiogram,ECG)能反映心脏兴奋的电活动过程,它在...

空空如也

1 2 3 4 5 ... 20
收藏数 247,594
精华内容 99,037
关键字:

信号