matlab中sound函数中取样频率变化了为什么声音也变了?

我写了一个程序用来尝试使用sound函数clcclearallFs=32768;%取样频率Fs1=55000;%取样频率测试1t=0:1/Fs:0.25;fr=697;y... 我写了一个程序用来尝试使用sound函数
clc
clear all
Fs=32768;%取样频率
Fs1=55000;%取样频率测试1
t=0:1/Fs:0.25;
fr=697;
y=sin(2*pi*fr*t);
sound(y,Fs1);%Fs1变换则声音变了
如果我sound函数是写sound(y,Fs),那么只要我Fs给得足够大,声音就一直是不变声调的。但是如果我用Fs1,我给的Fs1的值不同声音也不同了。Fs1大,就声调高。Fs1不是取样频率吗?只要取得足够大就不会失真,应该和原来的声音应该没什么关系才对啊。为什么会这样?谢谢!
展开
 我来答
fengyeyuanlin
2014-11-11 · TA获得超过1504个赞
知道小有建树答主
回答量:475
采纳率:60%
帮助的人:210万
展开全部
y相当于是你在0.25s录好的声音,在调用sound函数时你要用Fs作为参数,相当于正常速度录正常速度放,若改成Fs1相当于正常速度录而快速播放,反之当选择比Fs小的数时,相当于慢放,因此录放速度不同都会产生变调,它们直接控制声卡的输出速度。
追问

是不是这样理解,Fs增大,则图上取到的离散的点变密了。但是还想问问取Fs1的时候,这个图会变成什么样?为什么会造成快速播放的效果?

追答
1、快播是因为声卡每秒输出的数据点数多了,你可以在命令窗口依次执行sound(y,Fs*2)  sound(y,Fs) sound(y,Fs/2) sound(y,Fs/20)测试一下声音持续的时间和声效。
当然声卡在输出声音时已经做了DAC,即其中包含数据内插和滤波,变调有滤波的影响。

2、若对一个已知波形进行采样,提高采样率,单位时间内得到的样点数肯定会增加,所以黑点会加密

clc
clear all
Fs=32768;%取样频率
Fs1=55000;%取样频率测试1
t=0:1/Fs:0.25;
fr=697;
y=sin(2*pi*fr*t);
t1=0:1/Fs1:0.25;
fr=697;
y1=sin(2*pi*fr*t1);
figure
subplot(211)
stem(t,y,'.')
hold on
plot(t,y,'r-.')
subplot(212)
stem(t1,y1,'.')
hold on
plot(t1,y1,'r-.')
执行完上述代码后,在执行下面的代码
subplot(211)
axis([0 0.0015 -1 1])
subplot(212)
axis([0 0.0015 -1 1])
samsaralw
2015-08-28 · TA获得超过1184个赞
知道小有建树答主
回答量:907
采纳率:85%
帮助的人:128万
展开全部
声音是一种波,不同的频率组成的波不一样,体现出来就是声音会不一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式