用MATLAB怎么产生扫频信号,matlab如何定义声音voice
用MATLAB怎么产生扫频信号
1、你的信号发生函数有点问题。
2、按f1-f2 f1-f2播放,f2到f1在时域上是截断的,有个冲击,必然会产生哒哒的声音。
3、一种解决办法是f1-f2 f2-f1, 还要保证时域没有截断,时域上要细心处理下,主要是相位。
4、还有可以在f1-f2 f1-f2播放,但是过渡的时候加窗 上面你用的是sweep sine也就是扫频信号,你可以用chirp信号,chirp先在频域产生所需的频点,相位特别处理,再ifft到时域,这样生成的信号也是时域上没有截断的。
5、chirp信号不能参考matlab的chirp,matlab的chirp就是sweep sine。
6、另外你f1-f2是多少?人听不到?超出了20k?
chirp函数用法
1、t = 0:0.01:3; % 3 secs @ 100Hz sample rate
2、y = chirp(t,2,10,20);
3、plot(t,y)
4、figure;
5、stem(t,y)
matlab如何定义声音voice
1、可以用matlab函数sound实现。
2、该函数的输入参量是音频数据向量、采样频率和转换位数。
3、 我们可以自己写些声音数据。
4、下面的声音声调和频率有关,长度和数据长度有关: 例如: sound(sin(2*pi*25*(1:4000)/100)); 响两声就是: sound(sin(2*pi*25*(1:4000)/100)); sleep(1); sound(sin(2*pi*25*(1:4000)/100))
5、; MATLAB也自带了很多声音:
6、 %鸟声 load chirp sound(y,Fs) %锣声 load gong sound(y,Fs) %哈里路亚 load handel sound(y,Fs) %笑声 load laughter sound(y,Fs) %啪哒声 load splat sound(y,Fs) %火车 load train sound(y,Fs)
声明:图文来源于互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系网站客服,一经查实,本站将立刻删除。