自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 visdom启动问题:filenotfound[Error 3]

提示找不到文件,在filenotfound[Error 3]后面提示的路径下新建一个.visdo文件就可以解决问题。

2022-10-14 10:38:55 136 1

原创 高斯白噪声通过一阶AR模型matlab仿真

上谱估计课程的时候接触了一点AR模型和相关知识,但当时只会用matlab已经有的函数去估计现有信号的功率谱,不知道怎么获取通过AR模型的信号。好傻啊,之前一直想着是不是matlab有什么工具箱函数之类的可以直接产生通过AR模型的信号,甚至还花钱下载了别人的代码,结果也没啥用...还是得靠自己。一阶AR模型可以表示为,当a的绝对值小于1的时候,表示信号是平稳的,u(t)表示高斯白噪声。%% 高斯白噪声通过一阶AR模型clear all;close all;clc;N=10.

2021-09-26 15:22:32 1390 1

原创 JAVA数据结构双向链表

仅作为个人学习记录~双向链表和单向链表的最大差别就是在插入和删除操作的时候要考虑头尾结点是否为空。package basic.practic;public interface MyList { public int getSize(); public boolean isEmpty(); public void insert(int i,Object e); public boolean contains(Object obj); public int

2021-08-30 19:54:47 99

原创 动力结点JAVA数据结构与算法之单向链表

仅作为个人学习记录使用~链表作为顺序表的链式存储一种实现方式,和顺序存储(数组)的实现相比要复杂一些,要想实现数组的存储首先需要对数组进行初始化,并且要设定好数组的容量,一旦容量不足就必须进行扩容操作。在单向链表中则不同,首先链表不需要像数组一样进行初始化,只需要指定头结点,一旦头结点设定好了,只需要在尾部进行插入操作就可以。要注意的是,链表的插入等操作必须依靠当前节点的前后两个节点,而前后节点的确定一定是从头结点开始,用指针一步一步往后移动。package basic.practic;pub

2021-08-30 13:45:08 115

原创 SQLyog错误提示2002,Can‘t connect to MySQL server on ‘localhost‘

昨天还能正常使用SQLyog,早上来电脑开机之后就发现SQLyog无法正常启动,出现如上所示提示符。直接上解决办法吧~1、以管理员身份打开命令提示符2、由于我的mySQL是安装在D盘的,所以先输入d:替换到d盘,此时命令行为---D:3、找到D盘中安装mySQL的bin路径并输入----D:\mysql\bin,回车(这里一定要找到自己安装路径的bin路径)4、命令行中输入mysqld --remove------D:\mysql\bin>mysqld --remove回车

2021-08-23 14:13:12 11763 9

原创 JAVA:两个人分别向同一个账户分三次存3k,每次存1k,打印每次存完钱之后的余额

class Accout implements Runnable{ private int accout=0; private ReentrantLock lock=new ReentrantLock(); public void run(){ try{ lock.lock(); for(int i=0;i<3;i++){ accout=accout.

2021-08-17 14:02:57 70

原创 JAVA:初识反射

仅作为个人学习记录~小白的简单理解JAVA的反射机制:在JAVA运行状态中,对于任意一个类,都能知道这个类所有属性和方法,对于任意一个对象,都能调用它的任意一个属性和方法,这种动态获取信息以及动态调用对象的方法的功能就成为JAVA语言的反射机制。Q1:为什么要叫反射呢?A1:在程序运行的时候,每当创建一个新的对象,就会相应的在内存空间为这个对象开辟一些内存空间。但同时,在开辟这个内存空间的时候,也会开辟一个Class对象,这个Class对象里面就装了一些关于新建对象所属的类的信息,通过这个Cla

2021-08-15 16:12:26 85

原创 JAVA:构建子类对象时的顺序问题

个人学习记录,不保证正确~在java语言中,继承是一个非常重要的概念,当创建一个子类对象时,首先会调用父类的构造方法,再调用子类的构造方法。//尝试创建一个父类和子类,分别创建构造方法,然后向父类和子类添加成员变量和方法,并总结构建子类对象的顺序public class interfaceTest{//定义一个父类 int father1;//父类的成员变量 public interfaceTest(){ System.out.println("父类的构造方法")

2021-08-09 10:31:35 578

原创 JAVA:多态基础知识

仅作为个人学习记录~多态:一个对象具有多种形态。通常指的是运行时多态。存在的前提:必须有继承关系多态的种类:编译时多态、运行时多态在区分多态的两种不同类型之前有必要先了解编译类型和运行类型的概念。编译类型是指在声明变量时所使用的类型(赋值式左边),运行类型是由实际赋给该变量的对象所决定的(赋值式右边)。如Person p=new Student;p.study();引用变量p的编译类型就是Person,运行类型就是Student。当编译类型和运行类型不一致时,就出现所谓的多态。JAVA在编译

2021-08-08 21:28:17 103

原创 JAVA:类和对象基础知识

个人学习记录~JAVA是一种面向对象的编程语言,类是封装对象的属性和方法的载体,定义了对象所具有的功能对象:静态部分和动态部分静态部分就是不能改变的部分,一般被称为属性;动态部分指的是对象可以完成的事情,具备的行为;类就是一类事物的统称,对象就是符合某个类的定义所产生出来的实例。JAVA语言中,对象的属性是以成员变量的形式定义的;对象的行为是以方法的形式定义的;面向对象的程序设计特点:封装性(核心)、继承性、多态性封装性:只需要知道怎么用,无须知道具体怎么实现继承性:子类继承父类的共.

2021-08-07 12:18:37 72

原创 数组经典排序算法JAVA实现

数组的一些常用排序算法1、经典的冒泡排序;2、选择排序;直接选择排序是排序的一种实现,排序速度比冒泡更快,交换次数比冒泡更少排序原理:从乱序的数组中取出第一个数,将它和数组中其他的元素相比较,将最大的一个数保存在最后;然后取出第二个数,将它和除去最后一个数的所有数作比较,将最大的一个数保存在倒数3、快速排序;基本思想:1先从数列中取出一个数作为基准数,2把比这个数大的放在它的右边,小于或者等于它的数放在它的左边,3再对左右区间重复第2步操作4、反转排序:以相反的顺序把原有数组的内容重新排序.

2021-08-06 19:09:21 109

原创 JAVA实现输出一个菱形(for循环实现)

大佬请略过~仅作为个人学习笔记~package basic;/*语法:1、for(初始化;循环条件;循环后操作表达式,修正变量){循环体}在编程中,有时会使用for循环的无限循环形式2、for(;;){...},可以用break来跳出循环3、foreach语句语法:for(元素变量x:遍历对象obj){...} */public class for_grammer { public static void main(String[] args) { /* ..

2021-08-06 10:43:32 2912 2

原创 子带自适应滤波算法(SBLMS)回波消除

个人理解,仅供参考!前面的仿真直接用外部输入信号实现的自适应算法虽然简单容易实现,但是当输入信号是相关性比较高的语音信号时,自适应算法的收敛速度会明显变得比较差。子带自适应滤波器在进行自适应滤波之前将通过滤波器组将输入信号(远端信号及麦克风收集到的回声信号和近端噪声)进行分割并抽取,通俗来讲每个子带内的信号比较均匀,避免了全带信号特征值较大容易发散的缺点,使得各个子带中进行自适应滤波的数据信号具有更低的相关性,从而加快了自适应滤波器的收敛速度。注意,自适应过程是在进行频带分割之后的信号块之间用自适应算法

2021-08-04 13:20:42 2044 63

原创 仿射投影算法(APA)回声消除

提出原因:因为语音信号是非平稳、强相关的信号,NLMS算法在处理此类信号时,反馈抑制的性能和稳定性较差,为了克服输入信号相关性的影响,有学者提出了仿射投影算法(APA),APA是NLMS算法的多维推广,重复使用输入信号,在输入数据具有强相关性的情况下提高算法的收敛速度。与LMS算法一样,需要选择合适的步长来取得收敛速度和稳态误差之间的折中。(变步长的APA算法可以解决这个问题)。具体的算法过程公式就不打啦~LMS算法是点式更新,计算简单收敛性差;仿射投影是数据块更新。块更新比点更新使用更多的数据,利用的

2021-08-03 14:18:57 2106 7

原创 MATALB导入.mat文件时遇到的问题(未定义变量)

声明:只是为了个人记录所用,各位大佬可略过~~总结:导入不成功在于没有区分文件名和变量名,保存.mat文件时的文件名是h2,并不代表里面的变量名是,实际操作也证明文件中实际的变量名是lmp和 par,要想让文件名和变量名相同只需要重命名再覆盖原.mat文件就可以顺利导入啦~我的.mat文件是由其他软件生成的冲激响应的数据,目标是把该数据导入,能用作滤波。刚开始的时候使用最简单的load,把h2.mat导入,运行时发现观察工作区可以看到,导入工作区的变量分别是lmp和par,点击.

2021-08-01 15:19:53 1733

原创 LMS、NLMS实现声回波对消

自适应算法中最经典的就是LMS算法啦,但是鉴于固定的收敛因子,造成高收敛速度和低稳态误差不可兼得,所以一般用NLMS(某种程度上可以看做变步长LMS算法)或者其他的变步长LMS算法比较多。所以在开始复杂的变步长LMS算法和其他的自适应算法之前先进行LMS和NLMS算法的仿真吧~简单的仿真过程体会一下下~从整体上来看,自适应回声消除输入信号为远端参考信号x(n),期望信号是d(n)=x(n)*h(n)+v(n),其中h(n)是未知声回授空间的冲激响应,w(n)是自适应过程中用来迭代的权值,使得系统的输出y

2021-07-29 19:59:09 1080 1

原创 关于声回波对消(回声消除)的一些个人的非严谨粗糙认识

声回波(回声)现象:从听筒里听见自己的声音的一种现象。可以分成声学回声和电路回声,声学回声是指从话筒发出的话音经过房间等通道传播后又被麦克风捕捉传送进通话通道,再被话筒播放出来的声音。声学回声具有时变不稳定、时延长的特点,还可能产生啸叫,影响通话质量,在现实生活中,会议通话或车内免提通话时,都具有严重的声学回声现象。为了消除声学回声,最常用的方法就是自适应消除。对声回授通道所在的空间自适应地跟踪其性能特点,最大限度的抑制声回授通道引起的啸叫。声回波的产生模型:原理:通话双方分处于远端和近端远

2021-07-27 11:16:39 849

原创 MATLAB中利用awgn加噪

rand():生成在(0,1)之间均匀分布的伪随机数;randn():生成在(0,1)之间标准正态分布的伪随机数,强度为1;之前的学习我都比较爱用randn()函数来产生随机噪声加到原始纯净语音上,通常先设定信噪比SNR,再根据noise_power=signal_power/SNR,v(n)=sqrt(noise_power)*randn(1,N),一系列操作才能把符合要求的噪声写出来(啊我太菜了救命,之前不知道可以用awgn()便捷加噪,或者看见了也选择忽略...)awgn()函数y=a

2021-07-26 11:58:08 1660

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除