平稳和非平稳信号_非平稳信号处理

平稳和非平稳信号_非平稳信号处理平稳和非平稳都是针对随机信号说的。平稳信号是指分布参数或者分布律随时间不发生变化的信号。非平稳信号是指分布参数或者分布律随时间发生变化的信号。常见的平稳信号:一段短的语音信号(10~30ms)常见的非平稳信号:一段长的语音信号,一首歌等给出一个信号(可以随意选取一个.mp3文件,命名为m.mp3),对其进行平稳性分析:%信号的平稳性分析clc,clear;fs=44100;s=a…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

平稳和非平稳都是针对随机信号说的。
平稳信号是指分布参数或者分布律随时间不发生变化的信号。
非平稳信号是指分布参数或者分布律随时间发生变化的信号。

常见的平稳信号:一段短的语音信号(10~30ms)
常见的非平稳信号:一段长的语音信号,一首歌等

给出一个信号(可以随意选取一个.mp3文件,命名为m.mp3),对其进行平稳性分析:

%信号的平稳性分析
clc,clear;
fs=44100;
s=audioread('m.mp3');%通过一个样本来分析(平稳性是针对随机信号的)
s(:,2)=[];

%% 看看全局平稳性
%1均值
n=400;
N=length(s);
mean(s((1:n)+round(N/4)))
mean(s((N-n+1:N)-round(N/4)))
%2相关函数
tao=round(N/4);%自定义时间差tao
for n0=1:30
    tmp=corrcoef(s((1:n)+n0+round(N/4)),s((1:n)+n0+tao+round(N/4)));c(n0)=tmp(1,2);
end
figure,plot(c);axis([1 30 0 1]);grid on;title('tao1(全局)相关系数,可见非平稳');

%% 看看局部平稳性
t=0.01; %选取局部时间10ms
NN=fs*t;
x=s(round(N/3)+(1:NN));%取一段长度为NN的信号
%1均值
n=400;
mean(x(1:n))
mean(x(NN-n+1:NN))
%2相关函数
tao=3;%自定义时间差tao
for n0=1:30
    tmp=corrcoef(x((1:n)+n0),x((1:n)+n0+tao));c(n0)=tmp(1,2);
end
figure,plot(c);axis([1 30 0 1]);grid on;title('tao2(局部)相关系数,可见平稳');

%结论:从相关函数可以看出(期望看不出),此音乐信号具有短时平稳性

Jetbrains全家桶1年46,售后保障稳定

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219969.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 手机号码归属地查询App

    手机号码归属地查询App结合MVP设计模式和解析Json数据,制作一款“手机号码归属地查询的App小程序(Android)”说明:实现的原理很简单,有多种设计方式和代码编写风格。本文主要是认识、理解MVP设计模式和Json数据的常见解析框架的使用。源码:请点击链接访问我的GitHub进行查看准备工作:AndroidStudio开发工具(谷爹的亲儿子)浏览器(进行测试淘宝开放平台返回给我们的Json数据并进行…

    2022年7月22日
    15
  • 关于垃圾回收CollectGarbage()的使用

    网络上流传的关于JS释放内存的方式~大概就是只说过。将变量使用以后设置为null,但是IE的GC是当鼠标点击最小化按钮时发生~~也就是说我们从程序上看已经释放了内存其实之前更本没有释放~~~研究jsvm的时候,发现js.lang.System里面定义了gc()方法System.gc=function(){  if(System.isIeBrowser())  {…

    2022年4月7日
    61
  • Java 构造函数特点「建议收藏」

    Java 构造函数特点「建议收藏」(1).一般函数是用于定义对象应该具备的功能。而构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初始化内容。(2).构造函数是在对象建立时由jvm调用,给对象初始化。一般函数是对象建立后,当对象调用该功能时才会执行。(3).普通函数可以使用对象多次调用,构造函数就在创建对象时调用。(4).构造函数的函数名要与类名一样,而普通的函数只要符合标识符的命名…

    2022年6月17日
    20
  • spring boot 系列之八:SpringBoot处理定时任务

    项目经常会用到定时任务,springboot自然是可以通过整合相关组件来实现的。目前常用的定时任务的实现有两种:通过spring自带的定时器任务@Schedule来实现通过Quartz来实现

    2022年2月16日
    39
  • executeSql之执行增删改查「建议收藏」

    executeSql之执行增删改查「建议收藏」transaction.executeSql(sqlquery[],dataHandler,errorHandler);第一个参数为需要执行的Sql语句,比如要在表中插入内容executeSql(‘INSERTINTOMsgDataVALUES(?,?,?)'[],dataHandler,errorHandler)VALUES(?,?

    2022年5月11日
    38
  • JMeter做压力测试教程及结果分析

    JMeter做压力测试教程及结果分析一、测试工具:JMeter二、JMeter介绍:ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。三、Java环境的安装与配置:(1)因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境,oracle官网下载JDkht……

    2022年10月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号