matlab实验是啥,matlab实验心得体会

news/2024/7/1 5:38:08

matlab实验心得体会这个就是我自己做出来的,发现用soundsc听出来还行,但是用wavwrite就变的很难听。

后来发现PB写的很好,而且还能够把前面一段没有噪音的部分给保存下来,我就看了他的代码,有几点体会:

575c9dd60901c60760060f43d92d3337.png

1.将代码写在.m文件里,这样只需要该文件里的就可以而不必每次都去敲命令;

2.PB对于vector使用的'比较熟,我一开始也想到能不能只将后面一段由噪声的给滤掉而保留以前的,但是没想到什么方法,看了PB的代码发现,他对于vector了解的比较深刻,我上面的想法最后只使用一句代码就搞定了

3.对于噪声频率,一定要选准确,PB对每一段噪声只使用的一个频率,就将噪声滤干净了,我用了每段噪声附近的几个波形还没有得到理想波形,最后我发现我选的中心频率和PB的只相差10~25赫兹,所以一定要精确,后来WH又试了一下,只发现改变5HZ的频率都不行

4.加入团队以来,尤其是加入种子班之后就一直告诫自己要时刻抱着一个学习的心态,对于任务不要只是敷衍,完成就好,而是自己一定要从中学到东西,而且在这个过程中一定要逐步掌握自己的学习方法,但是就是这个Matlab,我就是在敷衍了事,所以没有什么事情是可以敷衍的,学习发生在每时每刻,不能因为这是必上的课程而自己没有兴趣就蒙混过关,应该利用这个机会锻炼自己,积极起来,改变自己懒惰的弱点。

PS:附上修改后的代码

%get the samples rate and vector of the wave

[xx, fs] = wavread('SunshineSquare');

xx = xx';

specgram(xx, [], fs);

%^get the A from the frequencies of the noises

fnoise = [0 1575 3150 4725];

ww = 2*pi*fnoise/fs;

A = -2*cos(ww);

%seperate the wave based on the tone "du"

leng = length(xx);

du = floor((7.749/10.791)*leng);

%determine the h[n] of correspond noise

hh = [1 A(1) 1];

for i = 2:4

hh1 = [1 A(i) 1];

hh = conv(hh, hh1);

end

%filter the noise

yy = filter(hh, 1, xx);

%delete the tone "du"

yy(du - 65 : du + 65) = 0;

du = floor(10.751/10.791*leng);

yy(du - 100 : du + 80) = 0;

figure(2);

specgram(yy, [], fs);

wavwrite(yy,fs,32,'filter1');

%replace the wave which has been filtered with the good part

du = floor((7.749/10.791)*leng);

yy(1:du)=xx(1:du);

%delete the tone "du"

yy(du - 65 : du + 65) = 0;

du = floor(10.751/10.791*leng);

yy(du - 100 : du + 80) = 0;

%paint the picture and play it

figure(3);

specgram(yy, [], fs);

soundsc(yy,fs);

wavwrite(yy,fs,32,'filter2');


http://lihuaxi.xjx100.cn/news/242529.html

相关文章

explicit specialization of ‘Race‘ after instantiation ,implicit instantiation first required here。

报错1&#xff1a; E:\project\qt\Pokemon3\PokemonServer\pokemon.cpp:470: error: specialization of ‘Race::Race() [with int N 0]’ after instantiation Race<0>::Race() : PokemonBase(ATK) ^ 报错2&#xff1a; explicit specialization of ‘Race’ after ins…

JSP显示页面和数据库乱码

页面 和 数据库编码都是UTF-8&#xff0c;但就是奇怪。 指定Tomcat的编码为UTF-8 就行了

Atitit.提升 升级类库框架后的api代码兼容性设计指南

Atitit.提升 升级类库框架后的api代码兼容性设计指南 1. 增加api直接增加&#xff0c;版本号在注释上面增加1 2. 废弃api&#xff0c;使用主见dep1 3. 修改api&#xff0c;1 4. 修改依赖import&#xff0c;雅瑶增加文件模式。保持兼容性。。1 5. 优先选择同一个文件内的修改&am…

web前端培训:本期教程CSS 三大特性

CSS 有三个非常重要的三个特性&#xff1a;层叠性、继承性、优先级&#xff1a; 1. 层叠性 相同选择器给设置相同的样式&#xff0c;此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突的问题。 层叠性原则&#xff1a; 样式冲突&#xff0c;遵循的原则是就近…

kerberos java实现,基于kerberos实现jaas登录

这段时间在做hadoop和kerberos的整合&#xff0c;顺便看了jaas和kerberos&#xff0c;这里给出使用kerberos登录模块的jaas例子。前提条件1.kerberos已经安装&#xff0c;principal已经创建&#xff0c;这里用的principal是已经建好的nn/adminpsy.com;2.客户端配置了kerberos&a…

讲座记录:从码农到架构师(精简版)

1.框架学习 不要过于在乎细节 学封装思想 不追新 否则太累 每个框架的设计理念不同 spring 比structs 优秀在哪&#xff1f; 关注增量而非全量 2.如何快速学习一门新技术 “新框架的产生速度远大于个人的学习速度” 先快速学习:了解模板&#xff0c;套路-重复出现的代码 类似做…

SpringMVC 返回json

1.页面传递json数据&#xff0c;ajax传递 jsp <script type"text/javascript">$(document).ready(function(){$("#add").click(function(){var userName $("#userName").attr("value");var age $("#age").attr("…

Java3大框架的学习都是什么

java是互联网行业的第一编程语言&#xff0c;相信大家都已经有了解了&#xff0c;事实也确实如此&#xff0c;java还是世界第一编程语言&#xff0c;在java培训学习的过程中&#xff0c;框架是程序员们必学的知识点&#xff0c;而且是十分重要的应用&#xff0c;Spring、Struts…